Print this page Print this page

Agile Software Development

Warren T. Jones, Ph.D., P.E.


Course Outline

This course introduces the agile approach to software development that is becoming increasingly popular. An overview of the history and basic elements of the Agile Manifesto are given as well as an overview of seven examples of agile methods: Extreme Programming, Scrum, Crystal Methods, Feature Development, Lean Development, Dynamic Systems Development and Agile Modeling. Guidance is given as to when these methods might be appropriate and resources are given for further study.

This course includes a multiple-choice quiz at the end, which is designed to enhance the understanding of the course materials.


Learning Objective

At the conclusion of the course, the student will:

Intended Audience

This course is intended for all engineers, architects and land surveyors.

Benefit for Attendee

Attendee of this course will be able to evaluate the potential value of Agile Methods and when they are appropriate for software development applications.

Course Introduction

Agile Methods are a reaction to the traditional methods of software engineering and are seen as an alternative to its heavyweight processes.  The foundations on which these methods are based are expressed in the Agile Manifesto in the following four statements: Valuing individuals and interactions over processes and tools; valuing working software over comprehensive documentation, valuing customer collaboration over contract negotiation; responding to change over following a plan. This course traces the origins and history of this movement, reviews agile methods and provides guidelines for their use. 

Course Content

The content of this course is the following DOD report:

David Cohen, Mikael Lindvall and Patricia Costa, “Agile Software Development : A DACS State-of-the-Art Report”, DOD Data & Analysis Center for Software report DACS-345473.

Agile Software Development : A DACS State-of-the-Art Report

Please read from page 1 through page 46. You will notice this report also contains some appendices that may be of interest to you as follow-up information to this course, but they are not part of the content of this course.

Course Summary

This course has provided an overview of Agile Software Development Methods including case studies to illustrate the State-of-the-Practice. Since agile methods have emerged as an alternative to traditional software engineering, guidelines for when these methods are appropriate are given. A list of resources is also given for those who wish to add to their knowledge of this field.

Related Links

For additional technical information related to this subject, please visit the following website:

Major Conferences

Agile Alliance – Sponsors of an annual agile conference

Agile Business Conference – Europe’s Premier Agile Event

Websites for Agile Methods

Extreme Programming

Crystal Methodologies

Scrum Resource

FDD Process

DSDM – DSDM Consortium website

Agile Modeling

Lean Development

Journals

International Journal of Agile and Extreme Software Development

 Agile Journal

Books

Cohn, Mike, Succeeding with Agile: Software Development Using Scrum, Addison-Wesley, 2009. (Kindle version available)

Crispin, Lisa and Janet Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams, Addison-Wesley, 2009, (Kindle version available)

Highsmith, Jim, Agile Project Management: Creating Innovative Products (2nd Edition), Addison-Wesley, 2009 (Kindle version available)

Langr, Jeff and Tim Ottinger, Agile in a Flash: Speed-Learning Agile Software Development, Pragmatic Bookshelf, Crds Edition, 2011.
This is not a book but a set of 50 flash cards designed to cover almost all aspects of agile development.

Leffingwell, Dean, Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise, Addison-Wesley, 2011.

Martin, Robert C., Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008.

Rasmusson, Jonathan, The Agile Samurai: How Agile Masters Deliver Great Software, Pragmatic Bookshelf, 2010.

Tools

Serena – includes tools such as task boards, sprint backlogs and Agile Planner for supporting agile development.

Atlassian – tools for agile projects including project management, testing, agile collaboration, continuous integration and code reviews.

Agile Development Tools – information on agile development tools.

Quiz

Once you finish studying the above course content, you need to take a quiz to obtain the PDH credits.

Take a Quiz


DISCLAIMER: The materials contained in the online course are not intended as a representation or warranty on the part of PDH Center or any other person/organization named herein. The materials are for general information only. They are not a substitute for competent professional advice. Application of this information to a specific project should be reviewed by a registered architect and/or professional engineer/surveyor. Anyone making use of the information set forth herein does so at their own risk and assumes any and all resulting liability arising therefrom.