20110412 Agile Project Management

download 20110412 Agile Project Management

of 41

Transcript of 20110412 Agile Project Management

  • 8/2/2019 20110412 Agile Project Management

    1/41

    Project Management

    1

  • 8/2/2019 20110412 Agile Project Management

    2/41

    Project Management

    2

    At the conclusion the audience will have a better understanding

    of the term agile in context with development projects.

    Objective

  • 8/2/2019 20110412 Agile Project Management

    3/41

    Project Management

    What is AGILE?

    Agile is a method that uses continuous stakeholderfeedback to deliver high quality code through usecases and a series of short time-boxed development

    iterations.

    3

  • 8/2/2019 20110412 Agile Project Management

    4/41

    Project Management

    4

    What is Agile? Agile is not a methodology, but is a conceptualframework 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 )

    1Our highest priority is to satisfy the customer through early and continuous delivery of valuablesoftware

    2Welcome changing requirements, even late in development. Agile processes harness change

    for the customer's competitive advantage.

    3Deliver working software frequently, from a couple of weeks to a couple of months, with a

    preference to the shorter timescale

    4 Business people and developers must work together daily during the project

    5Build projects around motivated individuals. Give them the environment and support they

    need, and trust them to get the job done.

    6The most efficient and effective method of conveying information to and within a developmentteam is face-to-face conversation

    7 Working software is the primary measure of progress

    8Agile processes promote sustainable development. Sponsors, developers, and users shouldbe able to maintain a constant pace indefinitely.

    9 Continuous attention to tech. excellence and good design enhances agility

    10 Simplicity--the art of maximizing the amount of work not done--is essential

    11 The best architectures, requirements, and designs emerge from self-organizing teams

    12At regular intervals, the team reflects on how to become more effective, then tunes and

    adjusts its behavior accordingly

    Agile Models Key Attributes

    eXtreme Programming

    (XP)

    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

    Scrum

    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

    Open-UP Simplified Rational Unified Process (RUP): reduced no. of disciplines

    Uses RUPs four phases: inception, elaboration, construction, transition

    Crystal Key mechanisms: frequent delivery; reflective improvement; close

    communication with personal safety; access to expert users; automatedtesting; frequent integration; and configuration management

    Adaptive

    Repeating cycles: speculate, collaborate, learn

    Provides for continuous learning / adaptation to changing project state

    Dynamic SystemsDevelopment

    Method (DSDM)

    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

    Feature DrivenDevelopment

    Key mechanisms: more value on design then the code is the design;model-driven; develop feature list; and plan, design, build by feature

    http://agilemanifesto.org/principles.htmlhttp://agilemanifesto.org/principles.html
  • 8/2/2019 20110412 Agile Project Management

    5/41

    Project Management

    5

    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.

    They feel they are doing a good job withnon-agile approaches.

  • 8/2/2019 20110412 Agile Project Management

    6/41

    Project Management

    6

    Requirements are dynamicand difficult to lock down

    Reduce risk of adopting newtechnologies

    BUSINESS participation as a project team memberJoint requirements, design and prototyping sessionsUse of visual modelling and prototyping toolsDocumentation of results vs. targetsTeam elaboration of requirements with flexible scope change

    Iterative approach allowing key components to be developed toaddress Ill know it when I see it mentality

    Deliver business value morequickly

    Architects participate and direct lead developersHigh risk proof of concepts are performed early in the projectRight skills are dedicated to the project team

    Key Challenges Common Agile techniques

    Agile (or Rapid) techniques have been used for decades, to resolvekey challenges that adversely impact solution development projects

    Prioritization of requirements based on business objectivesTime boxing to fixed dates and fixed costIncremental delivery of highest priority project components firstDecomposition of large initiatives into multiple releasesSmall, dedicated, co-located teams in teaming environment

    Lean process framework and limited documentation

  • 8/2/2019 20110412 Agile Project Management

    7/41

    Project Management

    Why Are Organizations Adopting Agile Strategies?

    7

    Dr. Dobbs Journal (DDJ) 2008Project Success Survey:

    Agile teams have an averagesuccess rate of 70% comparedwith 66% for traditional/waterfall

    teams Agile teams produce higher quality

    work, are quicker to deliver, aremore likely to deliver the rightfunctionality, and more likely toprovide greater ROI than

    traditional teams

    Detailed results online atwww.ambysoft.com/surveys/

    0.8

    0.8

    2.7

    0.4

    0.8

    0.2

    1.8

    2.3

    4.0

    3.0

    5.6

    5.0

    4.4

    3.9

    6.0

    4.9

    Time

    Money

    Functionality

    Quality

    Agile

    Iterative

    Traditional

    Ad-Hoc

  • 8/2/2019 20110412 Agile Project Management

    8/41

    Project Management

    8

    Being Agile Needs More than a Set of Practices;

    It Needs a Change in Thinking!

    Change Avoidance

    Plan-driven Prescriptive

    Task-oriented

    Mistrust

    Faith in Process and Technology

    Technology Driving People

    Abstraction for Understanding

    Same Time, Same Place

    Change Acceptance

    Empirical Feedback Reactive

    Goal-oriented

    Trust

    Faith in People

    People Supported by Technology

    Abstraction for Execution

    Anywhere, Anytime

    The Old Way The Agile Way

    The biggest risks for agile adoption are not processes or tools it's fear of change and

    misunderstanding agile values.

  • 8/2/2019 20110412 Agile Project Management

    9/41

    Project Management

    9

    Planningapproach

    Status

    Agile

    We don

    t need anystinking projectmanagers

    Just-in-time, next iterationfocused, architecture andusability often fall throughthe cracks

    Many missed due to lackof planning

    High focus on blockerremoval on a daily basis

    Burn down of effortwithin an iteration is oftenthe only stakeholder levelstatus provided

    Goals for 30 dayiterations and sprintselected from backlog ofrequirements

    Traditional

    PM often becomes anun-empowered projectadministrator

    Commit too early tolevels of detail that areunknown throughoutwaterfall phases

    Too often accepted andreacted to and allowed toadversely impact delivery

    Issue identification lagsthe need for the team tohave it resolved

    Something the PMrecords during their oneweekly meeting with theteam

    Change to scope =change to deadline andbudget

    Agile With Discipline

    PM is able to empower andshepherd the team, and keepsteam focused and productive

    End-to-end planning for agiletechnique usage withparticipation of key specialists

    Risks are identified andmitigated by proactive, out of thebox thinking

    Daily issue identification andresolution

    PM is always aware of status,and provides summary toStakeholders on a weekly basisincluding a burn down of storycompletion against the iterationbaseline

    Baseline three iterations, thenallow variation of prioritizedscope within fixed deadline andbudget

    Role of PM

    Risks

    Issues

    ScopeMgmt

    The case for Agile with Discipline from the Project Management perspective.

  • 8/2/2019 20110412 Agile Project Management

    10/41

    Project Management

    10

    Position Paper Overview

    1. Project Management is still required.2. Agile Projects must comply with the

    Business Management System wherethey operate.

    3. Agile Projects requires some type ofProject Management System tailored thethe existing project managementmethodology.

    4. Agile projects typically form a componentor portion of a larger project

    Requires a light PM system at theScrum level

    Most of the PM system resides atthe overall project level

    5. Existing Agile management methods(e.g., Scrum) form a minimum PMsystem with many activities of the totalPM system residing outside of theScrum.

    Key Messages

  • 8/2/2019 20110412 Agile Project Management

    11/41

    Project Management

    Mainstream Agile Practices

    11

    Continuous Integration

    Test Drive Development (TDD)

    Refactoring

    Regular Deployment of Working

    Software Non-Solo Development

    Configuration Management

    Agile Testing

    Agile Documentation

  • 8/2/2019 20110412 Agile Project Management

    12/41

    Project Management

    Length of Iterations (% respondents)

    12

    82% have iterations between 1 and 4 weeks in length:

    3%

    9%

    33%

    17%

    23%

    7%

    2%

    1%

    6%

    < 1 Week

    1 Week

    2 Weeks

    3 Weeks

    4 Weeks

    5-6 Weeks

    7-8 Weeks

    > 8 Weeks

    No Iterations

    Source: Dr Dobbs 2008 Agile Adoption Survey

  • 8/2/2019 20110412 Agile Project Management

    13/41

    Project Management

    13

    Project Overview

    1. Scrum has emerged as the predominate method to manage Agile Projects.2. Scrum has well defined methods to manage code development and test.

    3. These methods form a minimum PM system within the Scrum

    Minimum planning is required in the form of a Release plan and Iteration Plan.

    Tracking and Control occurs via Daily Scrum Meeting and Burn down charts.

    Technical Change Management occurs as a byproduct of Agile.

    Risk is minimized via frequent stakeholder reviews and input.

    Issue Management occurs informally and through the Daily Scrum meeting.

    Scrum Management Methods

  • 8/2/2019 20110412 Agile Project Management

    14/41

    Project Management

    14

    Project Overview

    1.Overall Project requires a Project Management system and managed by aProject Manager

    2.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.If the Project Manager is also the Scrum Master then the role must change fromPM of the overall project to Facilitator when working with the Scrum

    4.Role of the Scrum Master is different that PM and is defined by the Agileapproach as a facilitator and not a manager.

    Role of the Project Manager in managing the non Agile aspects of theproject which is similar to managing a traditional project. However,

    managing the Agile portions requires some changes in behavior.

  • 8/2/2019 20110412 Agile Project Management

    15/41

    Project Management

    15

    1. Business Management System Requirements.

    2.Activities not related to code development and unit testing.

    3. Executive and Management reporting.

    Enable the Scrum team to remain totally Agile.

    The overall project with a project management systemneeds to offload or buffer the Scrum Team from:

  • 8/2/2019 20110412 Agile Project Management

    16/41

    Project Management

    Disciplined Agile Teams

    16

    1. Produce working software on aregular basis.

    2. Do continuous regression testing,and better yet take a Test-DrivenDevelopment (TDD) approach.

    3. Work closely with their stakeholders,ideally on a daily basis.

    4. Are self-organizing, and disciplinedteams work within an appropriategovernance framework.

    5. Regularly reflect, and measure, on

    how they work together and then actto improve on their findings in atimely manner.

  • 8/2/2019 20110412 Agile Project Management

    17/41

    Project Management

    Agile project teams, when compared to waterfallproject teams.

    17

    Enjoy higher success rates.

    Deliver higher quality.

    Have greater levels of stakeholdersatisfaction.

    Provide better return on investment(ROI).

    Deliver systems to market sooner.

  • 8/2/2019 20110412 Agile Project Management

    18/41

    Project Management

    18

    Source: Dr. Dobbs Agile Community Survey

    82%

    78%

    77%

    37%

    Improvements from using Agile Methods

  • 8/2/2019 20110412 Agile Project Management

    19/41

    Project Management

    19

    Project Overview

    1. Become familiar with AGILE and take some education.

    2.Complete specific Agile training for your Company and Business Unit.

    3. Read materials on the Agile.

    4. Contact other Agile Leaders within your organization, business unit, company,industry and try to get any other guidance.

    Before starting an Agile Project, the Project Managershould:

  • 8/2/2019 20110412 Agile Project Management

    20/41

    Project Management

    20

    RequirementsDesignDevelop/TestUser AcceptanceUsability Test

    Integration Test with

    XXX to AAA

    Agile Development combines Iterative & Incremental Delivery

    A/B/CConcept Plan Develop Qualify Roll out

    Waterfall

    Agile

    Concept Integrated &Aligned

    SMB(Europe & AP)

    Brands(above Client Id)

    Refine & AddFunction

    Refine &Add

    FunctionRollout

    Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration n

    RequirementsDesignDevelop/TestUser AcceptanceUsability Test

    RequirementsDesignDevelop/TestUser AcceptanceUsability Test

    RequirementsDesignDevelop/TestUser AcceptanceUsability Test

    RequirementsDesignDevelop/TestUser AcceptanceUsability Test

    Integration Test

    with XXX to BBB

    User AcceptanceUsability Test

    Prepare Education & Communications for Users

    A k b t th

  • 8/2/2019 20110412 Agile Project Management

    21/41

    Project Management

    21

    April 2008

    Raleigh

    Ask about thehandout!

    DefineStakeholders

    Define CriticalRequirements

    Create the VisionWrite Initial User

    Stories

    Confirmprioritization of

    user stories

    Define UserRoles

    Initialprioritization of

    user stories

    Confirm CriticalRequirements

    Write AdditionalUser Stories

    Confirm UserRoles

    Concept Phase in Discovery Session

    EstimateComplexity/

    Intensity highpriority stories

    Plan the releasePlan Iteration 1

    and 2

    Iteration Planning ( Iteration 1/2 planning is done as part of discovery session)

    Decide on userstories that canbe implemented

    Declare IterationGoal

    DecomposeStories into

    Tasks

    Size the tasks inideal hours

    EstimateIteration

    burndown

    Write all testcases Dailyscrums

    RefineRequirements Monitor velocityfor iteration and

    Release

    Reflect on theprocess

    Present the valueto the client

    Iteration Create the Value

    Iteration Reflect

    CONCEPT

    PLAN,

    DEVE

    LOP,QUALIFY

    Develop TargetOperating Model

    ServiceOffering

    Questionaire

    Create HighLevel

    Architecture /System Context

    Create EstimateFor

    Release

    User StoryReview

    Develop AgileStatement of

    Work

    Detail DesignTest Driven

    Development

    User ExperienceDesign

    ContinuousIntegration

    ElaborateBusiness Model

    (Level 5-7)

    System / UserExperience

    Testing

    User AcceptanceTesting

    Concept Phase prior to Discovery SessionPre-Concept

    UpdateBurndown for

    Release

    Periodic Virtual DCPReport of Delivered Content / Interim

    Estimates:

    Cadence Determined at Concept Exit

    MonitorIteration

    Burndown

  • 8/2/2019 20110412 Agile Project Management

    22/41

    Project Management

    22

    Iterations allow for mid course corrections

    As Knowledgeincreases Leaders

    use iterations toguide project towards

    enhanced goal

    Planned Path

    Actual Path

    Actual

    Completion

    Start

    Zone of successPlanned

    Completion

    IncreasingK

    nowledge

  • 8/2/2019 20110412 Agile Project Management

    23/41

    Project Management

    23

    Closing thoughts about Projects

    The more desperate the situation the more optimisticthe progress report.

    Nothing is impossible for the person who doesnt

    have to do it. If at first you dont succeed, rename the project

    Everyone wants a strong project manager - until theyget him.

    The worst project managers sleep at night. Projects dont fail in the end; they fail at conception.

    Source: Znet

    http://blogs.zdnet.com/projectfailures/?p=2024http://blogs.zdnet.com/projectfailures/?p=2024
  • 8/2/2019 20110412 Agile Project Management

    24/41

    Project Management

    Agile Manifesto for Agile Software Development

    24

    We are uncovering better ways of developing software by doing it andhelping others do it. Through this work we have come to value:

    Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the itemson the left more.

    http://agilemanifesto.org/

  • 8/2/2019 20110412 Agile Project Management

    25/41

    Project Management

    Principles behind the Agile Manifesto

    25

    Our highest priority is to satisfy the customerthroughearly and continuous deliveryof valuable software.

    Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customer's competitive advantage.Deliver working software frequently, from acouple ofweeks to a couple of months, with a

    preference tothe shorter timescale.

    Business people and developers must work togetherdaily throughout the project.

    Build projects around motivated individuals. Givethem the environment and support they need,andtrust them to get the job done.

    The most efficient and effective method of conveyinginformation to and within a development team isface-to-face conversation.

    Working software is the primary measure of progress.

    Agile processes promote sustainable development.The sponsors, developers, and users should be able tomaintain a constant pace indefinitely.

    Continuous attention to technical excellence and gooddesign enhances agility.

    Simplicity--the art of maximizing the amount of worknot done--is essential.

    The best architectures, requirements, and designsemerge from self-organizing teams.At regular intervals, the team reflects on how tobecome more effective, then tunes and adjusts

    its

    behavior accordingly.

    http://agilemanifesto.org/principles.html

    We follow these principles:

  • 8/2/2019 20110412 Agile Project Management

    26/41

    Project Management

    26

  • 8/2/2019 20110412 Agile Project Management

    27/41

    Project Management

    The SCRUM Process

    NOTE: Sprint and Iteration are used interchangeably and mean the same thing

  • 8/2/2019 20110412 Agile Project Management

    28/41

    Project Management

    P j M

  • 8/2/2019 20110412 Agile Project Management

    29/41

    Project Management

    Pigs and Chickens

    P j M

  • 8/2/2019 20110412 Agile Project Management

    30/41

    Project Management

    SCRUM Roles

    P j M

  • 8/2/2019 20110412 Agile Project Management

    31/41

    Project Management

    SCRUMS Key Artifacts

    P j t M t

  • 8/2/2019 20110412 Agile Project Management

    32/41

    Project Management

    Sprint Planning Meeting

    Hosted by ScrumMaster

    Attended by all

    Input: Product backlog, existing product,business and technologyconditions

    1. Select highest priority items inBacklog; declare the sprint goals

    2. Team turns selected items intoSprint Backlog

    Output: Sprint Goal, Sprint Backlog

    Key Meetings

    Daily Scrum

    Hosted by ScrumMaster

    Attended by development teamSame time every day

    Answer

    1. What did you do yesterday?

    2. What will you do today?

    3. Whats In your way?

    Team updates Sprint Backlog

    Scrum Master updates Blocks List

    Sprint Review Meeting

    Hosted by ScrumMaster

    Attended by all

    Informal, 4 hour, informational

    Team demos increment

    All Discuss

    Hold reflection

    Announce next Sprint Planning Meeting

    NOT status forthe ScrumMaster

    BUTCommitments infront of peers

    P j t M t

  • 8/2/2019 20110412 Agile Project Management

    33/41

    Project Management

    The SCRUM Process

    P j t M t

  • 8/2/2019 20110412 Agile Project Management

    34/41

    Project Management

    Daily Scrums

    Daily 15 minute status meeting: Same place and time every day;

    Meeting room;

    Chickens and pigs;

    Three questions;

    What have you done since last meeting?

    What will you do before next meeting?

    What is in your way? Impediments; and

    Decisions

    P j t M t

  • 8/2/2019 20110412 Agile Project Management

    35/41

    Project Management

    Scrum Masters

    Responsible for:

    1. Removing the barriers between development and the customer so thecustomer directly drives development;

    2. Teaching the customer how to maximize ROI and meet their objectivesthrough Scrum;

    3. Improving the lives of the development team by facilitating creativity andempowerment;

    4. Improving the productivity of the development team in any way possible;and,

    5. Improving the engineering practices and tools so each increment offunctionality is potentially shippable.

    A Scrum Master is always driving towards conformance to VALUE, notconformance to PLAN.

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    36/41

    Project Management

    Done ?!

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    37/41

    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, function tested, system tested, performancetested, tested end-to-end, 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, maintained, nested automation Appropriate code coverage (e.g. 80%) True test-driven development Avoiding technical debt Continuous integration (e.g. Cruise Control) Really understanding what quality code looks like

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    38/41

    Project Management

    Technical Debt

    Time

    Bug

    Bac

    klog

    Iterative Waterfall

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    39/41

    Project Management

    You know youre not iterative when

    Iterations are longer than 6 weeks. They are not time-boxed.

    Team tries to finish all specification before programming.

    Iteration doesnt result in workable code.

    Iterations dont include testing. You know you do not use Scrum when

    The team doesnt know who the product owner is.

    Your product backlog doesnt contain estimates.

    You cannot generate a release burn-down chart and you dont know yourvelocity.

    There is a project manager in the project who is interfering with the team (notthe Scrum Master).

    Nokia Checklist

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    40/41

    Project Management

    Project Management

  • 8/2/2019 20110412 Agile Project Management

    41/41

    Project Management

    41