he mian agile project-inception

45
Agile Project Inception He Mian 2010-11-09

Upload: agiletourchina

Post on 14-Dec-2014

864 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: He mian   agile project-inception

Agile Project Inception

He Mian2010-11-09

Page 2: He mian   agile project-inception

Who am I

He Mian(何勉 ), A agile SW development Practitioner

Beneficiary 

Embracer 

Evangelist

Explorer

works in Alcatel-Lucent Shanghai Bell

[email protected]

[email protected]

Page 3: He mian   agile project-inception

Agenda

Challenge of Status Quo

Project Inception Inception targetProject goalProject planningArchitecture and Non-functional requirement Concerns

Try it all together

Page 4: He mian   agile project-inception

Challenge of Status Quo

Page 5: He mian   agile project-inception

Status-Quo

On timeOn budget

Within Scope

Struggling with Quality and always almost get it done

Page 6: He mian   agile project-inception

But ...

Unhappy CustomerUnhappy Developer

Unhappy Boss

Suffered Project Manager

Page 7: He mian   agile project-inception

Understand Reason of the Dilemma

1. Waterfall model and phase-based earned value management2. Contract Game3. Metrics organization, Functional teams 4. Go to the solution domain too soon5. Defined process over Motivated People6. Separate these who doing the work and who improving the work7. No Gold plating

Plan this Speech in Agile tour Qingdao. 7 sins of traditional Project Management & SW Engineering and Agile Way Out

Page 8: He mian   agile project-inception

Lean ThinkingSystem Thinking

Theory of constraint

ScrumXP 

KanbanLSD

MaryBas

DanielLv Yi

TWers

Light in the Dark

Page 9: He mian   agile project-inception

Let's start

Compose Cross Functional team

Feed them with Two Pizzas

Bring the Business people in

Page 10: He mian   agile project-inception

But, what's next …How to start

Page 11: He mian   agile project-inception

Target of Project Inception

Page 12: He mian   agile project-inception

Inception - Input

Tech. EvolutionDifferentiation

Product VisionBusiness Case (Return of Investments)Customer Needs

Ideas

Tech. Goals

Constraints

Critical dateBudget ConstraintsTech. constraints

Page 13: He mian   agile project-inception

Expectation from Inception

Project Goal

Project Plan

Feasibility , Critical Decision , Risk, Dependencies

Page 14: He mian   agile project-inception

Project Goal

Page 15: He mian   agile project-inception

Project Goal

For (target customer)

Who (statement of the need or opportunity)

The (product name) is a (product category)

That (statement of key benefit, that is, compelling reason to buy)

Unlike (primary competitive alternative)

Our product (statement of primary differentiation)

For (target customer)

Who (statement of the need or opportunity)

The (product name) is a (product category)

That (statement of key benefit, that is, compelling reason to buy)

Unlike (primary competitive alternative)

Our product (statement of primary differentiation)

Originated from the book “Cross the chasm”

Page 16: He mian   agile project-inception

Project Planning

Page 17: He mian   agile project-inception

Project Planning

Cost

Scope

TimeScope

Time Cost

fixed

variable

Page 18: He mian   agile project-inception

 

Scope

Time Cost

Start from Product Backlog Creation

Time and cost as constraint

Page 19: He mian   agile project-inception

Split in Problem DomainSolution DomainProblem Domain

Traditional Way

Agile Way

Splitting at Solution Domain

Splitting at Problem Domain

Page 20: He mian   agile project-inception

Why Split in Problem Domain

Quick Feedback

Enable Iteration Development Model

Customer Centric Consideration

Global Thinking for development team

Team collaboration, meaningful discussion

Mandatory for Scrum/XP Adoption

Page 21: He mian   agile project-inception

If I had 20 days to solve a problem, I would take 19 days to define it

Page 22: He mian   agile project-inception

Data Boundaries

Techniques for Splitting

Operation Boundaries

Scenario based

Non-Functional

Page 23: He mian   agile project-inception

