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
DSDM – DSDM Consortium website
Journals
International Journal of Agile and Extreme Software Development
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.