Upload
tony-lucca
View
599
Download
0
Embed Size (px)
Citation preview
Resources Scope Time Quality
● Antonio Lucca [email protected]● http://tonyxzt.blogspot.com/● @tonyxzt
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.
Relationships
● + scope => + time● + scope => + resources (questionable)● etc...●
● Quality...(not yet defined)●
●
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)
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)
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)
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)
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
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
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)
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
Links● http://www.ustream.tv/flash/video/4722190● http://www.jbrains.ca/permalink/218
● Sufficient Design:● https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=blog2009&path=blog2009/2010/sufficientDesign&devLanguage=Java