20110412 Agile Project Management
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