Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

four variables

897 views

Published on

Discussion about the effect of quality on the process, for example defining the quality as the variable that affects the speed, and the independence, of implementing the next features. Inspired by the speed quality barrier of J.B. and quality of non decreasing velocity (Qdv) of @keith_b models. The claim is that sustainable long term development should be being over the quality of non declining velocity level, and so there could be a discussion about the fact that some practices are economically justified if it could be proved they make possible to be over the Qdv.

Published in: Technology
  • Be the first to comment

four variables

  1. 1. Resources Scope Time Quality ● Antonio Lucca tonyx@yahoo.com ● http://tonyxzt.blogspot.com/ ● @tonyxzt
  2. 2. Scope Quality Resources Time ● Scope - what is to be done; the features to be implemented; ● Quality - the requirements for correctness and other "good" things ● Resources - the investment of personnel, equipment, and ... ● Time - the duration of the project.
  3. 3. Relationships ● + scope => + time ● + scope => + resources (questionable) ● etc... ● ● Quality...(not yet defined) ● ●
  4. 4. about quality ● External quality: what is perceived by the users of a system. => part of the scope ● Internal quality: refers to issues that usually aren't visible to the user, but which have a profound effect on the maintainability of the system ● (Henrik Kniberg. Scrum and Xp From the Trenches)
  5. 5. Negotiate the quality? ● Is not up for discussion. It is the team's responsibility to maintain the system's quality under all circumstances and this is simply not negotiable. Ever. ● (Well, OK, almost never) ● (Henrik Kniberg: Scrum and Xp from the trenches)
  6. 6. I don't refactor because I want to have the ultimate design, I refactor to make the next feature cheaper.” (J.B. Rainsberger) ● => marginal cost. marginal cost is the change in total cost that arises when the quantity produced changes by one unit ● Low quality => marginal goes up (timeframes increases) ● High quality => marginal cost goes down (timeframes decreases) ● (http://www.ustream.tv/flash/video/4722190) ● “Quality speed barrier: for any project we can find a quality level below which one must trade off quality and speed and above which one derives more speed from better quality.” ● (http://www.jbrains.ca/permalink/218)
  7. 7. Ordinary velocity
  8. 8. Faster? In the same time more features (cut “quality”)
  9. 9. Consequences ● In time T1 we done 29 features, instead of 18, but we have a different base code “quality” ● => less “resource”. (base code should be a resource, to make the next features cheaper and independent)
  10. 10. Toxic code ● “declining velocity” model. As the times goes up, toxic part of the code increases, and it makes more and more difficult to implement new features. ● => decreasing velocity ● So then ∂V/∂t <0
  11. 11. The opposite? ● Base code is a resource, not an obstacle ● Going forward, it is more likely that the base code contains what we need to implement new features (eat your own dog food). ● Tendency of going faster ● => ∂V/∂t >0
  12. 12. In the middle there is the threshold: ● So there is in the middle a level 0 ● ∂V/∂t = 0 ● It is called Qdv ● Quality of non decreasing velocity ● (Keith Braithwaite) ● (http://peripateticaxiom.blogspot.com/2009_05 _31_archive.html)
  13. 13. Curve or practices for Qdv?
  14. 14. Reminder. Cynefin framework:
  15. 15. Conclusions ● The practices and values to be added in the process to reach sustainability are not always the same, and there is not predictable effect (complex area of cynefin framework: retrospective coherence) ● There is the need of some empirical evidences of this model ● The model matches the “short term needs” of business and long term sustainability as well
  16. 16. Links ● http://www.ustream.tv/flash/video/4722190 ● http://www.jbrains.ca/permalink/218 ● Sufficient Design: ● https://elearning.industriallogic.com/gh/submit?Acti

×