Waterfall to Agile DFI Case Study By Nick Van, PMP
DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A
Waterfall
Waterfall
Waterfall
Waterfall Requirements Design Implementation Verification Maintenance
Agile
Agile Philosophy
Agile We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan That is, while there is value in the items on the right, we value the items on the left more.
Agile Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Close, daily cooperation between business people and developers Face-to-face conversation is the best form of communication (co-location) Projects are built around motivated individuals, who should be trusted Continuous attention to technical excellence and good design Simplicity the art of maximizing the amount of work not done is essential Self-organizing teams Regular adaptation to changing circumstances
DFI and Waterfall 3-9 Month Single Delivery Always have a n.1 release scheduled and resources assigned 1 to 3 concurrent projects
Choosing Agile Everyone else is doing it? Why not? Productivity increase Better results Shorter delivery cycle
Managing Change Plan for Change Choose candidate project Choose Agile Elements to introduce Choose a team Communicate Communicate Communicate Communicate
(some) Agile Elements Story Driven Modeling Planning Poker SCRUM Meetings Product Owner Development Team SCRUM MASTER Pigs and Chickens Sprints Planning Meetings Retrospective Meetings Continuous Integration Pair/Team programming Iterative Refactoring Task Board, Scrum board, Kanban board, Burndown chart SPRINT Backlog PRODUCT Backlog Velocity tracking
Sprints
Sprint 0 Build Infrastructure TFS Introduce Stories Establish Roles Release dates
Environments
Sprint 1 Sprint 2 3 weeks Planning Meeting Stories Tasks One Feature Bug fix Release SCRUM Meetings 3 weeks 48 Story Points Planning meeting Added Story Points Poker Game Technical Debt Retrospective meeting Product Backlog (Moved to next sprint)
Sprint 3 Sprint 4 3 weeks 69 Story Points Switched a developer WF AGILE Added more Chickens Sprint Back Log 3 weeks 72 Story Points Added another SME from Business Areas Demo as story complete Retrospective Good teamwork and interaction Integrated Test Team well Struggle with Task workflow
Sprint 5 Sprint 6 3 weeks 149 story points Ad Hoc design sessions Evaluated a new development tool Retrospective Good notification during sprint Developer tool added that worked well (+30%) Ad Hoc session very useful Scrum master needs to focus! 3 weeks 75 story points Christmas vacations and holidays
Sprint 7 Sprint 8 3 weeks 213 Story Points Added 2 Developers Added Peer review 1 weeks 28 Story Points Lost 2 developers Add more SME to design sessions Production Issue (Environment)
Summary Project Candidate project with short release cycles Metered introduction of Agile elements Measurement of Story Points and Productivity Short delivery cycle Immediate response to change Team Knowledge Transfer System Business Process Infrastructure AGILE methodology Best Practices Immediate Feedback Immediate improvement on next cycle
Summary
Conclusions Track Productivity Respond Quickly Deliver value to end user quickly Focus on end user Team Development and improvement Constant Prioritization
Observations SCRUM Master focus SCRUM needs dedicated space Finish Task before taking another Finish Story Commit to Sprint Plan Commit to Technical Debt Tasks Don t do more than you need to deliver Story Don t make too many changes at once Don t plan to do too much in a Sprint
Questions and Other Topics Multiple Sprint planning Epics Multiple Systems and sprints Multiple Sprints and not going to Production Documentation