Practical Software Design
Software architecture projects should always aim for simplicity of design. A simple, uniform design reduces development time, improves maintainability, and makes modifications quicker and easier.
Often developers and software architects think they have an “elegant” design because they have tried to design very generically and/or very object-oriented, used a lot of open software components, and/or tried to plan for yet undefined requirements. But often the result is software that is much more complicated and bulky than needed. Over-designed, bulky software is costly to develop and maintain.
How can you tell if you truly have a good design or not? Here are the five keys to good software design:
- #1 Is there a simpler approach?
- #2 Is it customer-focused?
- #3 Is it designed for the expected user base?
- #4 Was performance considered?
- #5 Is it reliable, maintainable, supportable?