project management 1. 2 at the conclusion the audience will have a better understanding of the term...

41
Project Management 1

Upload: gerard-bryan

Post on 23-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

1

Page 2: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

2

At the conclusion the audience will have a better understanding of the term “agile” in context with development projects.

Objective

Page 3: Project Management 1. 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

Page 4: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 5: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 6: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 7: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 8: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 9: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 10: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 11: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 12: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 13: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 14: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 15: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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:

Page 16: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 17: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 18: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

18

Source: Dr. Dobbs Agile Community Survey

82%

78%

77%

37%

Improvements from using Agile Methods

Page 19: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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:

Page 20: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 21: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 22: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 23: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 24: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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/

Page 25: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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:

Page 26: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

26

Page 27: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

The SCRUM Process

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

Page 28: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

Page 29: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

Pigs and Chickens

Page 30: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

SCRUM Roles

Page 31: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

SCRUM”S Key Artifacts

Page 32: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 33: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

The SCRUM Process

Page 34: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 35: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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.

Page 36: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

Done ?!

Page 37: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 38: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

Technical Debt

Time

Bu

g B

acklo

g

Iterative Waterfall

Page 39: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

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

Page 40: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

Page 41: Project Management 1. 2 At the conclusion the audience will have a better understanding of the term “agile” in context with development projects. Objective

Project Management

41