In the todays large organizations it is not unusual to find IT systems, which run in business for several years. Over time those systems normally grow increasing in complexity for different kind of reasons: wrong initial design, increased number of functionalities, lack of knowledge, etc. Sometimes such systems are simply “born to be complex”, although the complexity is not always necessary and should be avoided; a common assumption is that the more the features a system has, the better will be. The truth is that, in most of the cases, this proliferation of features creates more damages than value.
An IT System can be simple or complex depending on the way we choose to design it. Simplicity doesn’t mean stupid, yet it means a fast initial learning curve, a short time needed to analyze issues when they occur and a low maintenance effort, in two words it means less costs. Although effective, might not be efficient to shoot a fly with a cannon.
The goal while designing an IT system is to solve a problem however complicated with the easiest possible solution. Normally it is not an easy task, but the closer you get to this goal, the higher will be the benefit generated by the effort spent on it.