….until newer Maxims demolish old ones:
1. Time taken to do reviews(all artifacts – requirement specs, design spec, code, test cases etc)
is directly proportional to application quality and inversely proportional to number of defects.
2. Definition of “Done” = QA executes the software with acceptable types and amounts of defects.
3. “Working code against tiny database” != “Working code against production size database”
or “Tested against tiny database or tiny files” != “Production Ready Application”
4. Cross vertical understanding by developers is directly proportional to code quality in a given vertical.
4a. Business understanding by developers is directly proportional to Quality of software.
5. Agile development != Automatic Quality and Success
or Speed of agility is directly proportional to Risk of Architecture shifting requirements discovered late in the cycle.
6. Not integrated software = Not working software.
7. Nightly Trunk Building, Deploying and Smoke Tested = Stability.
7a. Nightly Master Build = Successful Compilation + Successful Unit Tests + Successful Integration Tests + Successful Deployment + Successful Smoke Testing
8. Number of Branches is indirectly proportional to Stability of Code.
9. Duration of Branches is indirectly proportional to Stability of Code.
10. Developer Estimate != Commitment
11. Contract = Commitment
12. Probability that Estimate in Contract is in vicinity of accuracy = 0.
13. Probability that Contract will be altered as project progresses = 0.
15. The usability of a product is directly proportional to the hourly salary of the intended end-users.
16. Defect Fixing – Root Cause Analysis and Addressal = Lost Opportunity for better quality.
17. Probability of defects slipping in is indirectly proportional to build, test, deploy speed.