![]() | ![]() |
|||||
| ||||||
Years ago a company that I was working for subscribed to a quality course and required all of engineering to participate. Through repetition we were all taught that saying "good enough" was unacceptable.
Today quality is as important as ever. It is still constantly in a battle with the schedule however, even if the schedule dogs will not admit that they are willing to sacrifice quality on the altar of the schedule. During quality training and at stock holder's meetings the schedule dogs will deny any knowledge of schedule having a higher priority than quality. In reality the attempt to make a fixed ship date will cause these dogs to start barking about things like Dependency Management, Design Principles, Refactoring, Modularity and Re-usability as being a waste of valuable project time. The sad thing is that the time saved to ship "on time" by cutting those things will be eaten up four fold after the release in maintenance and bug fixes.
Maybe it's just a vision problem. After all you can't see the software design as easily as you can check if it functions properly. Is it "good enough" if it functions properly? Let's try this logic on a circuit board design. Is it "good enough" if it looks like figure 1, but functions properly? After all why fix it if it isn't broken?
![]() |
| Figure 1 |
The schedule dogs would bark at the above circuit board design. They can tell at a glance that it isn't finished, even if it does work properly. They know that it needs to be laid out again.
This logic does not seem to apply for software though. The schedule dogs only seem to care if it works. Any additional time put into software that works is frowned upon. They are not worried if it looks like figure 2.
![]() |
| Figure 2 |
Therefore I believe that it is our job as Software Engineers to introduce our schedule minded friends to the advantages of Iterative Development, Design Principles, Dependency Management, Modularity and Re-usability and work with them to produce products that satisfy today's customer requirements while having underlying designs that can flex to meet tomorrow's needs.
| Contact Us | Copyright © 2007 Roffers Engineering, Inc. All Rights Reserved. |