Agile at a Glance A quick overview of what you should know about “big-A” Agile Traditional vs. Agile Software Development
(Source: TechFAR Handbook Appendix A)
Topic
Traditional Thinking
Agile Thinking
Requirements
• Known requirements negotiated upfront
• Broad goal, “what” and “why,” known upfront, just not “how”
• Tasks preplanned to end of period
• Government states in solicitation process that Agile processes will be used
• Government usually applies “kitchen sink” philosophy, including everything it can think of in the requirements list because a working product won’t be available in a year or longer Methods
Conventional method goes through the following steps in a linear fashion: 1. Design the program 2. Document the design 3. Create a second version of critical design/operations 4. Plan, control, monitor, testing
Task Identification
• Contract requirements are defined pre-award • Technical or system requirements are refined post-award at beginning of each sprint • Relies on frequent inspection and adaptation Compresses five sequences of conventional method (see left) into shorter cycles, e.g., one to four weeks • Develops a system through repeated cycles and smaller portions • Allows developers to test and review during development
5. Involve customer
• Creates a repeatable model so product is pushed into production quickly
All tasks approved at beginning by customer
Team identifies or uncovers work as it goes, from sprint to sprint » Government sets priorities, approves work at beginning of each sprint, accepts work at end of each sprint
Software Delivery
Software delivered at end of linear development phase
Software delivered frequently with features that allow deployment » This outcome is called a minimum viable product
Changes to Technical/System Requirements
Significant changes in requirements impact cost baseline, which results in contract negotiation
Requirements are refined (there may be a tradeoff, which forces prioritization by government)
Timeline of Agile Development 1950s – 1980s Iterative software development used occasionally in defense and space programs
(Source: Government Accountability Office’s Agile Assessment Guide)
2001
1990s • Scrum • eXtreme Programming • Dynamic Systems Development Method
Agile Manifesto
A GovLoop Guide 4
2001 – Present • • • • • •
DevOps Disciplined Agile Lean Software Development Kanban Scaled Agile Framework Scrumban