2017年10月31日 星期二

[PMI-ACP] Domain 2. Value-driven Delivery

 Agile    PMI-ACP    Domain 2 



Introduction


Producing high-value increments based on stakeholder’s priority.
Use the feedback from stakeholders to prioritize and improve the future increments.
The focus on delivery value drives much of the Agile activities and decision making.


Value driven delivery definition

The projects are undertaken for generating
1.  Business value
n   High ROI(Return on investment)
n   Increased Profit
n   Market sharing
n   Lower risk
2.  Benefit
3.  Improve a service


Concept

1.  Working software over comprehensive documentation
2.  Working software is delivered frequently
3.  Working software is the principle measure of progress

Value vs. Cost vs. Risk

1.  Must consider Value, Cost and Risk in the same time.
2.  Spike for risk at early iteration.


Activities

Planning

Prioritize the Product backlog by Customer Business value and refine them as Risk-adjusted backlog based on the risk.

Impediment backlog(障礙清單) is not belong to our product, and will not list on the Product backlog.


Executing

Control





Assessment


When selecting a project, estimate

1.  Early benefits realization
2.  Anticipated benefits (預期收益)
3.  ROI, IRR, NPV assumption
4.  SWOT
5.  PEST analysis
n   Political
n   Environment
n   Social
n   Technical



Vision



Vision Statement

Product Vision Box

Elevator statement




Contract


Waterfall vs. Agile

Waterfall

Fixed on cost, time and scope.

Agile

Fixed on cost and time, but not on scope. (Welcome to change)


Also we can use
1.  cost reimbursable contract (成本可償還合約)
2.  T&M (Time and Material) contract (工料計價合約)


Key issues must be addressed

1.  PO is a representative of the Customer, so he/she is appointed by the Customer.
2.  PO must responds to questions from the team asap.


Agile Contract types

Money for nothing & Change for free contract

1.  Change for free, but cannot over time and cost.
2.  Customer can close the project (contract) whenever they get enough value from the project and only pay the 20% of the left payables.
3.  Customer get the value early. Although the vender doesn’t get the total payables, they can involve into another project early.


Graduated fixed price contract

1.  If the vender complete the project before the deadline, they can get a HIGHER cost-of-unit-production-time.
2.  If the vender complete the project late, they get a LOWER cost-of-unit-production-time.
3.  For customer, it’s a matter of profit early or lately.

Fixed price work packages contract

Fixed price for each work package. When the requirements are changed in a work package, we can re-estimate the cost of it.


Time and Material contract

Fixed cost-of-unit-production-time on certain resource and total time of the resource, but not fixed on deliverables.

Also can define the project max cost and time.


Agile iterations contract

1.  Customer must commit for not changing the content and order of backlogs in an iteration before the iteration ends.
2.  Vender must complete the Definition of done for backlogs in an iteration.


Customized contract

Combine and customize the above contract types for running Agile project smoothly.



Value Planning


Agile Charter

1.  Vision statement
2.  Goal
3.  Purpose
4.  Deliverables
5.  Limitations
6.  Business constraints
7.  Special considerations

User Story

1.  Minimum formal structure for user requirement.
2.  Collect the customer requirement by
n   User Story workshop
n   XP Customer Tests
3.  Hosted by PO, stakeholders and the team should partake.


Persona

Inferred out (推論出) user requirement in virtual users’ shoes.

Format

As a (Who)
I Want (What)
So that (Why)

Acceptance criteria
Assumptions (假設條件):
Limitations (限制條件):
Exclusion (排除事項):

Risk:
Deliverables:


Principles: INVEST

Letter
Meaning
I
Independent
N
Negotiable
V
Valuable
E
Estimable
S
Small
T
Testable


Prototype




Business-valued Prioritization

1.  The business value would be decided by the PO(Scrum)/Customer(XP) and the development team.
2.  Prioritize with business value, risk and defect.
3.  The team must provide possible risks and technical issues, and discuss with PO/Customer and then re-prioritize product backlogs.
4.  Product backlogs with MMF(Minimum Marketable Feature) have higher priority.

R&R(Roles and Responsibility)

Role
Responsibility
PO/Customer
Define benefit and loss
Team
Define cost and risk



Prioritize methods => Product backlog

