18
1 Agile Methodologies Agile Methodologies in DoD Software in DoD Software By By Cynthia Johnson Cynthia Johnson

1 Agile Methodologies in DoD Software By Cynthia Johnson

Embed Size (px)

Citation preview

Page 1: 1 Agile Methodologies in DoD Software By Cynthia Johnson

11

Agile Methodologies Agile Methodologies in DoD Softwarein DoD Software

ByBy

Cynthia JohnsonCynthia Johnson

Page 2: 1 Agile Methodologies in DoD Software By Cynthia Johnson

22

PurposePurpose

Examine history of DoD software Examine history of DoD software development standardsdevelopment standards

Explore various Agile methodologiesExplore various Agile methodologies Assess suitability of Agile methods for Assess suitability of Agile methods for

DoD useDoD use

Page 3: 1 Agile Methodologies in DoD Software By Cynthia Johnson

33

History of DoD standardsHistory of DoD standards

1978 – Mil-Std-16791978 – Mil-Std-1679 1983 – Mil-Std-1679A1983 – Mil-Std-1679A 1985 – DoD-Std-21671985 – DoD-Std-2167 1988 – DoD-Std-21671988 – DoD-Std-2167 1994 – Mil-Std-4981994 – Mil-Std-498 1998 – IEEE 122071998 – IEEE 12207

Page 4: 1 Agile Methodologies in DoD Software By Cynthia Johnson

44

Agile Programming Agile Programming MethodsMethods

In 2001, the advocates of several “light” In 2001, the advocates of several “light” methodologies got together and created methodologies got together and created the “Agile Manifesto”the “Agile Manifesto”

Actually consists of several different Actually consists of several different methods of software developmentmethods of software development

Manifesto concentrates on the similarities Manifesto concentrates on the similarities not the differences.not the differences.

Page 5: 1 Agile Methodologies in DoD Software By Cynthia Johnson

55

Agile ManifestoAgile 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.

Page 6: 1 Agile Methodologies in DoD Software By Cynthia Johnson

66

Agile CommonalitiesAgile Commonalities

AgilityAgility ChangeChange PlanningPlanning CommunicationCommunication LearningLearning

Page 7: 1 Agile Methodologies in DoD Software By Cynthia Johnson

77

AgilityAgility

Move quickly but decisivelyMove quickly but decisively React to changing situations with speed React to changing situations with speed

and graceand grace

Page 8: 1 Agile Methodologies in DoD Software By Cynthia Johnson

88

ChangeChange

Change is accepted and welcomedChange is accepted and welcomed Traditional methods treat change as the Traditional methods treat change as the

enemy and often try it in the court of the enemy and often try it in the court of the Change Control Board.Change Control Board.

Page 9: 1 Agile Methodologies in DoD Software By Cynthia Johnson

99

PlanningPlanning

When situation is not as planned, this is When situation is not as planned, this is treated as new information treated as new information

The plan is changed to reflect the new The plan is changed to reflect the new realityreality

Traditional methods see this as risk and Traditional methods see this as risk and attempt to get back on original plan.attempt to get back on original plan.

Page 10: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1010

CommunicationCommunication

Face-to-face communication is valued Face-to-face communication is valued over documentationover documentation

Traditional methods treat documentation Traditional methods treat documentation as main form of communicationas main form of communication

This sometimes work but often doesn’t.This sometimes work but often doesn’t.

Page 11: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1111

Various Agile MethodsVarious Agile Methods

Extreme Programming (XP)Extreme Programming (XP) ScrumScrum Agile ModelingAgile Modeling Adaptive Software DevelopmentAdaptive Software Development Feature Driven DevelopmentFeature Driven Development Lean Software DevelopmentLean Software Development

Page 12: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1212

Extreme ProgrammingExtreme Programming

First conceived by Kent Beck in 1990’s First conceived by Kent Beck in 1990’s when developing a payroll system for when developing a payroll system for Chrysler.Chrysler.

The primary goal is to reduce the cost of The primary goal is to reduce the cost of change by introducing values, principles change by introducing values, principles and practices.and practices.

Page 13: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1313

XP valuesXP values

CommunicationCommunication FeedbackFeedback CourageCourage SimplicitySimplicity RespectRespect

Page 14: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1414

ScrumScrum

Began in 1993 at Easel CorporationBegan in 1993 at Easel Corporation Sports oriented- named after rugby Sports oriented- named after rugby

scrum.scrum. This is a way to restart the game after an This is a way to restart the game after an

accidental infringementaccidental infringement Small teams are led by a Scrum masterSmall teams are led by a Scrum master Software is developed in Sprints.Software is developed in Sprints.

Page 15: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1515

Agile Methodologies and Agile Methodologies and the DoDthe DoD

Some newer projects are experimenting Some newer projects are experimenting with agile methods at big playerswith agile methods at big players

Lockheed-Martin is prime on Army’s Live Lockheed-Martin is prime on Army’s Live Training Transformation project (LT2) Training Transformation project (LT2) where Scrum is being used for where Scrum is being used for framework software.framework software.

Page 16: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1616

Image ProblemsImage Problems

DoD contracts generally call for a long list of DoD contracts generally call for a long list of documentation known as CDRL’sdocumentation known as CDRL’s

Many DoD managers see the Agile Manifesto Many DoD managers see the Agile Manifesto and decide immediately not to try it due to and decide immediately not to try it due to statement “Working Software over statement “Working Software over Comprehensive Documentation”Comprehensive Documentation”

Also, most companies will not accept a verbal Also, most companies will not accept a verbal change over a written contractual obligation.change over a written contractual obligation.

Page 17: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1717

Education is KeyEducation is Key

Agile methods do downplay Agile methods do downplay documentation, but don’t exclude it.documentation, but don’t exclude it.

Verbal communication is favored, but Verbal communication is favored, but written is not ignored.written is not ignored.

DoD engineers and managers and DoD engineers and managers and acquisition managers need to study and acquisition managers need to study and understand agile methods before understand agile methods before dismissing them.dismissing them.

Page 18: 1 Agile Methodologies in DoD Software By Cynthia Johnson

1818

ConclusionConclusion

Agile methods are not a magic bullet to solve Agile methods are not a magic bullet to solve all software problems.all software problems.

They have proven beneficial on small and They have proven beneficial on small and medium sized projectsmedium sized projects

Each organization and project whether DoD or Each organization and project whether DoD or commercial needs to assess their requirements commercial needs to assess their requirements and choose the best method for them.and choose the best method for them.

Scrum could be right for some, Iterative Scrum could be right for some, Iterative waterfall for otherswaterfall for others

Flexibility and knowledge are keys to choosing Flexibility and knowledge are keys to choosing correct development method.correct development method.