Design first, then Develop Code
Since software source code is the visible evidence of an invisible and intangible design, many companies launch into coding too soon. One of our clients recently retained another company to develop a product for them. Because of a tight schedule, the company’s engineers were coding before any design work was done resulting in major re-working of the code when poorly planned approaches did not meet requirements. Ironically, the schedule suffered as a consequence. We focus our initial efforts to develop sound designs, then develop code to implement those designs.
At MicroTools, we recognize the temptation to “just start coding”, often the most satisfying part of the project. But we also recognize the pitfalls of doing so and enforce a disciplined rigor on all our development projects. Sometimes it feels like we are holding back a team of wild horses, but it must be done.
Keep it Simple
We believe in self documenting code. Easy to say. Hard to do. But again, we find it is worth it. Too often we have come back to our own code (not even speaking about someone else’s code) – and say “What does this do?” Plain, simple, straightforward coding is much better for troubleshooting and maintaining than the elegant, complicated, cryptic approach.
We practice peer review and code walk-throughs as part of our validation / testing process. This helps not only in improving the documentation of the code, but even more important, helps find bugs before the software is released. Peer code reviews also allows more than one individual to understand the design and flow of the code for a team approach to development.