1.  MoSCoW
2.  Technology Risk Based
3.  Kano Model
4.  Validated Learning
5.  Pareto analysis
6.  Dot Voting
7.  Monopoly Money



Product backlog => Risk-adjusted backlog

Prioritize the product backlog again with risk. Notice that NEVER put Impediment backlog(障礙清單) into Product backlogs.



Business-valued Prioritization in Big project

When we have lots of user stories and it’s difficult to know where we are and where we should go, Story Map (road map + backlog) can help us. 





Value Executing


According to the plan, we deliver the small release (MMF) to customer with QUALITY  , which mean the MMF meets customer’s acceptance criteria.

Value stream mapping

1.  Create a flow/map of related work.
2.  Find delays, waste and constraints.
3.  Remove or reduce them.

Lean: 7 wastes

1.  Task switching
2.  Extra features
3.  Defects
4.  Extra processing
5.  Waiting
6.  Partially done work
7.  Motion (Moving)

WIP limits

When WIP (Work in progress) number hit the limit, the team stops and works together to clear the bottleneck.

Cumulative flow diagrams (CFD)

A tool for tracking and forecasting projects.




Spike

1.  A task focuses on answering a question or gather information within a timebox.
2.  At iteration 0 or before an iteration.


Value Control


Collect customer feedback thru

1.  Surveys
2.  Prototyping
3.  Reach out directly (直接詢問/溝通)
4.  Usability Test
5.  Demo










2017年10月30日 星期一

[PMI-ACP] Domain 1. Agile Principles and Mindset

 Agile    PMI-ACP    Domain 1



Agile Manifesto


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 12 Principles (In short)


1.  Produce value early and continuous
2.  Welcome to change
3.  Delivery frequently
4.  Work with business people
5.  Trust motivated team (信任受到激勵的團隊)
6.  Face to face communication
7.  Measure by software done
8.  Maintain sustainable pace
9.  Technical excellence and good design
10.  Keep it simple
11.  Self-organized team
12.  Reflect and adjust



Methodologies and Frameworks


1.  Scrum
2.  Extreme Programming (XP)
3.  Lean Software Development (LSD)




Scrum


Scrum framework includes: 3 pillars, practice, R&R(Roles and Responsibilities), Event, Artifacts, Rules.


3 Pillars


Transparency

All relative aspects of the process must be visible to those responsible for the outcome.

Inspection

Inspection of Artifacts and progress to identify and correct both customer’s  
explicit and implicit demands.

Inspection occurs on
1.  Sprint planning meeting
2.  Daily scrum
3.  Sprint review meeting
4.  Sprint retrospective meeting

Adaption

After inspection, adjustment should be made to the process and artifacts in order to minimize further deviation(偏差).



3 Roles

Product Owner

Own and prioritize the Product backlogs.

1.  Gather requirements
2.  Does not interfere during Sprint. (No scope creep)


Scrum Master

Facilitates the Scrum process.

1.  Remove obstacles.
2.  Listen and watch carefully during Scrum meetings.



The Team

Produce Increments of shippable product functionality.

1.  Estimate the effort.
2.  Select works for each Sprint.
3.  Commit to the work as a team.



3 Ceremonies

Sprint Planning meeting

1.  PO reviews Vision, Roadmap, Release Plan.
2.  Team estimate each item on Product backlogs which are candidates for the Sprint backlog.
3.  Decide the Sprint backlogs.


The Daily Scrum (Standup meeting)

1.  Host by the Team.
2.  Other may attend but NOT speak.
3.  Each member answer the following 3 questions:
n   What did you do yesterday
n   What are you doing today
n   What is in your way
4.  PO can stops (pulls) the valueless backlog ANY TIME.



Sprint Review meeting

1.  Product demo, which is hosted by PO.
2.  Sprint Retrospective, which is hosted by Scrum master.
n   What worked?
n   What did not?
n   What adjustments can we make now?

PS. I would rather separate the Spring Retrospective meeting from Sprint Review meeting, cus the purposes of them are different and the participants are not the same as well.



3 Artifacts

1.  Product backlog
2.  Sprint backlog
3.  Increment



3 Best Practices

User Story

As a
I Want
So that

Acceptance criteria
Assumptions (假設條件):
Limitations (限制條件):
Exclusion (排除事項):

Risk:
Deliverables:


Planning Poker

Use of the Scrum Board

