Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Agile Project Inception He Mian 2010-11-09
Who am I He Mian( 何勉 ), A agile SW development  Practitioner Beneficiary    Embracer  Evangelist Explorer works in Alcatel-Lucent Shanghai Bell [email_address] [email_address]
Agenda Challenge of Status Quo Project Inception  Inception target Project goal Project planning Architecture and Non-functional requirement Concerns Try it all together
Challenge of Status Quo
Status-Quo On time On budget Within Scope Struggling with Quality and always almost get it done
But ... Unhappy Customer Unhappy Developer Unhappy Boss Suffered Project Manager
Understand Reason of the Dilemma 1. Waterfall model and phase-based earned value management 2. Contract Game 3. Metrics organization, Functional teams  4. Go to the solution domain too soon 5. Defined process over Motivated People 6. Separate these who doing the work and who improving the work 7. No Gold plating Plan this Speech in Agile tour Qingdao.  7 sins of traditional Project Management & SW Engineering and Agile Way Out
Lean Thinking System Thinking Theory of constraint Scrum XP  Kanban LSD Mary Bas Daniel Lv Yi TWers Light in the Dark
Let's start Compose Cross Functional team Feed them with Two Pizzas Bring the Business people in
But, what's next … How to start
Target of  Project Inception
Inception  -  Input Tech. Evolution Differentiation Product Vision Business Case (Return of Investments) Customer Needs Ideas Tech. Goals Constraints Critical date Budget Constraints Tech. constraints
Expectation from Inception Project Goal Project Plan Feasibility ,  Critical Decision  ,  Risk, Dependencies
Project Goal
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) Originated from the book “Cross the chasm”
Project Planning
Project Planning Cost Scope Time Scope Time Cost fixed variable
  Scope Time Cost Start from Product Backlog Creation Time and cost as constraint
Split in Problem Domain Solution Domain Problem Domain Traditional Way Agile Way Splitting at Solution Domain Splitting at  Problem Domain
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
If I had 20  days  to solve a  problem , I would take  19 days  to define it
Techniques for Splitting Data Boundaries Operation Boundaries Scenario based Non-Functional
Techniques for Splitting 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
What Makes good Product Backlog D etailed appropriately E mergent E stimated P rioritized
Detailed Appropriately  Fine grained Coarse grained Place holder Priority Done
Emergent Originate from the project inception Adapt with marketing changing Emerge with the on-going of the product development
Estimated 5 3 13 8 In Relative Size With Planning Poke
Prioritized Financial Value Cost of Development Knowledge Gained Risk Removal adjust adjust adjust
Now We have Or
And … What else yet to be planned?
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
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
Risk Planning Possibility Impact Risk Item xxxxxxxx xxxxxx Mitigation Action : xxx Owner: xxx Low Mid High Low High Mid
Tips on Architecture and Non-Functional requirement Concerns
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
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/
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
Spikes On Architecture decision validation On Development Tech.  On Performance On Algorithm On User Experience On Business Process On Domain Knowledge
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
Performance Concerns -- discussion What determines the Performance What determines the theory limitation What is the actual bottleneck Why ? How?
Try it all together
Risk Spike 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
Now, We are on the way!
Inspect and Adapt
Thank You!

More Related Content

He mian agile project-inception

  • 1. Agile Project Inception He Mian 2010-11-09
  • 2. Who am I He Mian( 何勉 ), A agile SW development Practitioner Beneficiary  Embracer  Evangelist Explorer works in Alcatel-Lucent Shanghai Bell [email_address] [email_address]
  • 3. Agenda Challenge of Status Quo Project Inception Inception target Project goal Project planning Architecture and Non-functional requirement Concerns Try it all together
  • 5. Status-Quo On time On budget Within Scope Struggling with Quality and always almost get it done
  • 6. But ... Unhappy Customer Unhappy Developer Unhappy Boss Suffered Project Manager
  • 7. Understand Reason of the Dilemma 1. Waterfall model and phase-based earned value management 2. Contract Game 3. Metrics organization, Functional teams 4. Go to the solution domain too soon 5. Defined process over Motivated People 6. Separate these who doing the work and who improving the work 7. No Gold plating Plan this Speech in Agile tour Qingdao. 7 sins of traditional Project Management & SW Engineering and Agile Way Out
  • 8. Lean Thinking System Thinking Theory of constraint Scrum XP  Kanban LSD Mary Bas Daniel Lv Yi TWers Light in the Dark
  • 9. Let's start Compose Cross Functional team Feed them with Two Pizzas Bring the Business people in
  • 10. But, what's next … How to start
  • 11. Target of Project Inception
  • 12. Inception - Input Tech. Evolution Differentiation Product Vision Business Case (Return of Investments) Customer Needs Ideas Tech. Goals Constraints Critical date Budget Constraints Tech. constraints
  • 13. Expectation from Inception Project Goal Project Plan Feasibility , Critical Decision , Risk, Dependencies
  • 15. 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) Originated from the book “Cross the chasm”
  • 17. Project Planning Cost Scope Time Scope Time Cost fixed variable
  • 18.   Scope Time Cost Start from Product Backlog Creation Time and cost as constraint
  • 19. Split in Problem Domain Solution Domain Problem Domain Traditional Way Agile Way Splitting at Solution Domain Splitting at Problem Domain
  • 20. 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
  • 21. If I had 20  days  to solve a  problem , I would take  19 days  to define it
  • 22. Techniques for Splitting Data Boundaries Operation Boundaries Scenario based Non-Functional
  • 23. Techniques for Splitting 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
  • 24. What Makes good Product Backlog D etailed appropriately E mergent E stimated P rioritized
  • 25. Detailed Appropriately Fine grained Coarse grained Place holder Priority Done
  • 26. Emergent Originate from the project inception Adapt with marketing changing Emerge with the on-going of the product development
  • 27. Estimated 5 3 13 8 In Relative Size With Planning Poke
  • 28. Prioritized Financial Value Cost of Development Knowledge Gained Risk Removal adjust adjust adjust
  • 30. And … What else yet to be planned?
  • 31. 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
  • 32. 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
  • 33. Risk Planning Possibility Impact Risk Item xxxxxxxx xxxxxx Mitigation Action : xxx Owner: xxx Low Mid High Low High Mid
  • 34. Tips on Architecture and Non-Functional requirement Concerns
  • 35. 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
  • 36. 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/
  • 37. 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
  • 38. Spikes On Architecture decision validation On Development Tech. On Performance On Algorithm On User Experience On Business Process On Domain Knowledge
  • 39. 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
  • 40. Performance Concerns -- discussion What determines the Performance What determines the theory limitation What is the actual bottleneck Why ? How?
  • 41. Try it all together
  • 42. Risk Spike 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
  • 43. Now, We are on the way!

Editor's Notes

  1. Feedback Iteration User Centric, Global Thinking Team collaboration, meaning discussion Agile management
  2. Adjusted with Knowledge gained Inspired by sprint review Development teams contributes ideas
  3. Architecture Spike Development Tech. Spike Performance Spike Algorithm Spike User Experience Spike Business Process Spike