Good System Software / Successful Software Projects

What it takes to make good software

We believe that a "good system" = a "balanced system".

menu line

When we say balance we mean two different but equally important kinds of balance. The first is a balance within the company contracting the system, and the second is a balance between system costs (in both time and money) and functionality of the system. In other words, 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 system must be..." demands and produce a productive and useful system. Right now, the most important thing to remember is; It is physically impossible to meet every need and satisfy every demand within one system. By meeting one demand or groups 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.

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

menu line

The various demands on the system by different sectors

System Engineering Theory by Hiroshi Hibino (C)2000
Examples of types of demands from each section:   How these demands are incorporated into the system: What happens when these demands are met:
Wants to cut unnecessary expenses In order to lessen the amount of slow moving inventory, can establish personal responsibility for purchases 
Wants to avoid the occurrence of non-performing loans Set a credit limit into the system that doesn't allow transactions from clients that have over a certain amount of outstanding credit due
Wants to quickly and easily get a grasp of assets and profits In order to keep tabs on actual  cost of goods, strictly manage inventory on a first in first out basis.
Wants to quickly and easily carry out accounting issues Have up to the minute payment information and payment schedule data available in order to better grasp the company's true cash-flow status
Wants to easily manage the system Add many functions that help make the system quickly and easily usable by everyone
Wants better, stronger security As needed, can control the system by means of passwords and control of individual terminals
 
Wants work to be able to be done as easily as possible Add a function that allows an order that is the same as the previous one to be filled in by default
Wants to be able to make changes and revisions to input data Make it possible to modify and delete sales and inventory data at any time
Wants to make issues dealing with sales easier, quicker In order to avoid non-payment issues, can carefully detail sales data invoices and payment balance data
Wants to be able to easily print out information Attach data print-out functions for each and every subject
Wants to analyze data Add various data categories to every master and add linked data categories in every transaction
Wants to rate individual performance easily Make it possible to see sales management result data for each and every person

Balanced Software

menu line

The first point I want to make here is that all demands are not equal nor need to be treated as such. From a system engineers stand point, D's demands, for example, rate a fairly low level of priority. Rather, if at all possible I would hope that D could be convinced to give a little so that other more pressing needs can be met.
However, if D's demands are ignored entirely and data input becomes too complex, it takes too long to record a single transaction and the flow of business is interrupted. As I said before, 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. The second thing that you must keep in mind when rating whether a system is "good" or not is the cost of the system itself. Cost here is not just an issue of actual monetary costs, 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 of the utmost importance to carefully examine each demand's appropriateness, priority level and necessity.

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.

Website Homemenu line Custom Softwaremenu line Custom Mobile Softwaremenu line Web Design S.E.O. Marketingmenu line ECommercemenu line Automated Catalogmenu line Careersmenu line About us
TO TOP