Nonfunctional Based

Performance, Scalability … Make it work, make it better

Scenario Based

Meaningful Subset of steps Sunny day path, rainy day path

Operation Boundaries Based

C/R/U/D Connecting, Send the traffic, …

Data Boundaries Based

Subset of data Subset of supported protocol

Techniques for Splitting

Page 24: He mian   agile project-inception

What Makes good Product Backlog

Detailed appropriately

Emergent

Estimated

Prioritized

Page 25: He mian   agile project-inception

Detailed Appropriately

Fine grained

Coarse grained

Place holder

Priority

Done

Page 26: He mian   agile project-inception

Emergent

Originate from the project inception

Adapt with marketing changing

Emerge with the on-going of the product development

Page 27: He mian   agile project-inception

Estimated

5

3

13 8

In Relative Size

With Planning Poke

Page 28: He mian   agile project-inception

Prioritized

Financial Value

Cost of Development

Knowledge GainedRisk Removal

adjust

adjust

adjust

Page 29: He mian   agile project-inception

Now We haveOr

Page 30: He mian   agile project-inception

And …What else yet to be planned?

Page 31: He mian   agile project-inception

Planning Onion and Rolling wave Plan

Product Vision

Product Roadmap

Release Planning

Sprint Planning

Daily Planning

@ start of each release by PO and Team

@ First day of each sprint by team

@ Daily scrum meeting by team members

Page 32: He mian   agile project-inception

Release Planning

• Can be Epic based• Delivery planning or

sprint planning• Business priority as the

primary consideration• With consideration of

dependency and integrity• Compose meaningful

goal for each delivery/sprint

Page 33: He mian   agile project-inception

Risk PlanningPossibility

Impact

Risk ItemxxxxxxxxxxxxxxMitigation Action : xxx

Owner: xxxLow Mid High

Low

High

Mid

Page 34: He mian   agile project-inception

Tips on Architecture and Non-Functional requirement Concerns

Page 35: He mian   agile project-inception

What’s architecture

Architecture is the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution.

-- IEEE-Std-1471-2000

Page 36: He mian   agile project-inception

What’s architecture

• What’s the primary determination factors of architecture? -- Non functional requirement

• What’s decision can be deferred and what can not be? -- Driven by risk and cost of change

A Conceptual Flow of the ATAM

From: http://www.sei.cmu.edu/architecture/tools/atam/

Page 37: He mian   agile project-inception

Thinnest Slice and Steel Thread

• Tech Risk focused• Just enough work to

prove the concept• Mock is allowed or even

encouraged• Code generated is not

supposed to directly reused

Page 38: He mian   agile project-inception

Spikes

• On Architecture decision validation

• On Development Tech.

• On Performance

• On Algorithm

• On User Experience

• On Business Process• On Domain Knowledge

Page 39: He mian   agile project-inception

Tips

Facts

Architecture is an ongoing job instead of an one time activity

What ever he does, in reality every SW developer is an Architect

Try

Run design workshop regularly with Engage stakeholders

Prove with real code (spike), don’t be “astronaut architect”

Build thinnest vertical slices to drive the Architecture Skelton out

Do customer-centric features with major architectural impact first

Defer the decision to the last responsive minutes

Page 40: He mian   agile project-inception

Performance Concerns -- discussion

What determines the Performance

What determines the theory limitation

What is the actual bottleneck

Why?How?

Page 41: He mian   agile project-inception

Try it all together

Page 42: He mian   agile project-inception

RiskSpike

Critical arch Decision

User stories

Biz needs, Vision, ROI

Collaboration

Inception (Sprint 0)

Velocity

Sprint Plan Burn Down

Daily Run

Burn UP Iteration Del.

Update

Sprint 1~n

Estimation

Priority

Release Plan

Release Planning

Page 43: He mian   agile project-inception

Now, We are on the way!

Page 44: He mian   agile project-inception

Inspect and Adapt

Page 45: He mian   agile project-inception

Thank You!