Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | gerard-bryan |
View: | 215 times |
Download: | 0 times |
Project Management
1
Project Management
2
At the conclusion the audience will have a better understanding of the term “agile” in context with development projects.
Objective
Project Management
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.
3
Project Management
4
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)
1Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
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 development team is face-to-face conversation
7 Working software is the primary measure of progress
8Agile processes promote sustainable development. Sponsors, developers, and users should be 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 RUP’s four phases: inception, elaboration, construction, transition
Crystal Key mechanisms: frequent delivery; reflective improvement; close communication with personal safety; access to expert users; automated testing; frequent integration; and configuration management
Adaptive Repeating cycles: speculate, collaborate, learn Provides for continuous learning / adaptation to changing project state
Dynamic Systems Development 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
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 with
non-agile approaches.
Project Management
6
Requirements are dynamic and difficult to lock down
Reduce risk of adopting new technologies
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 changeIterative approach allowing key components to be developed to address “I’ll know it when I see it” mentality
Deliver business value more quickly
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 resolve key 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 environmentLean process framework and limited documentation
Project Management
Why Are Organizations Adopting Agile Strategies?
7
Dr. 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 quicker to deliver, are more likely to deliver the right functionality, and more likely to provide greater ROI than traditional teams
• Detailed results online at www.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
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.
Project Management
9
Planning approach
Status
Agile
“We don’t need any stinking project managers”
Just-in-time, next iteration focused, 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
Goals for 30 day iterations and sprint selected from backlog of requirements
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
Change to scope = change to deadline and budget
Agile With Discipline
PM is able to empower and shepherd the team, 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, out of the box thinking
Daily issue identification and resolution
PM is always aware of status, and provides summary to Stakeholders on a weekly basis including a burn down of story completion against the iteration baseline
Baseline three iterations, then allow variation of prioritized scope within fixed deadline and budget
Role of PM
Risks
Issues
Scope Mgmt
The case for “Agile with Discipline” from the Project Management perspective.
Project Management
10
Position Paper Overview1. Project Management is still required.2. Agile Projects must comply with the
Business Management System where they operate.
3. Agile Projects requires some type of Project Management System tailored the the existing project management methodology.
4. 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. Existing Agile management methods (e.g., Scrum) form a minimum PM system with many activities of the total PM system residing outside of the Scrum.
Key Messages
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
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 Dobb’s 2008 Agile Adoption Survey
Project Management
13
Project Overview1. 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
Project Management
14
Project Overview
1.Overall Project requires a Project Management system and managed by a Project 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 from PM 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 Agile approach as a facilitator and not a manager.
Role of the Project Manager in managing the non Agile aspects of the project which is similar to managing a traditional project. However, managing the Agile portions requires some changes in behavior.
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 system needs to offload or buffer the Scrum Team from:
Project Management
Disciplined Agile Teams
16
1. Produce working software on a regular basis.
2. Do continuous regression testing, and better yet take a Test-Driven Development (TDD) approach.
3. Work closely with their stakeholders, ideally on a daily basis.
4. Are self-organizing, and disciplined teams work within an appropriate governance framework.
5. Regularly reflect, and measure, on how they work together and then act to improve on their findings in a timely manner.
Project Management
Agile project teams, when compared to waterfall project teams.
17
• Enjoy higher success rates.
• Deliver higher quality.
• Have greater levels of stakeholder satisfaction.
• Provide better return on investment (ROI).
• Deliver systems to market sooner.
Project Management
18
Source: Dr. Dobbs Agile Community Survey
82%
78%
77%
37%
Improvements from using Agile Methods
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 Manager should:
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
ConceptIntegrated &
AlignedSMB
(Europe & AP)
Brands (above Client Id)
Refine & Add Function
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 UsersPrepare Education & Communications for Users
Project Management
21
April 2008
Raleigh
Ask about the handout!
Define Stakeholders
Define Critical Requirements
Create the VisionWrite Initial User
Stories
Confirm prioritization of
user stories
Define User Roles
Initial prioritization of
user stories
Confirm Critical Requirements
Write Additional User Stories
Confirm User Roles
Concept Phase in Discovery Session
Estimate Complexity/
Intensity high priority stories
Plan the releasePlan Iteration 1
and 2
Iteration Planning ( Iteration 1/2 planning is done as part of discovery session)
Decide on user stories that can be implemented
Declare Iteration Goal
Decompose Stories into
Tasks
Size the tasks in ideal hours
Estimate Iteration
burndown
Write all test cases
Daily scrums
Refine Requirements
Monitor velocity for iteration and
Release
Reflect on the process
Present the value to the client
Iteration Create the Value
Iteration Reflect
CONCEPT
PLAN,
DEVELOP, QUALIFY
Develop Target Operating Model
ServiceOffering
Questionaire
Create High Level
Architecture / System Context
Create Estimate For
Release
User Story Review
Develop Agile Statement of
Work
Detail DesignTest Driven
Development
User Experience Design
Continuous Integration
Elaborate Business Model
(Level 5-7)
System / User Experience
Testing
User Acceptance Testing
Concept Phase prior to Discovery SessionPre-Concept
Update Burndown for
Release
Periodic Virtual DCPReport of Delivered Content / Interim
Estimates:
Cadence Determined at Concept Exit
Monitor Iteration
Burndown
Project Management
22
Iterations allow for mid course corrections
As Knowledge As Knowledge increases increases Leaders Leaders use iterations to use iterations to
guide project towards guide project towards enhanced goalenhanced goal
Planned Path
Actual Path
Actual Actual CompletionCompletion
Start
Zone of successPlanned Planned CompletionCompletion
Project Management
23
Closing thoughts about Projects
The more desperate the situation the more optimistic the progress report.
Nothing is impossible for the person who doesn’t have to do it.
If at first you don’t succeed, rename the project Everyone wants a strong project manager -
until they get him. The worst project managers sleep at night. Projects don’t fail in the end; they fail at
conception.Source: Znet
Project Management
Agile Manifesto for Agile Software Development
24
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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding 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.
http://agilemanifesto.org/
Project Management
Principles behind the Agile Manifesto
25
Our highest priority is to satisfy the customerthrough early and continuous deliveryof 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 throughout 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. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical 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.
http://agilemanifesto.org/principles.html
We follow these principles:
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
Project Management
Sprint Planning MeetingHosted by ScrumMaster
Attended by all
Input: Product backlog, existing product, business and technology conditions
1. Select highest priority items in Backlog; declare the sprint goals
2. Team turns selected items into Sprint Backlog
Output: Sprint Goal, Sprint Backlog
Key Meetings
Daily ScrumHosted by ScrumMaster
Attended by development team
Same time every day
Answer
1. What did you do yesterday?
2. What will you do today?
3. What’s In your way?
Team updates Sprint Backlog
Scrum Master updates Blocks List
Sprint Review MeetingHosted by ScrumMaster
Attended by all
Informal, 4 hour, informational
Team demos increment
All Discuss
Hold reflection
Announce next Sprint Planning Meeting
NOT status for the ScrumMasterBUT Commitments in front of peers
Project Management
The SCRUM Process
Project Management
Daily ScrumsDaily 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
Project Management
Scrum Masters
Responsible for:
1.Removing the barriers between development and the customer so the customer directly drives development;
2.Teaching the customer how to maximize ROI and meet their objectives through Scrum;
3.Improving the lives of the development team by facilitating creativity and empowerment;
4.Improving the productivity of the development team in any way possible; and,
5.Improving the engineering practices and tools so each increment of functionality is potentially shippable.
A Scrum Master is always driving towards conformance to VALUE, not conformance to PLAN.
Project Management
Done ?!
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, performance tested, 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
Technical Debt
Time
Bu
g B
acklo
g
Iterative Waterfall
Project Management
You know you’re not iterative when• Iterations are longer than 6 weeks.
• They are not time-boxed.
• Team tries to finish all specification before programming.
• Iteration doesn’t result in workable code.
• Iterations don’t include testing.
You know you do not use Scrum when• The team doesn’t know who the product owner is.
• Your product backlog doesn’t contain estimates.
• You cannot generate a release burn-down chart and you don’t know your velocity.
• There is a project manager in the project who is interfering with the team (not the Scrum Master).
Nokia Checklist
Project Management
Project Management
41