Professional Documents
Culture Documents
Project Management
Objective
At the conclusion the audience will have a better understanding of the term agile in context with development projects.
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.
Project Management
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
Agile Models
Key Attributes
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
Simplified Rational Unified Process (RUP): reduced no. of disciplines Uses RUPs 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
Crystal
Project Management
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
Agile (or Rapid) techniques have been used for decades, to resolve key challenges that adversely impact solution development projects
Key Challenges
Requirements are dynamic and difficult to lock down
Project Management
Quality 0.4
2.3
Functionality
6.0 5.6 1.8 2.7 3.0 0.8 4.4 4.0 0.8 0.8 3.9 Agile Iterative Traditional Ad-Hoc
Money
0.2
Time
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
Task-oriented
Mistrust Faith in Process and Technology Technology Driving People Abstraction for Understanding Same Time, Same Place
Goal-oriented
Trust Faith in People People Supported by Technology Abstraction for Execution Anywhere, Anytime
The biggest risks for agile adoption are not processes or tools it's fear of change and misunderstanding agile values.
Project Management
The case for Agile with Discipline from the Project Management perspective.
Agile Role of PM We dont need any stinking project managers Planning approach 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 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 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
Project Management
10
Project Management
11
Project Management
Project Management
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.
13
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. However, managing the Agile portions requires some changes in behavior.
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.
14
Project Management
The overall project with a project management system needs to offload or buffer the Scrum Team from:
1. Business Management System Requirements.
2. Activities not related to code development and unit testing. 3. Executive and Management reporting.
15
Project Management
16
Project Management
17
Project Management
82%
77%
37%
78%
18
Project Management
Before starting an Project Overview Agile Project, the Project Manager should:
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.
19
Project Management
Agile Development combines Iterative & Incremental Delivery
Waterfall
Concept
Plan
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
Integration Test with Integration Test with XXX to BBB XXX to AAA
20
Project Management
Pre-Concept
C O N C E P T
Define Stakeholders
P L A N , D E V E L O P , Q U A L I F Y
Refine Requirements
Daily scrums
Detail Design
Iteration Reflect
Periodic Virtual DCP Report of Delivered Content / Interim Estimates: Cadence Determined at Concept Exit
April 2008
Raleigh
Continuous Integration
21
Project Management
Zone of success
Increasing Knowledge Actual Completion
Start
As Knowledge increases Leaders use iterations to guide project towards enhanced goal
22
Project Management
Source: Znet
23
Project Management
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, while there is value in the items on the right, we value the items on the left more.
http://agilemanifesto.org
24
Project Management
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its
behavior accordingly.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
http://agilemanifesto.org/principles.html
25
Project Management
26
Project Management
NOTE: Sprint and Iteration are used interchangeably and mean the same thing
Project Management
Project Management
Project Management
SCRUM Roles
Project Management
SCRUMS Key Artifacts
Project Management
Key Meetings
Sprint Planning Meeting
Hosted 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
Daily Scrum
Hosted by ScrumMaster
2.
2. 3.
Project Management
The SCRUM Process
Project Management
Daily Scrums
Daily 15 minute status meeting:
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
Bug Backlog
Project Management
Nokia Checklist 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 cannot generate a release burn-down chart and you dont know your velocity.
There is a project manager in the project who is interfering with the team (not the Scrum Master).
Project Management
Project Management
41