The document discusses Agile methodology, an iterative approach to software development that emphasizes continuous improvement and adaptation to change over rigidly following a plan. It outlines the core principles and processes of Agile development, including short sprints, daily stand-up meetings, prioritizing tasks based on product owner feedback, and evaluating progress at the end of each sprint through demonstrations and retrospectives. The document argues that Agile is better suited than traditional waterfall models for software projects where requirements are uncertain and likely to change during development.
2. Agile Methodology
• Agile Methodology – an industry standard
– Agile is Empirical (uses real measurements of product and
process to continuously reevaluate and adjust)
– Waterfall is Defined (requirements & design are all fixed at
the start and predict the future path and product)
• Agile is not for everything, Waterfall is not for
everything (process theory [Tunde])
• Successful implementations have been established and
are expanding in federal agencies
• There are organizational maturation processes and
levels achieved when an enterprise integrates Agile
Methodology
2
3. FACT: It is very difficult to predict the
future
Waterfall asks for
detailed
understanding
when we
fundamentally 25% 40% 60% 80%
know the least.
+
100% 50% 20% 10%
-
TIME
Study z/Analysis Design Coding Testing Release
The top triangle: Represents the idea that our understanding of something is better the closer we are to completing it. At the beginning, we know the least about the object.
The bottom triangle: Represents the variability in our estimations of the objects. Early in the project, we understand little about the objects; therefore, our estimates are +- 100%. To mitigate this, Waterfall likes
to ‘gate’ the procedure and judge understanding NOT by evaluating the currently developed solution; rather, by evaluating the artifacts produced (documents).
3
Agile/Scrum recognizes this reality by building the solution in incremental steps, slicing through the technical layers to provide a working sliver of functionality, and continuously elaborating on the requirements.
4. Agile Methodology Ecosystem
Toolsets
Agile (Scrum) Common
Framework Development
Environment
Continuous Automated
Transparency
Integration Testing
Agile Automated
Management Deployment
Agile
Development and
Integration
4
5. SCRUM Process Flow
DAILY SCRUM MEETING Design | Code | Integrate |Test
24 HOURS
Prioritized by PRODUCT
Product Daily Tasks
managed
Owners by the 2-4 WEEKS
team
Requirements Develop/Integrate Continuous Integration IA/DT&E Deploy Preproduction/
Testing Production
Continuous Discovery, Reevaluation, Decisions, Status (dashboards)
5
6. Stakeholder Involvement
= Customer Stakeholder / SME Design | Code | Integrate |Test
Waterfall (Analysis, Design, Develop, Test)
Subject Matter Expert Availability (actual users) DAILY SCRUM MEETING
Long Delivery Cycles
Having to Make Choices
Continuous Planning/Elaboration
24 HOURS
Change is Hard
Prioritized by
PRODUCT
Daily Tasks
Product Owners managed by
the team 2-4 WEEKS
Demonstration and Retrospective
Backlog Sprint
Sprint Planning Daily Stand-up Sprint Review
Refinement Retrospective
Meeting Meeting Meeting
Meeting Meeting
6
8. Sprint Planning
• Occurs at the beginning of each Sprint.
• Participants in the sprint review typically include
the Product Owner, Scrum team, management,
customers and other project stakeholders.
• During the sprint planning meeting the product
owner describes the highest priority features to
the team.
• Two Artifacts –
– Sprint Goal
– Sprint Backlog
9. Sprint Review
• Occurs at the end of each Sprint.
• Participants in the sprint review typically
include the Product Owner, Scrum team,
management, customers and other project
stakeholders.
• The project is assessed against the sprint goal
determined during the Sprint Planning
Meeting.