Software Usage Guidelines
Using software in our work is essential for most of us and we are becoming even more dependant on it's use. While software is a great asset, many times using it can be more problematic than the problem it is trying to solve. To maximise the benefit of using software I have been trying to think of five general guidelines. This is my list:
Know what you want to do
Sounds obvious, but quite often people get side tracked in using all the software functions or trying to use the incorrect software. For example if you have an all singing all dancing software which can fully design all aspects of an electrical system, but you only need to size a single cable then the software may not be suitable. The software may require lots of time inputting masses of data which may or may not be available and is probably not relevant to the sizing of a cable. In this instance you would need to limit your use of the software or maybe use different software or a even consider a hand calculation.
Garbage in garbage out
An old saying, but very true. The output and answers from software are dependant on the data given to it. If you provide incorrect data or make mistakes inputting information then the output will be incorrect. When inputting data it is essential to spend time ensuring that the input into each step is correct and accurate.
List assumptions
Rarely is all the information necessarily available at the time required. Often assumptions or side calculations are made to obtain the necessary input data for software. These assumptions (side calculations) should be documented. During review/checking or modifying of the software at some future date, it will be necessary to know what are the assumptions and where then come from.
Verify and check
Verify or reality check the, output of software. Mistakes in input data and software bugs mean that errors can appear in the output. In in the above cable example, you should have a rough idea of the likely size ranges, what length of cable will start giving voltage drop problems, etc. If the software is producing answers in line with these expectations they you can be confident that things are going well. Another useful exercise is to consistently check output at each stage of data input to ensure that errors are found early and corrected early. It is easier to correct errors as they occur, rather than at the end of the software input exercise.
Software is a tool
This ties all the above together. Software is a tool to use in the same way calculators, scale rulers, tracing paper, telephones, etc. are. Tools are not the problem solving intelligence - the human using the tool is the brains behind the operation. If the answers are wrong it's not realistic to put the blame software. If the wrong software has been selected, it is used incorrectly, the input data is bad and or no checks on the output have been carried out then it is probably the users problem, not the software.
To varying extents I try to follow the above guidelines. When I do I am reasonably successful. On the odd occasion where I haven't followed my own guidelines things have not run quite so smoothly.