3. Reduce uncertainty
Can we do it? How?
Gather information
What will be needed in order to get this
done
Trying to avoid failure
Identify risks
4. When information is missing we can:
Guess, Estimate => Guesstimate
Use semi formal models (COCOMO ,
Wideband Delphi,…)
Use prior experience - Consult the
experts.
4
5. Or we can reduce
uncertainty by
generating concrete
knowledge
5
6. Project Execution
The phase in which the project is being built.
Ideally by following the plan.
However, “The Plan” won’t change reality!!!
When moving to execution “The Plan” has no
significance.
“Responding to change over following a plan”
6
7. 7
When planning, its important
to make sure that team
members capacity is filled with
enough work.
10. From the plan we derive
Team size,
Scope, and
Timeline
We give those to the development team.
Work is spitted into milestones
Without usable, measurable deliveries.
Without considering value to customer.
Work is started and monitored.
10
11. Add more people
“Adding manpower to a late software project makes it
later” Brooks's law, ”The Mythical Man-Month.”
Increase Pressure
Result in decreased quality, which causes further
delays.
Reduce scope or Delay
No real management “API’s”
11
14. Assume the plan is wrong.
Maximize delivered business value.
At any given point in time.
Closely measure progress.
Minimize Waste.
By applying Just In Time Principle.
Always adopt the plan to reality.
14
15. We create the set of requirements (Backlog).
We pick the content delivered to
customer(Release).
Work is done in an short cycles (Sprints).
Each cycle produces a set of complete working
features.
Progress is tracked and plan is adopted.
15
16. Add more people
"adding manpower to a late software project makes it
later" Brooks's law ,The Mythical Man-Month.
Increase Pressure
Result in decreased quality, which causes further
delays.
Reduce scope or Delay
16
17. At the end of every sprint, the product backlog
is updated
Priorities can be changed,
Estimations are corrected,
and Progress is plotted.
The Release plan is “fixed”,
and communicated to the customer.
Changes are applied to the work plan
17
18. 19
User Interface
Business Logic
Data Layer
Infra Structure
X 4 months
X 4 months
X 4 months
X 4 months4 months 3 weeks
4 months
4 months 1 week
Going to
take 6
months
19. First, lets check were we are:
Infra, DAL and BL are done.
We have 3 more months so we can finish 50% of the
UI
We can either:
Deliver 50% of the functionality (hoping to buy some time to
finish more)
Sit with client and postpone the delivery date
20
20. 21
User Interface
Business Logic
Data Layer
Infra Structure
4
months
4
months
4
months
4
months
4 months
3 weeks
4 months 4 months
1 week
Going to take
6 months
21. First, lets check were we are:
3 parts are done (75%).
We have 3 more months so we can finish 50% of the
final part
We can either:
Deliver almost 90% of the functionality
Sit with client and postpone the delivery date
22
23. Lior Friedman – Co-Founder of Practical Agile
We help companies improve using Agile
techniques
I’m also a professional programmer
So I help other programmer improve on their
Technical Skills
You can find me at:
lior@practical-agile.com
http://imistaken.blogspot.co.il/
@imistaken
Notes de l'éditeur
Effectiveness is the capability of producing a desired result. When something is deemed effective, it means it has an intended or expected outcome, or produces a deep, vivid impressionEfficiency in general describes the extent to which time, effort or cost is well used for the intended task or purpose.It is often used with the specific purpose of relaying the capability of a specific application of effort to produce a specific outcome effectively with a minimum amount or quantity of waste, expense, or unnecessary effort. "Efficiency" has widely varying meanings in different disciplines.
WhileEffeciency is desired, Effectiveness is Actually what’`s needed.