Presentation on theme: "Documentation in Agile Development"— Presentation transcript:
1 Documentation in Agile Development Christina GuJason LeeStephen Smith
2 Agenda Background Problem Statement Methodology Agile Overview Literature SearchCase StudiesScrum Agile Document Development Framework (S.A.D.D.)DoD’s effort to embrace AgileConclusion and RecommendationWebsiteReferenceQuestions?
3 BackgroundThe current economic situation is driving contractors to look at more lean operating methods for project development.Especially true for government contractors working with the Department of Defense.One method pursued is to switch from a waterfall model to the more lean Agile method.Figure 1: Defective and Wasteful Requirements in Traditional Development Process 
4 Problem Statement Sponsor: Boeing Problem statement: Deliverables: Is Agile sufficient for satisfying documentation needs on DoD mission-critical systems?How is documentation impacted by adopting an Agile methodology?Deliverables:Report on Agile’s ability to meet documentation needs with a framework developed for documentation generation.
5 What is a mission critical system? Systems critical to DoD’s ability to meet its responsibilities and include command and control systems, satellite systems, inventory management systems, transportation management systems, medical systems and equipment, and pay and personnel systems
6 Documents of primary interest Milestone Review (Per DoD 5000)Documentation of RelevanceSRRSSS – System/Subsystem SpecificationSRS – Software Requirements SpecificationIRS – Interface Requirements SpecificationPDRSSDD–System/Subsystem Design DescriptionSDD – Software Design DescriptionIDD – Interface Design DescriptionCDRTEMP- Test and Evaluation Management PlanSEP- System Engineering PlanFigure 2: Technology or Initiative Transition to Program of Records (MITRE, 2010)
7 Methodology Literature research Case studies Ideas behind the Agile method and how it impacts documentationExisting methods for generating documentation in AgileCase studiesInterview various companies with regards to projects using Agile.A look at the approach to documentation used in each of the projects.
8 What is AgileA set of software best practices strung into an official set of principles in 2001 as the Agile Manifesto.Principles of Agile:Individual and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationRespond to change over following a plan
9 Key Aspects of any Agile Methodology Agile MethodologiesIterativePlanned modification of parts of the system. Assists with modification of design and requirementsIncrementalDevelop parts of the system separately and integrate. Assists with improving overall methodologySelf-OrganizingThe team has the responsibility of organizing its internal dynamics.EmergentThe set of tools, techniques, development environment, and requirements emerge in the process
10 Agile Misconception Agile is a “Pizza Box” Methodology Agile is an All-or-Nothing MethodologyTraditional Development is InferiorBecoming Agile Only Affects the Developers
11 Scrum Agile Key Components of Scrum Agile: Origins of Scrum Cross-Functional TeamsProduct BacklogTimeboxed Development IterationsEnd of CycleOrigins of ScrumJapanese OR AdvancementsIncremental Development in the U.S.Object Oriented technologies in software
13 Traditional Systems Engineering Documents Generation Traditional Systems Engineering Document Generation vs. Agile Systems EngineeringTraditional Systems Engineering Documents GenerationAgile Systems Engineering Document GenerationSRRREQUIREMENTS -->SRS, IRS, SSS, etc.SDRSystem Design Review --> SEMPPDRPreliminary Design Review -->SDD, IDD, etcCDRCritical Design Review --> SEP, TEMP
14 DoD’s Effort to Embrace Agile The DoD is in the process of changing its Defense Acquisition Guideline to better serve Agile Software System DevelopmentFigure 3: MITRE’s suggested DoD IT Acquisition Process 
15 Principles of Agile Documentation Generate “just enough” documentationShould satisfy the objectives of the use for the documentation.Do not generate if not planning to be used.Used to transfer knowledge in the team and between teams.Agile tends to keep knowledge within the team.Knowledge transfer is essential for add-on projects
16 Two Approaches to Documentation in Agile Method 1: Adapted AgileUse DoD standards as binding constraints to the Agile effort.Documentation must be generated to support periods of customer reviewsFull and complete documentation expectedPlan a full documentation update with each appropriate iteration with emphasis on the last iteration to generate complete deliverable documents.Ideal for contracts already in work with waterfall style program management.
17 Two Approaches to Documentation in Agile Method 2: Aligned AgileDocumentation is generated as needed during the Agile implementation.Customer understanding of the differences in Agile method is essential.Customer must agree to less documentation that is generated only to meet documentation objectives.In-progress reviews and supporting documentation are also broken down to match better with shorter development iterations.Ideal when terms of documentation can be negotiated with the customer.Suggested for company-wide migration towards the use of Agile methods.
18 Project Case 1 Raytheon Method: Scrum Agile Documentation method: Adapted AgileSize of Project: 6 monthsNotes: emphasis on generating documentation to meet customer review dates, heavy on documentation updates on the last iteration
19 Project Case 2 MITRE Method: Hybrid Scrum Agile Documentation method: Adapted AgileSize of project: 3 yearsNotes: Used a requirements governance council. Phased project according to spiral development ideas but fit with Agile development on every spiral.
20 Project Case 3 MITRE Method: Hybrid Scrum Agile Documentation method: Aligned AgileSize of project: 1 yearNotes: Most documentation was done after the fact to reflect the true state of the system and to reduce rework on documentation. Placed heavy emphasis on labeling documentation as complete only if it can transfer knowledge to a team that has not previously worked on project.
21 Project Case 4 MITRE Method: Hybrid Scrum Agile Documentation method: Aligned AgileSize of project: 2 years with 4-week long sprint cyclesNotes: Used a requirements committee to continuously align with customer needs. Heavy emphasis on documenting requirement changes.
22 Key Concepts of the Framework Designed to align with Scrum AgileIntegrates to become a seamless part of Scrum AgileThe Core Concept:Definition of Done
23 Framework Detail (1 of 2) Examine Required Documents Perform detailed analysis of projects documentation requirements defined by stakeholdersFinalize Contract AgreementReflect any changes/additions and finalize contract in terms of documentation requirementsDevelop Product BacklogAdd relevant tasks associated with documentation to Product Backlog
24 Framework Detail (2 of 2) Sprint End of Cycle Review Work on document(s)End of Cycle ReviewEvaluate completed work on document against definition of done. Present current work to stakeholders for review. If completed, handle accordingly, if not, prep for next sprint.
25 ConclusionsThe Agile methodology can be used to satisfy documentation needs for mission-critical software development for the department of defense with some modifications from its pure form.Customer interaction and acknowledgement of the differing needs for documentation using Agile is key.
26 WebsiteFor more information please visit our website at:
27 ReferenceLarson, E., Peters, J. Preparing the U.S. Army for Homeland Security: Concepts, Issues, and Options, Issue RAND Corporation, 2001.D. K. M. R. B. M. C. Carlton Northern, Handbook for Implementing Agile in Department of Defense Information Technology Acquisition, The MITRE Corporation, 2010.Standish Group. (2010). Chaos summary Boston, MA: Author.Session R. (2009). The IT complexity crisis: Danger and opportunity, Houston, TX: Object Watch.Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., et al. (2001). Manifesto for Agile Software Development. Accessed April 24, 2013.
28 Reference- cont.Scrum Is an Innovative Approach to Getting Work Done. The SCRUM Alliance (2010) Accessed April 27, 2013.Burton, D., Hammons, C., Lapham, M., Schenker, A., Williams, R. (2010) “Considerations for Using Agile in DoD Acquisition.” Accessed March 19, 2013.I. G. Stamelos and P. Sfetsos, Agile Software Development Quality Assurance, Idea Group Inc (IGI), [also steve figure 1]C. G. Cobb, Making Sense of Agile Project Management: Balancing Control and Agility, John Wiley & Sons, 2011.P. Schuh, Integrating Agile Development in the Real World, Charles River Media, INC, 2005.
29 Reference- cont.K. S. Rubin, Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison-Wesley, 2012.Ralph Hughes and the Ceregenics Data Management Team, Agile Data Warehousing, Delivering World-Class Business Intelligence Systems using Scrum and XP, iUniverse, 2008.Forward, A. (2002) Software Documentation – “Building and Maintaining Artifacts of Communication,” Accessed March 30, 2013.DAGS (Defense Acquisition Management System), Enclosure 2 of DoD Instruction , Operation of the Defense Acquisition System, Defense Acquisition GuidebookDr Steven J. Hutchison, Achieving Enterprise Agility in DoD IT Acquisition, 2010
30 Reference- cont.K. A. Saleh, Software Engineering, J. Ross Publishing, 2009.R. Mall, Fundamentals of Software Engineering, PHI Learning Pvt. Ltd., 2009.D. Panchal, "Scrum Alliance," 03 September [Online]. Available: [Accessed 27 April 2013].Scrum Alliance, "Scrum Alliance, Transforming the World of Work," [Online]. Available: [Accessed 4 April 2013].