O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Why agile works? 
Andres Kütt 
RIA / State Information System Architect 
20.11.14
We perceive the world via mental models 
We also use them to make predictions about the future
These models are inaccurate
Because humans are not perfect 
Contrary to what you might think about yourself
Because accuracy does not guarantee 
social success 
Galileo had a very accurate model of the universe that 
also made him...
Because math gets too complex 
Non-linear and chaotic processes, 
the three-body problem, etc.
This is a three litre Bag-in-Box of Sacrifice Shiraz Red Wine. Drink responsibly!
gS 
S 
Can we find tempty based on S0 and g?
The exponent will never reach zero
Yet we get the physics for this in 
high-school 
Our mental model is not accurate enough
What else might we get wrong? 
What about our mental model of software projects?
About the computational model used 
! Shape is more important than size 
! The idea is to model behaviour, not give precis...
Let’s get to it
The simple model 
Let our base project be a project with 100 tasks. The team size is 200 people, each of whom can accompli...
Whoops, a 2.25 times longer project emerged by allowing mistakes (20%) and allowing them to cause additional work. Of cour...
Team churn, turns out, does not have a significant impact
Projects are not linear 
Not on a large scale. 
But agile works on much smaller timescales 
What is the main assumption th...
no testing before 30% of project duration. Which turns out to be a 25%.
The sooner you test, the better 
In agile, testing starts immediately
The importance of skilled workforce. Decreasing the error rate is 1.5 times as beneficial than allowing it to increase
Incompetence is really bad 
Agile breeds and needs competence 
Can agile only be done properly by such competent folks who...
Effects of learning will be over-and 
bad HR under-estimated 
Decreased error rate will have a much smaller impact 
than i...
The basic structure of the model used
Thank you! 
Andres Kütt 
andres.kutt@ria.ee
Próximos SlideShares
Carregando em…5
×

Why agile works

792 visualizações

Publicada em

A deck supporting a speech at TopConf Tallinn 2014 on modelling software projects and our mental models of software.

Publicada em: Tecnologia
  • Login to see the comments

Why agile works

  1. 1. Why agile works? Andres Kütt RIA / State Information System Architect 20.11.14
  2. 2. We perceive the world via mental models We also use them to make predictions about the future
  3. 3. These models are inaccurate
  4. 4. Because humans are not perfect Contrary to what you might think about yourself
  5. 5. Because accuracy does not guarantee social success Galileo had a very accurate model of the universe that also made him very unpopular
  6. 6. Because math gets too complex Non-linear and chaotic processes, the three-body problem, etc.
  7. 7. This is a three litre Bag-in-Box of Sacrifice Shiraz Red Wine. Drink responsibly!
  8. 8. gS S Can we find tempty based on S0 and g?
  9. 9. The exponent will never reach zero
  10. 10. Yet we get the physics for this in high-school Our mental model is not accurate enough
  11. 11. What else might we get wrong? What about our mental model of software projects?
  12. 12. About the computational model used ! Shape is more important than size ! The idea is to model behaviour, not give precise numbers ! The same sort of bathtub-based logic is used ! A lot can be built by simulating interconnected baths ! Look up system dynamics, if you are so inclined ! It has been validated ! Not published but supported by research ! Makes a lot of intuitive sense
  13. 13. Let’s get to it
  14. 14. The simple model Let our base project be a project with 100 tasks. The team size is 200 people, each of whom can accomplish 0.005 tasks per week, this leads to… 20% of mistakes and reasonable assumptions on additional work
  15. 15. Whoops, a 2.25 times longer project emerged by allowing mistakes (20%) and allowing them to cause additional work. Of course, the relationships are more subtle but they are way too geeky to explain here. The deconstruction rate depends on how much of the project is done: it is 0 for about 50% and grows to 1 (in the later phase, as much of effort goes into deconstruction as into rework) as the project progresses.
  16. 16. Team churn, turns out, does not have a significant impact
  17. 17. Projects are not linear Not on a large scale. But agile works on much smaller timescales What is the main assumption that we have made in this modelling thus far? We test all the time. What if this is not the case? Let’s look at typical waterfall.
  18. 18. no testing before 30% of project duration. Which turns out to be a 25%.
  19. 19. The sooner you test, the better In agile, testing starts immediately
  20. 20. The importance of skilled workforce. Decreasing the error rate is 1.5 times as beneficial than allowing it to increase
  21. 21. Incompetence is really bad Agile breeds and needs competence Can agile only be done properly by such competent folks who would succeed regardless?
  22. 22. Effects of learning will be over-and bad HR under-estimated Decreased error rate will have a much smaller impact than increased error rate
  23. 23. The basic structure of the model used
  24. 24. Thank you! Andres Kütt andres.kutt@ria.ee

×