Title: Documentation in Agile Development
1Documentation in Agile Development
- Christina Gu
- Jason Lee
- Stephen Smith
2Agenda
- Background
- Problem Statement
- Methodology
- Agile Overview
- Literature Search
- Case Studies
- Scrum Agile Document Development Framework
(S.A.D.D.) - DoDs effort to embrace Agile
- Conclusion and Recommendation
- Website
- Reference
- Questions?
3Background
- The 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
4Problem Statement
- Sponsor Boeing
- Problem statement
- Is Agile sufficient for satisfying documentation
needs on DoD mission-critical systems? - How is documentation impacted by adopting an
Agile methodology? - Deliverables
- Report on Agiles ability to meet documentation
needs with a framework developed for
documentation generation.
5What is a mission critical system?
- Systems critical to DoDs 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
6Documents of primary interest
Milestone Review (Per DoD 5000) Documentation of Relevance
SRR SSS System/Subsystem Specification SRS Software Requirements Specification IRS Interface Requirements Specification
PDR SSDDSystem/Subsystem Design Description SDD Software Design Description IDD Interface Design Description
CDR TEMP- Test and Evaluation Management Plan SEP- System Engineering Plan
Figure 2 Technology or Initiative Transition to
Program of Records (MITRE, 2010)
7Methodology
- Literature research
- Ideas behind the Agile method and how it impacts
documentation - Existing methods for generating documentation in
Agile - Case studies
- Interview various companies with regards to
projects using Agile. - A look at the approach to documentation used in
each of the projects.
8What is Agile
- A 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
tools - Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Respond to change over following a plan
9Key Aspects of any Agile Methodology
10Agile Misconception
- Agile is a Pizza Box Methodology
- Agile is an All-or-Nothing Methodology
- Traditional Development is Inferior
- Becoming Agile Only Affects the Developers
11Scrum Agile
- Key Components of Scrum Agile
- Cross-Functional Teams
- Product Backlog
- Timeboxed Development Iterations
- End of Cycle
- Origins of Scrum
- Japanese OR Advancements
- Incremental Development in the U.S.
- Object Oriented technologies in software
12Scrum Agile
http//www.scrumalliance.com/pages/what_is_scrum
13Traditional Systems Engineering Document
Generation vs. Agile Systems Engineering
Traditional Systems Engineering Documents Generation
Agile Systems Engineering Document Generation
14DoDs Effort to Embrace Agile
The DoD is in the process of changing its Defense
Acquisition Guideline to better serve Agile
Software System Development
Figure 3 MITREs suggested DoD IT Acquisition
Process 2
15Principles of Agile Documentation
- Generate just enough documentation
- Should 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
16Two Approaches to Documentation in Agile
- Method 1 Adapted Agile
- Use DoD standards as binding constraints to the
Agile effort. - Documentation must be generated to support
periods of customer reviews - Full and complete documentation expected
- Plan 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.
17Two Approaches to Documentation in Agile
- Method 2 Aligned Agile
- Documentation 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.
18Project Case 1
- Raytheon
- Method Scrum Agile
- Documentation method Adapted Agile
- Size of Project 6 months
- Notes emphasis on generating documentation to
meet customer review dates, heavy on
documentation updates on the last iteration
19Project Case 2
- MITRE
- Method Hybrid Scrum Agile
- Documentation method Adapted Agile
- Size of project 3 years
- Notes Used a requirements governance council.
Phased project according to spiral development
ideas but fit with Agile development on every
spiral.
20Project Case 3
- MITRE
- Method Hybrid Scrum Agile
- Documentation method Aligned Agile
- Size of project 1 year
- Notes 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.
21Project Case 4
- MITRE
- Method Hybrid Scrum Agile
- Documentation method Aligned Agile
- Size of project 2 years with 4-week long sprint
cycles - Notes Used a requirements committee to
continuously align with customer needs. Heavy
emphasis on documenting requirement changes.
22Key Concepts of the Framework
- Designed to align with Scrum Agile
- Integrates to become a seamless part of Scrum
Agile - The Core Concept
- Definition of Done
23Framework Detail (1 of 2)
- Examine Required Documents
- Perform detailed analysis of projects
documentation requirements defined by
stakeholders - Finalize Contract Agreement
- Reflect any changes/additions and finalize
contract in terms of documentation requirements - Develop Product Backlog
- Add relevant tasks associated with documentation
to Product Backlog
24Framework Detail (2 of 2)
- Sprint
- Work on document(s)
- End of Cycle Review
- Evaluate 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.
25Conclusions
- The 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.
26Website
- For more information please visit our website
athttp//mason.gmu.edu/slee32/index.html
27Reference
- Larson, E., Peters, J. Preparing the U.S. Army
for Homeland Security Concepts, Issues, and
Options, Issue 1251. 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 2010.
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.
http//agilemanifesto.org/ Accessed April 24,
2013.
28Reference- cont.
- Scrum Is an Innovative Approach to Getting Work
Done. The SCRUM Alliance (2010)http//www.scrumal
liance.org/pages/what_is_scrum Accessed April 27,
2013. - Burton, D., Hammons, C., Lapham, M., Schenker,
A., Williams, R. (2010) Considerations for
Using Agile in DoD Acquisition.
http//www.sei.cmu.edu/reports/10tn002.pdf
Accessed March 19, 2013. - I. G. Stamelos and P. Sfetsos, Agile Software
Development Quality Assurance, Idea Group Inc
(IGI), 2007. 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.
29Reference- 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, www.site.uottawa.ca/tcl/gradthes
es/aforward/aforward_thesis.doc Accessed March
30, 2013. - DAGS (Defense Acquisition Management
System), Enclosure 2 of DoD Instruction
5000.02, Operation of the Defense Acquisition
System, Defense Acquisition Guidebook - Dr Steven J. Hutchison, Achieving Enterprise
Agility in DoD IT Acquisition, 2010
30Reference- 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 2008.
Online. Available http//www.scrumalliance.org/
articles/105-what-is-definition-of-done-dod.
Accessed 27 April 2013. - Scrum Alliance, "Scrum Alliance, Transforming the
World of Work," Online. Available
http//www.scrumalliance.org/pages/scrum_artifacts
. Accessed 4 April 2013.
31Questions Comment