• Good Software Development
    is a Balancing Act

Good System Software / Successful Software Projects

Making Good Software Requires Balance

When we say balance we mean two different but equally important kinds of balance.

  1. The balance within the company contracting the system itself, and
  2. The balance between system software costs (in terms of both time and money) and the functionality of the system.
In other words, as a company having custome software for your organization built, you must figure out how to resolve the conflicting needs and wants that come from the "I want our system to do this..." and "Our software needs to have (this) function..." demands and produce a productive and useful system. Ask yourself this; “Can everybody in a group ever get all of their specific needs met?”
The answer is: ALMOST NEVER.

It is physically impossible to meet every need and satisfy every demand within one system if even one of the needs are contradictory. By meeting one demand or group’s needs, another groups demands must be left unmet. Let's get out the visual aides to help make this point. We'll use the kind of sales management system that every business needs and uses as an example.


Demands on the software system by different internal sectors

Examples of common demands and how these demands are incorporated into system software development

DEMAND A: The Business Owner / CEO

DEMAND B: Accounting / Finance Department

DEMAND C: System Administrator

DEMAND D: Operator / Data Input


DEMAND F: Management


Final Points

Achieving Balanced Custom Software That Your Company Can Implement

Consequences of Imbalance

The first point I want to make here is that all demands are not equal and can't be treated as such.

Sorry operators, the most pressing issue here isn’t to make your job easier, and Mr. Corporate President? Since your input operators want an easier work-flow, but data integrity calls for more work from them, it’s absolutely your job to get them on board with this.

And if things go overboard, and input operator’s demands are ignored entirely and data input becomes too complex, it takes too long to record a single transaction and your staff may put of or ignore the entry process entirely and there’s no point to your half-a-million dollar software package. (*Ace had a client who had implemented a multi-national corporation’s ERP, but the entry was so complex that only one person knew how to use it, so the entire department ended up using excel sheets instead.) It's all a matter of balance.

This "balance" is as varied as there are companies. Factors such as the number of employees, what kind of business it is, the operators skill levels etc. must all be taken into account when trying to find the best balance for any given company. One of the next criteria to use when judging whether system software is good or not is the cost of the system itself. Cost here is not just an issue of actual money spent, but also the costs in terms man power hours spent on the development the system, in meetings and consultations about the system, and time spent testing and working out the system.

Taking all these factors into account, it is absolutely essential to evaluate each demand's appropriateness, priority level and necessity before blueprinting the system software and starting development. In the face of all these demands, we believe that it is absolutely necessary to, along with the client, carefully grow to understand the clients company's real needs and produce a well balanced system that meets the truly important demands of that company. And just as important is the absolute cooperation of the client in helping their people understand how and why the system has been designed in the way it has. The more help the system has in being integrated and utilized by the company's members, the greater value it has.

We'll help you find your balance.