One of the main tasks is to understand what it is that your business does. You know what it does in that it gets work, it does the work and it invoices for the work. What you need to do is find out what helps it work well and what stops it working so well. You need to know which tasks are repeated, which adhere to a formula and which need intelligent input.
What are the procedures for pricing, allocating and recording work? What causes wastage of materials? How do you know how to allocate staff holiday, who is available when, what equipment is allocated to which job, who has been invoiced and who has paid?
Once you have detailed your current processes, brainstorm all of the additional processes that you may want in the future. These could be supplying further products, greater services or the like.
Explain your business to someone outside of your business so that they can capture your requirements. Let that person ask probing questions to find out any exceptions to your processes. Someone skilled in requirements capture at this point can save a lot of time, money and disappointment later. Any anomalies will become apparent once the system is in operation – the more you can find now, the better the end result and the less reworking required. With some fine tuning, it is likely that many of your processes can be captured in quite fine detail.
Decide on the importance of each feature so that you can get a system working with the most important features first. That way, you will get confidence early on as to what the system can do for you. You will also find out early what parts you have missed and you will better understand. Think of this as mitigating the errors you will have made in capturing requirements. It is no substitute, but it is better than finding out big errors at the implementation stage.
What elements need to be included in the processes. If it was a riding stable for example, then (depending on what you wanted to include) the components could be
- Booking Slots
- Lesson Types
What restrictions or rules do you want the system to control. In the riding school example, you may want to make sure that every lesson being booked has an instructor and that there are no more than six people per instructor. You may say that each horse needs at least half an hour between lessons. You may decide that all lessons need to be authorised by a senior instructor.
Do you need people outside of your organisation to be able to access the system so that they can book lessons, for example? Maybe you need your people to be able to access the system so that they can work from home or on the road.This can be restricted to maintain privacy. Depending upon your requirements, the system could reside in your premises or out on the internet. Do you want it to be integrated with your web site? If you have it on your premises, then you will need to build access from the internet into your system if people are to be able to access it from the internet. If it is out on the main internet then you will not be able to access your system when your internet connection is down.
The design of the system is important so that the users feel happy using it. New systems will inevitably meet with resistance so the better you can make the user interface, the quicker it will be accepted and the more useful it will be.
Build the highest priority components first. Review the build and identify what further components need to be designed in, what is unnecessary, what processes need to be altered, added or removed.
Be critical of the new system so that it can be reworked where it does not do what you expect. It is important to have decided in stage 1 what you expect. This way, you can accurately decide whether or not the system builder has accurately followed your requirements or whether they have not. It might be that the builder has accurately followed your instructions but that you have not managed to specify them accurately enough. It may be that your specifications have not been followed accurately enough by the system builder. This is important in deciding who should pay for reworking, whether it is an ‘error’ or whether it is a new requirement. reworking of both these types is typical and some amount should be expected.
Once you have used your system for a while, you will find ways in that, with a little expansion, it can be improved to further help your business.