- Engineering Complexity
- Birth of Murphy for Java
- People = Problems
- Education Through Pain Management
- The Twenty-Cent Solution
- Fraternal Clones
- "We Lost the Napkin"
- The Devil in Blue Jeans
- Jack and the Beanstalk
- The Slashdot Effect
- The Funhouse Microphone
- That "New Car" Smell
- If I Can See It, It Must Be Wrong
- The Ugly American
- Murphy's Law
- Use Egg Cartons
- Conclusion
The Devil in Blue Jeans
Law: Programming by the seat of your pants requires that you have a couple extra pairs of pants.
Q: Are accepted design techniques being used? Do you have experience with formal design?
Taking the time to create a formal design is often misunderstood as wasteful because results are less visible. If a team programs by the seat of its collective pants, failures are more common. Formal designs and even minimal design can reduce errors in a design before hard code is written. It costs a lot less to throw away a piece of a paper than a lot of highly integrated code that doesn't work.
The key is not to be carried away with designing, rather than doing what's necessary to clarify the design. If the project is a prototype or an experiment, there's little value in a huge design. If the project takes man-years to develop, on the other hand, formal designs could save months of rewriting bad and buggy code.
Low Risk
A formal design methodology is used. The team has experience.
The development methodology takes into account requirements, prototyping, and object-oriented techniques.
Design time is scheduled for one third to one half of the total development time.
High Risk
No experience with formal design.
No design documents other than the software itself.
Design time is a small percentage of development schedules.
Risk Management
Do as much up-front analysis and design as possible.
Hire consultants to create an object-oriented design (make sure they know Java).