Means we don’t need to decide when we know little about the product
Bruce Scharlau, University of Aberdeen, 2012
Knowing that can communicate when required allows decisions to be postponed
Why decide early on, when the client knows less about the product, when we can postpone the decision until later?
We don’t have to lock-in choices early, so why should we?
Bruce Scharlau, University of Aberdeen, 2012
Use your real options to procrastinate
deciding to do something is not the same committing yourself to an action
Bruce Scharlau, University of Aberdeen, 2012
When you commit early, then you must know WHY you do so and what the costs will be
Go see lean procrastination blog
http://leanprocrastination.com/blog/
Communication improves position in cone of uncertainty
Bruce Scharlau, University of Aberdeen, 2012
Project estimates improve as we learn more about the project
Seek short project feedback loops
Look for feedback from coding, integration, client, so that can make corrections as soon as possible
Bruce Scharlau, University of Aberdeen, 2012
Communication enables choice of project priorities
The customer knows what is required for their application and this will be revealed more with each iteration
Bruce Scharlau, University of Aberdeen, 2012
Stand up meetings aid communication
Daily meetings of all of the team in the morning to determine who’s did what yesterday, what they intend to do today, and what issues are holding them up, which need to be resolved
Short, 10-15 meetings only: follow up as needed with longer individual meetings
Let people work on project if not needed for meeting
Bruce Scharlau, University of Aberdeen, 2012
Pair programming aids communication
Two people work together at ONE computer to program a feature, or task
One person types, while the other catches typos, suggests algorithms to make the code work, asks questions
This is proven to work better than two people working separately and joining code together later.
Bruce Scharlau, University of Aberdeen, 2012
TDD and BDD confirms that communication is ok
The client writes tests that the team use to confirm the program does what it should. These guide the team in development.
Use Cucumber to clarify with the client what is needed and then can use RSpec for more testing underneath
Bruce Scharlau, University of Aberdeen, 2012
Continuous integration is a form of communication
CI is the process of using a tool to download the group source code and building the project to see that it passes its tests and runs as expected.
Evo process model provides clear communication of objectives
Bruce Scharlau, University of Aberdeen, 2012
Evo checks that the application has clear business objectives and determines how to measure them along an appropriate scale to know whether the application is helping to meet desired organisation goals.
IET is precise means to communicate priorities
Bruce Scharlau, University of Aberdeen, 2012
Design Ideas
Objectives
#1
#2
#3
Total
Increase Market Share (12% -> 25%)
0%
0%
0%
0%
Increase Monetary Donations ($2.4m -> $3.0m)
0%
0%
0%
0%
Increase Time Donations (2,400 hrs -> 3,200 hrs)
0%
0%
0%
0%
Total Impact
0%
0%
0%
Costs (thousands)
Hardware / Software
$1
$1
$1
$3
Development Effort
$0
$0
$0
$0
Total Costs
$1
$1
$1
$3
Performance to Cost Ratio
0.00
0.00
0.00
IET = Impact estimation table
Lean and Kanban principles ensure we only do what is needed