180 likes | 540 Views
Agile Methodologies in DoD Software. By Cynthia Johnson. Purpose. Examine history of DoD software development standards Explore various Agile methodologies Assess suitability of Agile methods for DoD use. History of DoD standards. 1978 – Mil-Std-1679 1983 – Mil-Std-1679A
E N D
Agile Methodologies in DoD Software By Cynthia Johnson
Purpose • Examine history of DoD software development standards • Explore various Agile methodologies • Assess suitability of Agile methods for DoD use
History of DoD standards • 1978 – Mil-Std-1679 • 1983 – Mil-Std-1679A • 1985 – DoD-Std-2167 • 1988 – DoD-Std-2167 • 1994 – Mil-Std-498 • 1998 – IEEE 12207
Agile Programming Methods • In 2001, the advocates of several “light” methodologies got together and created the “Agile Manifesto” • Actually consists of several different methods of software development • Manifesto concentrates on the similarities not the differences.
Agile Manifesto • We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • Individuals and Interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation. • Responding to change over following a plan • That is, while there is value in the items on the right, we value the items on the left more.
Agile Commonalities • Agility • Change • Planning • Communication • Learning
Agility • Move quickly but decisively • React to changing situations with speed and grace
Change • Change is accepted and welcomed • Traditional methods treat change as the enemy and often try it in the court of the Change Control Board.
Planning • When situation is not as planned, this is treated as new information • The plan is changed to reflect the new reality • Traditional methods see this as risk and attempt to get back on original plan.
Communication • Face-to-face communication is valued over documentation • Traditional methods treat documentation as main form of communication • This sometimes work but often doesn’t.
Various Agile Methods • Extreme Programming (XP) • Scrum • Agile Modeling • Adaptive Software Development • Feature Driven Development • Lean Software Development
Extreme Programming • First conceived by Kent Beck in 1990’s when developing a payroll system for Chrysler. • The primary goal is to reduce the cost of change by introducing values, principles and practices.
XP values • Communication • Feedback • Courage • Simplicity • Respect
Scrum • Began in 1993 at Easel Corporation • Sports oriented- named after rugby scrum. • This is a way to restart the game after an accidental infringement • Small teams are led by a Scrum master • Software is developed in Sprints.
Agile Methodologies and the DoD • Some newer projects are experimenting with agile methods at big players • Lockheed-Martin is prime on Army’s Live Training Transformation project (LT2) where Scrum is being used for framework software.
Image Problems • DoD contracts generally call for a long list of documentation known as CDRL’s • Many DoD managers see the Agile Manifesto and decide immediately not to try it due to statement “Working Software over Comprehensive Documentation” • Also, most companies will not accept a verbal change over a written contractual obligation.
Education is Key • Agile methods do downplay documentation, but don’t exclude it. • Verbal communication is favored, but written is not ignored. • DoD engineers and managers and acquisition managers need to study and understand agile methods before dismissing them.
Conclusion • Agile methods are not a magic bullet to solve all software problems. • They have proven beneficial on small and medium sized projects • Each organization and project whether DoD or commercial needs to assess their requirements and choose the best method for them. • Scrum could be right for some, Iterative waterfall for others • Flexibility and knowledge are keys to choosing correct development method.