Sprint backlogs
TO DO
DOING
DONE

A
G
I

D
F

C
E

B
H


And Burndown chart.


My Mind map







Extreme programming (XP)


XP is a software development methodology which is for
1.  Improve software quality
2.  Responsiveness to requirement-changing
3.  Empowers the developers to confidently respond to changing customer requirement, even late in the life cycle.



Core Practices

Whole Team

The team
1.  MUST include a business representative, aka the Customer.
The customer provides requirements and sets the priority.
2.  MUST have Programmers
3.  MAY include Testers, who HELP the Customer define the acceptance tests.
4.  MAY include Analysts, who HELP the Customer define the requirements.
5.  Commonly have a Coach, who helps the team keep on track and facilitates the process.


Planning Games

1.  Maximize value and minimize costs.
2.  The game is within an interval of ONE WEEK.
3.  Held in Release Planning and Iteration Planning.
4.  One or more releases in a project.
5.  One release consists of one or more iterations.



Small Released

1.  Release MMF(Minimum Marketable Features).
2.  Every week or two.
3.  The Customer decides if release to production.


Customer Tests

1.  Acceptance tests are created from user stories.
2.  The Customer specifies scenarios to test, one story can have one or more acceptance test.


Collective Code Ownership

1.  ALL programmers are responsible for maintaining the code and the quality of the code.
2.  Everyone in the team can fix the code.


Code Standards


Sustainable Pace

1.  Find the team’s perfect Velocity.
2.  Working overtime sucks the spirit and motivation.



Metaphor

Explain the technical things to the Customer in an easy-understanding way.


Continuous Integration

1.  Developers commit the codes every few hours and system will do the auto integration test.
2.  Pay me now or pay me more later!


TDD

Write a test before writing just enough production code to fulfill the test and refactoring.


Refactoring

1.  Keep refactoring in the entire project life cycle.
2.  It will saves time and increase quality.


Simple Design

1.  Testable
2.  Understandable
3.  Browsable
4.  Explainable


Pair Programming







My Mind map





Differences between Scrum and XP


XP
Scrum
Iteration length
1-2 weeks
2 weeks to 1 month
Release Planning
Yes
No
Change rules during an iteration/sprint
Yes, as long as the team has not start working on the feature.
No
Product backlog priority
The team follows the Customer’s priority.
PO prioritizes the product backlog, but team determines the development sequence.
Engineering practice
n   TDD
n   Continuous integration
n   Simple design
n   Refactoring
n   Pair programming
No
Roles
n   Customer
n   XP Coach
n   Programmer/Designer/Architect/Technical specialist/Tester
n   Product owner
n   Scrum master
n   The team


Planning
n   Release Planning game
n   Iteration Planning game
Sprint Planning meeting
Requirement
User Story backlog
Product backlog
Acceptance
Acceptance tests
Acceptance criteria



Lean Software Development (LSD)



7 principles


Eliminate waste

Includes

1.  Partially done work
2.  Extra processes
3.  Extra features
4.  Task switching
5.  Waiting
6.  Motion
7.  Defects
8.  Management activities



Amplify learning (放大學習)

Both customer representatives and team learn more about the domain knowledge/problem, and figure out possible solutions.


Decide as late as possible

1.  Delaying decision as much as possible, until they are based on FACTS and NOT on assumptions and predictions.
2.  COST much if something discovered after release!
3.  The team must improve their domain knowledge to identify task’s value and try to convince the customer. If the team is not good at the project’s domain, find a BA(Business analyst) to help.


Deliver as fast as possible

1.  Get feedback asap, for adjusting and apply to next iteration.
2.  The shorter an iteration, the better for LEARNING and COMMUNICATION within the team.



Empower the team

1.  Not the traditional way: C&C, aka Control and Command.
2.  The managers should listen to the developers, so that they can explain better what actions might be taken and gather suggestions for improvements.


Build integrity in

1.  Refactoring
2.  Build and Test

In Scrum, it maps to the following principles:
1.  Technical excellence and good design
2.  Reflect and adjust


See the whole

Implement all the Lean principles and create the common sense for the working environment.




Portfolio Management

1.  Quick delivery with MMF(Minimum Marketable Features).
2.  Organize the teams for working efficiently.
3.  Minimize work-in-process.
4.  Fast and Flexible flow.