The case for agile processes for software development projects
14 Slides902.38 KB
The case for agile processes for software development projects
Review Why do we need project plans?
Process models provide frameworks/approaches for organizing software development activities Traditional One pass/Sequential (“Waterfall”) Iterative/incremental Multiple passes “Agile”: XP, Scrum PSP/TSP “Spiral”
Traditional/Waterfall approaches are best suited for massive or infrastructural projects which are: well-defined Predictable unlikely to change during development SE-280 Dr. Mark L. Hornick 4
A Traditional/Waterfall model when applied to software development projects results in a serious drawback:
Variability & Uncertainty is a fact of life in Software AgileDevelopment proceses: Embrace helpful variability to create innovative solutions Employ iterative and incremental development Leverage variability through inspection [review], adaptation, and transparency Reduce forms of uncertainty [features]
The Agile Manifesto
Prediction & Adaptation Keep options open Accept that you can't get it right up front Favor an adaptive, exploratory approach Embrace change in an economically sensible way Balance predictive up-front work with adaptive just-in-time work
Validated Learning Validate important assumptions fast Fail fast by having short dev cycles (sprints) Assum e Leverage multiple concurrent learning Adapt Build loops stand-ups, reviews Inspec t Organize workflow for fast feedback reviews, retrospectives Feedba ck
Work in Progress (WIP) Use economically sensible batch sizes Short sprints Recognize inventory [work] and manage it for good flow Focus on idle work, not idle workers Reduce cost of delay
Progress Adapt to real-time information and replan Measure progress by validating working assets Focus on value-centric delivery
Performance Go fast but never hurry Build in quality Employ minimally sufficient ceremony
Comparing Process Models Traditional (Waterfall) Incremental (Scrum/others) Iterative, team Planning Upfront, track and experience, model adjust integrated customer Short cycles to Quality Explicit focus on provide manageme defects after release monitoring, make nt improvements Final Schedule target, product Flexible, adaptive
Summary/Review The case for the waterfall/predictive models Advantages of agile Principles behind scrum