Virtues of On Demand Design

Process Virtues

Quality First and Easy

Quality must be the first and primary virtue of any software development effort. You can deliver 100% of the features 3 months ahead of schedule, but if the quality isn’t there people will only notice how poorly it works.  It’s relatively easy to apologize for lateness or missing features while maintaining user trust, but the features that are there better work or people will lose faith and trust and that is extremely difficult to regain.  Quality isn’t something that can be added later, it has to be something you provide for up front and make an inherent part of any process or discipline.

In order to encourage this culture of quality, quality has to be easy.  In fact, it’s best if implementing with quality is easier than implementing without quality. 

Frequent, short feedback loops/cycles


Inherent Verification


Implementation Virtues

Layered architecture


Decoupled object design


Separation of concerns


Isolation of dependencies, especially slow ones like networking, database, etc


Real Rapid Development