Agile Development Presented to PMAG L. Lowe, G. Mays and J. Skinner April 19,2010
Agenda • What Is Agile Development • Why Use Agile (WIFM) • Agile vs. Waterfall • Agile & PPM • State Agency Experience • Next Steps • References
What is Agile Development Agile is a team driven iterative approach to development where the users and product owner are constantly involved with the development team during the entire project life cycle. • Uses simple adaptable processes • Continuous communication with stakeholders • Empowers people to collaborate and make decisions quickly • Relies on continuous planning, testing and integration • Uses iterations, incremental delivery and continuous feedback to refine and deliver the product • Methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development & Feature-Driven Development (FDD)
Agile Manifesto for Software Development Agile Manifestowww.agilemanifesto.org
Agile Principles • Customer satisfaction is #1 priority • Deliver early, continuous value • Embrace change and uncertainty • Business and developers work together • Provide motivated individuals the work environment and support they need to succeed • Communicate face to face (co-locate if possible) • Best architectures, requirements, and designs emerge • Trust the team to get job done
Agile: Better Productivity Source: http://www.shinetech.com/attachments/104_ShineTechAgileSurvey2003-01-17.pdf
Agile: Better Quality Source: http://www.ambysoft.com/surveys/agileFebruary2008.html
Agile: Better All Around Source: http://www.versionone.net/pdf/AgileDevelopment_ResultsDelivered.pdf
Agile & PPM Agile is Easy…. Implementing it is Hard… …Must change Processes and Values…
Agile & PPM: Artifacts NOTE: See handout that shows mapping/XRef that relates PPM artifacts with corresponding Agile artifacts.
The Pig’s Point Of View • Pig – Someone occupying one of the three Scrum Roles (Team, Product Owner, Scrum Master) who has made a commitment and has authority to fulfill it.
On the Job Training- Real Experience • Terminology is different; processes are different but the goals are the same. • Meet the requirements, on time, and if possible under budget. • The Product Backlog provides the overall game plan and replaces the requirements document. • The Sprint Backlog sets the pace and determines the work or tasks to be done. • Expect the first Agile project and first few sprints to be “Lessons Learned”.
Sprint Backlog The Sprint Backlog is similar to the Gantt Chart
Very First Sprint • The First Agile Project – First Sprint 2008
Current Agile Project Most recently completed Sprint of our 4th Agile Project
State Agency Experience: Lessons Learned • Build time in for training and learning curve • Planning and real life don’t always match – getting hands dirty up front saves time and effort over long run • Very little time to “explore” different possibilities in a SPRINT if one did not work • SCRUM does not fit all projects - best system development methodology depends on nature of the project, organization and other factors • Harder to use pure SCRUM methods in database centric projects • There are tradeoffs to simplifying the workflow too much - more detail gets more information, but takes too long • Useful to forge ahead in spite of unexpected obstacles • Prioritizing what was important helped a lot
State Agency Experience: Lessons Learned • Very talented, focused people can move along very quickly, given opportunity to do so • Fully dedicated resources are essential for optimal work product • Daily meetings were very useful to keep momentum going, and information flowing • SCRUM Master stays very busy removing obstacles and keeping team focused • Useful to keep documentation to a minimum, yet documentation of process and decisions was important • Detail in documentation is critical for future recall and decision making • Team found delivery of implementable product in a short period of time very satisfying • Media capability may enhance virtual team efficiency when co-location is not viable – e.g. collaborating with websites and video conferencing
Next Steps • The Enterprise Project Management Office Improvement Plan for FY09-11addresses items identified in our recent agency survey. Comments indicated the need to review the project approval processes for system development life cycles other than SDLC. • An agency workgroup will be formed to develop best practices for systems development life cycles (SDLCs) such as waterfall, agile and infrastructure projects.
Conclusion • Being Agile Is Our Favorite Thing