Common Sense!

Designing software isn’t easy, but in many cases it is not taken seriously enough until it’s too late. Practically any experienced software designer has seen this happen. The requirements, at the beginning, seem so simple that development of the software begins without too much thought. Later, the requirements become more sophisticated and changes to the application become troublesome at best. Developers fix one item, only to discover that the “fix” broke three other items!

It’s a cycle that slowly causes the destruction of the application:
  • Performance degrades
  • Fixes break more items than they fix
  • The code becomes very difficult to read
  • The number of dissatisfied users grow (along with complaints)
  • I.T. managers go bald
Eventually, the weight of all these problems causes the users to demand a whole new application.

And if you’re not careful, the same cycle starts all over again.

Of course, the opposite is also a problem. Sometimes the design of the software is overly complex from the start. Which not only causes the same problems outlined above, but realizing there is a problem happens later because it takes longer to write the code. This is a waste of time and money.

Common sense is our philosophy. One of our main issues when designing a solution is to Keep it Simple. This may sound like a contrary statement to the problems outlined above. However, done right, simplicity in design leads to elegant solutions.

We design software to keep processes separated. For example, the section of code responsible retrieving information from the data repository should not be complicated with business rules; it should just simply get the information. The business rules can be checked by another section of code specifically designed for this purpose. This sounds simple, but many times requirements and time constraints put pressure on developers to blur code responsibilities. A simple and elegant design relieves some of this pressure by making it easier to put fixes in the right place than it is to put them where they don’t belong. But it takes practice, dedication, and the right client.

If you have an application that seems way too complex, it probably is. We can help you simplify the process.