Any application that is critical to running the mainstream operation of a business can be considered a mission critical application. These applications should be sustainable, maintainable, flexible and adaptable to keep up with the pace of today’s evolving nature of business. “Change is the essential process of all existence.” — As aptly stated by Mr. Spock in Star Trek: The Original Series.

As architects or developers involved in these types of software projects, it’s important to realize that software design and development often ends up following one of these two extremes: over-engineering or under-engineering.

Over the years, I’ve designed, developed and reviewed many software projects and have always found areas or specific pieces where the software was either too complex or such, where simplicity, bad habits, business rush or developer turnover had led to a messy situation.

If you can’t explain your code to someone else in a minute or two, then you have made the code too complex.

So, how can we avoid such problems? Here are four principles that can help address these issues:


The Keep It Simple Stupid (KISS) principle states that most systems work best if they are kept simple.

Unnecessary complexity should be avoided.

You should try to solve the problem in the simplest way you can. Ask yourself or your team: Do we really need to build the USS Enterprise or can a helicopter do the job?

To read the whole post and interact, please visit the SogetiLabs blog: Live Long and Prosper: Apply Four Simple Programming Principles