This action might not be possible to undo. Are you sure you want to continue?
At the conclusion the audience will have a better understanding of the term “agile” in context with development projects.
What is AGILE?
Agile is a method that uses continuous stakeholder feedback to deliver high quality code through use cases and a series of short time-boxed development iterations.
What is Agile? Agile is not a methodology, but is a conceptual framework for undertaking software engineering projects.
Agile Manifesto (2001 Agile Alliance, 17 key individuals) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Agile Principles (agilemanifesto.org/principles.html)
1 2 3 4 5 6 7 8 9 10 11 12 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Business people and developers must work together daily during the project Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation Working software is the primary measure of progress Agile processes promote sustainable development. Sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to tech. excellence and good design enhances agility Simplicity--the art of maximizing the amount of work not done--is essential The best architectures, requirements, and designs emerge from self-organizing teams At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly Adaptive Dynamic Systems Development Method (DSDM) Feature Driven Development Open-UP Scrum
Based on values of simplicity/communication/feedback/courage Start with simple solution, add complexity through refactoring Frequent feedback through unit, integration and acceptance testing Four development phases: coding, testing, listening, designing Daily 15-minute “Scrum‖ to discuss work for the day Divide projects into 30-day “Sprints‖ “Backlog” of requirements to be addressed in each Sprint ―Retrospect” at end of Sprint to review progress / revise backlog
eXtreme Programming (XP)
Simplified Rational Unified Process (RUP): reduced no. of disciplines Uses RUP’s four phases: inception, elaboration, construction, transition Key mechanisms: frequent delivery; reflective improvement; close communication with personal safety; access to expert users; automated testing; frequent integration; and configuration management Repeating cycles: speculate, collaborate, learn Provides for continuous learning / adaptation to changing project state Three primary phases: pre-project, project life-cycle , post-project Project life-cycle phase consists of feasibility study, business study, functional model iteration, design/build iteration, and implementation Key mechanisms: more value on design then the “code is the design”; model-driven; develop feature list; and plan, design, build by feature
Project Management Agile Adoption Challenges Potential pitfalls: • Resistance to collaboration • Waterfall culture • Low-trust environment • Unwillingness to change • Rigid management hierarchy • Little development experience • Lack of automated tool support Very expensive to redeploy the system. Significant dependencies on new hardware development. 5 . They feel they are doing a good job with non-agile approaches.
Project Management Agile (or Rapid) techniques have been used for decades. targets Team elaboration of requirements with flexible scope change Iterative approach allowing key components to be developed to address “I’ll know it when I see it” mentality Prioritization of requirements based on business objectives Time boxing to fixed dates and fixed cost Incremental delivery of highest priority project components first Decomposition of large initiatives into multiple releases Small. co-located teams in teaming environment Lean process framework and limited documentation Architects participate and direct lead developers High risk proof of concepts are performed early in the project Right skills are dedicated to the project team Deliver business value more quickly Reduce risk of adopting new technologies 6 . design and prototyping sessions Use of visual modelling and prototyping tools Documentation of results vs. to resolve key challenges that adversely impact solution development projects Key Challenges Requirements are dynamic and difficult to lock down Common Agile techniques BUSINESS participation as a project team member Joint requirements. dedicated.
0 0.com/surveys/ 4.4 2.ambysoft.9 5.8 4.9 Agile Iterative Traditional Ad-Hoc Money 0.0 0.8 3.3 Functionality 6.0 5. and more likely to provide greater ROI than traditional teams • Detailed results online at www.8 2.Project Management Why Are Organizations Adopting Agile Strategies? Dr.8 0. are quicker to deliver.7 3. Dobb’s Journal (DDJ) 2008 Project Success Survey: • Agile teams have an average success rate of 70% compared with 66% for traditional/waterfall teams • Agile teams produce higher quality work. are more likely to deliver the right functionality.6 1.0 Quality 0.2 Time 7 .4 4.
Anytime The biggest risks for agile adoption are not processes or tools — it's fear of change and misunderstanding agile values. Same Place Goal-oriented Trust Faith in People People Supported by Technology Abstraction for Execution Anywhere.Project Management Being Agile Needs More than a Set of Practices. It Needs a Change in Thinking! The Old Way Change Avoidance Plan-driven — Prescriptive The Agile Way Change Acceptance Empirical Feedback — Reactive Task-oriented Mistrust Faith in Process and Technology Technology Driving People Abstraction for Understanding Same Time. 8 .
and provides summary to Stakeholders on a weekly basis including a burn down of story completion against the iteration baseline Baseline three iterations. architecture and usability often fall through the cracks Many missed due to lack of planning High focus on blocker removal on a daily basis “Burn down” of effort within an iteration is often the only stakeholder level status provided Agile With Discipline PM is able to empower and shepherd the team. next iteration focused. out of the box thinking Daily issue identification and resolution PM is always aware of status. and keeps team focused and productive End-to-end planning for agile technique usage with participation of key specialists Risks are identified and mitigated by proactive. then allow variation of prioritized scope within fixed deadline and budget Traditional PM often becomes an un-empowered project administrator Commit too early to levels of detail that are unknown throughout waterfall phases Too often accepted and reacted to and allowed to adversely impact delivery Issue identification lags the need for the team to have it resolved Something the PM records during their one weekly meeting with the team Risks Issues Status Scope Mgmt Goals for 30 day iterations and sprint selected from backlog of requirements Change to scope = change to deadline and budget 9 . Agile Role of PM “We don’t need any stinking project managers” Planning approach Just-in-time.Project Management The case for “Agile with Discipline” from the Project Management perspective.
3. Agile Projects must comply with the Business Management System where they operate.Project Management Key Messages Overview Position Paper 1. Agile Projects requires some type of Project Management System tailored the the existing project management methodology. 10 . 2. Agile projects typically form a component or portion of a larger project • Requires a light PM system at the Scrum level • Most of the PM system resides at the overall project level 5. Project Management is still required.. Existing Agile management methods (e. Scrum) form a minimum PM system with many activities of the total PM system residing outside of the Scrum.g. 4.
Project Management Mainstream Agile Practices Continuous Integration Test Drive Development (TDD) Refactoring Regular Deployment of Working Software Non-Solo Development Configuration Management Agile Testing Agile Documentation 11 .
Project Management Length of Iterations (% respondents) 82% have iterations between 1 and 4 weeks in length: No Iterations > 8 Weeks 7-8 Weeks 5-6 Weeks 4 Weeks 3 Weeks 2 Weeks 1 Week < 1 Week 3% Source: Dr Dobb’s 2008 Agile Adoption Survey 12 6% 1% 2% 7% 23% 17% 33% 9% .
Project Management Scrum Management Methods Project Overview 1. Risk is minimized via frequent stakeholder reviews and input. Tracking and Control occurs via Daily Scrum Meeting and Burn down charts. Scrum has emerged as the predominate method to manage Agile Projects. 13 . Scrum has well defined methods to manage code development and test. 3. Issue Management occurs informally and through the Daily Scrum meeting. 2. These methods form a minimum PM system within the Scrum • • • • • Minimum planning is required in the form of a Release plan and Iteration Plan. Technical Change Management occurs as a byproduct of Agile.
managing the Agile portions requires some changes in behavior. If the Project Manager is also the Scrum Master then the role must change from PM of the overall project to Facilitator when working with the Scrum 4. However. Role of the Scrum Master is different that PM and is defined by the Agile approach as a facilitator and not a manager. Project Manager must off load or buffer the Scrum from activities that are not related to code development and test to enable the Scrum to be fully Agile 3. 1. Overall Project requires a Project Management system and managed by a Project Manager 2.Project Management Role of theOverview Project Project Manager in managing the non Agile aspects of the project which is similar to managing a traditional project. 14 .
Executive and Management reporting. Activities not related to code development and unit testing. 2. Enable the Scrum team to remain totally Agile.Project Management The overall project with a project management system needs to offload or buffer the Scrum Team from: 1. 15 . Business Management System Requirements. 3.
on how they work together and then act to improve on their findings in a timely manner. Do continuous regression testing. 3. Regularly reflect.Project Management Disciplined Agile Teams 1. Produce working software on a regular basis. 5. 2. 4. and better yet take a Test-Driven Development (TDD) approach. and measure. ideally on a daily basis. 16 . and disciplined teams work within an appropriate governance framework. Are self-organizing. Work closely with their stakeholders.
• Provide better return on investment (ROI). • Deliver systems to market sooner. when compared to waterfall project teams. 17 . • Have greater levels of stakeholder satisfaction.Project Management Agile project teams. • Deliver higher quality. • Enjoy higher success rates.
Dobbs Agile Community Survey 18 .Project Management Improvements from using Agile Methods 82% 77% 37% 78% Source: Dr.
19 . business unit. Become familiar with AGILE and take some education. company. 4. industry and try to get any other guidance. 2. 3. Complete specific Agile training for your Company and Business Unit. Read materials on the Agile.Project Management Before starting an Project Overview Agile Project. the Project Manager should: 1. Contact other Agile Leaders within your organization.
Project Management Agile Development combines Iterative & Incremental Delivery Waterfall Concept Plan Develop A/B/C Agile Qualify Roll out Iteration 1 Iteration 2 Concept Integrated & Aligned Requirements Design Develop/Test User Acceptance Usability Test Iteration 3 Brands (above Client Id) Requirements Design Develop/Test User Acceptance Usability Test Iteration 4 Refine & Add Function Requirements Design Develop/Test User Acceptance Usability Test Iteration n Refine & Add Function Requirements Design Develop/Test User Acceptance Usability Test SMB (Europe & AP) Rollout User Acceptance Usability Test Requirements Design Develop/Test User Acceptance Usability Test Integration Test with Integration Test with XXX to BBB XXX to AAA Prepare Education & Communications for Users 20 .
Project Management Pre-Concept Ask about the handout! Concept Phase prior to Discovery Session Create High Level Architecture / System Context Develop Target Operating Model C O N C E P T Define Critical Requirements Define Stakeholders Create the Vision Service Offering Questionaire Define User Roles Write Initial User Stories Initial prioritization of user stories Concept Phase in Discovery Session Estimate Complexity/ Intensity high priority stories Confirm Critical Requirements Confirm User Roles Write Additional User Stories Confirm prioritization of user stories User Story Review Create Estimate For Release Plan the release Plan Iteration 1 and 2 Develop Agile Statement of Work P L A N . D E V E L O P . Q U A L I F Y Decide on user stories that can be implemented Declare Iteration Goal Decompose Stories into Tasks Size the tasks in ideal hours Estimate Iteration burndown Iteration Planning ( Iteration 1/2 planning is done as part of discovery session) Write all test cases Refine Requirements User Experience Design Daily scrums Monitor velocity for iteration and Release Present the value to the client Reflect on the process Update Burndown for Release Elaborate Business Model (Level 5-7) Detail Design Test Driven Development Monitor Iteration Burndown Iteration Reflect Periodic Virtual DCP Report of Delivered Content / Interim Estimates: Cadence Determined at Concept Exit April 2008 Raleigh Continuous Integration System / User Experience Testing User Acceptance Testing Iteration Create the Value 21 .
Project Management Iterations allow for mid course corrections Planned Completion Zone of success Increasing Knowledge Actual Completion Start Planned Path Actual Path As Knowledge increases Leaders use iterations to guide project towards enhanced goal 22 .
they fail at conception. Projects don’t fail in the end. If at first you don’t succeed.until they get him.Project Management Closing thoughts about Projects The more desperate the situation the more optimistic the progress report. Source: Znet 23 . Nothing is impossible for the person who doesn’t have to do it. rename the project Everyone wants a strong project manager . The worst project managers sleep at night.
org / 24 .Project Management Agile Manifesto for Agile Software Development 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. http://agilemanifesto. we value the items on the left more. while there is value in the items on the right.
the team reflects on how to become more effective.Project Management Principles behind the Agile Manifesto We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. and trust them to get the job done. requirements. The sponsors. Deliver working software frequently. At regular intervals. Working software is the primary measure of progress. Simplicity--the art of maximizing the amount of work not done--is essential. Build projects around motivated individuals. Continuous attention to technical excellence and good design enhances agility.org/principles. even late in development. developers.html 25 . Welcome changing requirements. and users should be able to maintain a constant pace indefinitely. from a couple of weeks to a couple of months. http://agilemanifesto. Agile processes harness change for the customer's competitive advantage. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Business people and developers must work together daily throughout the project. with a preference to the shorter timescale. The best architectures. Give them the environment and support they need. Agile processes promote sustainable development. then tunes and adjusts its behavior accordingly. and designs emerge from self-organizing teams.
Project Management 26 .
Project Management The SCRUM Process NOTE: Sprint and Iteration are used interchangeably and mean the same thing .
Project Management .
Project Management Pigs and Chickens .
Project Management SCRUM Roles .
Project Management SCRUM”S Key Artifacts .
existing product. Team updates Sprint Backlog Scrum Master updates Blocks List . Team turns selected items into Sprint Backlog Attended by development team Same time every day Answer 1. Sprint Backlog Sprint Review Meeting Hosted by ScrumMaster Attended by all Informal. Select highest priority items in Backlog. declare the sprint goals Daily Scrum Hosted by ScrumMaster 2.Project Management Key Meetings Sprint Planning Meeting Hosted by ScrumMaster Attended by all Input: Product backlog. 3. business and technology conditions 1. 4 hour. What did you do yesterday? What will you do today? What’s In your way? Output: Sprint Goal. informational Team demos increment All Discuss Hold reflection Announce next Sprint Planning Meeting NOT status for the ScrumMaster BUT Commitments in front of peers 2.
Project Management The SCRUM Process .
and • Decisions . • Chickens and pigs.Project Management Daily Scrums Daily 15 minute status meeting: • Same place and time every day. • Three questions. • Meeting room. –What have you done since last meeting? –What will you do before next meeting? –What is in your way? • Impediments.
4. Improving the lives of the development team by facilitating creativity and empowerment. Improving the productivity of the development team in any way possible. and. Removing the barriers between development and the customer so the customer directly drives development. . Improving the engineering practices and tools so each increment of functionality is potentially shippable. 2. 5.Project Management Scrum Masters Responsible for: 1. A Scrum Master is always driving towards conformance to VALUE. 3. Teaching the customer how to maximize ROI and meet their objectives through Scrum. not conformance to PLAN.
Project Management Done ?! .
nested automation • Appropriate code coverage (e.g.g. maintained. tested end-to-end. system tested. Cruise Control) • Really understanding what quality code looks like . function tested.Project Management Definition of ―Done‖ At the end of each iteration: • No Sev 1s or Sev 2s • No Sev 3s or Sev 4s the team has not agreed to • Code is unit tested. performance tested. 80%) • True test-driven development • Avoiding technical debt • Continuous integration (e. and included in appropriate green threads • A meaningful stakeholder review has been conducted Can this really be done? This puts a high premium on: • Valuable.
Project Management Technical Debt Bug Backlog Time Iterative Waterfall .
• They are not time-boxed. • You cannot generate a release burn-down chart and you don’t know your velocity. • Iteration doesn’t result in workable code. . • There is a project manager in the project who is interfering with the team (not the Scrum Master). • Your product backlog doesn’t contain estimates.Project Management Nokia Checklist You know you’re not iterative when • Iterations are longer than 6 weeks. You know you do not use Scrum when • The team doesn’t know who the product owner is. • Team tries to finish all specification before programming. • Iterations don’t include testing.
Project Management .
Project Management 41 .
This action might not be possible to undo. Are you sure you want to continue?