Agility, Refinement, and Integration
background
Previously, NASA used agile-ish, reintroduced in 1990s
- Contractors - agile to win contracts
- Industry - still enjoys predictability and long-term commitments
agile characteristics
characteristics
- continuous feedback - tests, customer guidance
- adaptation - adjust short and long-term approaches
process is good, but if impedes, becomes problem
- DoD release “detecting Agile BS”
DoD points
good indicators for developers
- automated - testing, security, deployment
- full ci/cd and IaC
- direct user feedback
- issue triage
- clear release cycle plan
red flags
- user not direct product
- finish requirement >> get feedback
- no devsecops
agility at dev level
feedback and adaptation guides “code construction”
- design not too detailed (not feature) and supports change
- focus on known behaviours first and refine details later
integration strategies from code complete and prag programmer
- top down - main ideas then details
- bottom up - fine grained then connect
- sandwich - hybrid
- risk-based - implement uncertain first
dealing with incomplete modules
all of approaches may integrate components
partial, fake, and prototype impl - common approach to progress
stub or fake impl aid in partition and team development
- first design core API
- independent work on different files