New Maxims I learned from my latest project

….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.

This entry was written by Amit, posted on August 3, 2008 at 8:21 pm, filed under Uncategorized. Leave a comment or view the discussion at the permalink.