Quantum Nature of Software
1) Quantization :
The number of bugs in a given piece of code is quantized. That is the number of bugs will always be found to be integers. There is 0 probability for the occurrence of 1/2 a bug.
2) Sams Uncertainty Principle (If Heisenberg can get his name in so can I :-) ):
It is not possible to predict the time line and the quality of a product simultaneously.
Hence any estimation that assures on time delivery will have quality issues and better quality software will induce a time penalty.
The equation relating these can be expressed as follows:
Definitions:
Quality(Q): Bugs per 1000 Lines of code (LOC)
Time (T): In any units (preferably in person days)
FP(CP): Function points (Coding language): This is the number that represents the average
amount of time needed to code 1000 lines in a given programming language.
Thus,
Q*T = 4.FP(CL) where 4 represents standard DIR (Defect injection ratio)
In other words, 0 defect implies infinite time!
3) Bug Tunelling effect:
There exists a finite non zero probability of a code issue in one module causing an inexplicable bug in another even if the interfaces are seamless.
Begin Random Rant
Sorry to digress but whats the deal with all these quality models CMM, Six Sigma etc ?
These models are like teenagers and sex
1) Everyone is talking about it.
2) Everyone thinks everyone else is doing it
3) Almost no one is really doing it.
End Random Rant
Enjoy. Comments welcome! :-)
1 comment:
i would like to repeat what Rajeev had said a few days back 'Even after 20 years i fail to understand u' ....in my case its more that 25 years..now i understand what are u thinking about when strolling on 'rooptop'..coming back to the view i fully agree on the standards part and its simili with sex..well thought of
Post a Comment