Cutting Remarks

CRUFT Calculation in Agile Modelling.

For those that have come across this term and come from an engineering background, this is exactly the reason why some Agilists get a bad rap in my book. The CRUFT calculation is a  method of 'calculating' the efficacy of documentation based upon answering the following questions:
  • Correct - How correct is the current documentation at this moment in time?
  • Read - Will the current document be read?
  • Understood - Will the current document be understood?
  • Followed - Will the document be followed?
  • Trusted - Will the document be trusted and instil confidence in the communication?
The answers to these questions are claimed to be rated as percentages and then the cruft calculation rates the document out of 100% by using the formula:

100% - C * R * U * F * T

However, when giving this to a group of Agilists who have no mathematical background, you get the comment in Mr Ambler's own blog (noting he came up with the idea in the first place)...

The CRUFT rating of the document, with 100% being a bad thing, is calculated with the following formula:  100% - C * R * U * F * T, where the following factors are measured as percentages:
  • C = The percentage of the document that is currently “correct".
  • R = The chance that the document will be read by the intended audience.
  • U = The percentage of the document that is actually understood by the intended audience.
  • F = The chance that the material contained in document will be followed. (sic)
  • T = The chance that the document will be trusted.

Sigh... *shakes head*

Sorry to be pedantic, but for those of us with mathematical backgrounds, we can immediately come the conclusion that this representation is fundamentally flawed. For significant ratings in any one of those values, when multiplied with any other similarly reasonable value will result in a CRUFT rating of a negative number. 

For example, consider an 80% correct document, which is read by 95% of people, with 70% of it being understood by those it is aimed at, which will be followed 1% and will be trusted 90% of the time (which, aside from the 1% following, are all good components) results in a CRUFT rating of:

100% - ( 80 * 95 * 70 * 1 * 90 ) = -47879900

Great! Brilliant! What do I do with that percentage? I assume that is a good thing right? Even though nobody is going to follow it? 

OK, OK, don't panic! Let us show the misguided (often unthinking) Agilists the Dr Dobbs version which is much more correct and has at least been proof read:

1 - ( C * R * U * F * T ) = 1 - ( 0.8 * 0.95 * 0.7 * 0.01 * 0.9 ) = 0.995212

So, at 99.52%, this is a poor rating. Cool! How it was meant to be. The world is back in order :-S