One of the most important aspects to writing a comprehensible computer system specification is clear communication, talking and listening, between the client and the specification writer. Talking and listening are steps four and five of the eight steps to creating an understandable and usable specification.
4. Talk to the Client.
The only way to figure out what a client wants is to actually talk to the client. Not email. Not IM. Not phone calls. All these tools are useful to clarify information originally discussed in person, but every good specification starts with face to face, real-life conversations between the business person responsible for the system and the person who will write the specification. In addition to defining the business process (as described in Issue No. 22 of Info Point), the key questions to be answered when talking with the client are as follows:
- What are the client’s goals for the system?
- How will the system make a difference in the client’s business?
- If replacing an existing system:
- What didn’t work in the existing system?
- Does the information in the existing system need to be imported into the new system?
- Who will use the system?
- What information will be stored in the system?
- Will all information be entered directly into the system, or will it come in from outside the system – maybe from another system inside or outside the company?
- If information comes from another system, what does it look like? Are samples of the information for the other system available? Who is responsible for the other system?
- What information does the client need out of this system?
- What should the information coming out of the system look like?
- Does the client want printed reports or spreadsheets or will the client primarily view the information on a computer screen?
- When does the client need the system? What happens if it’s not ready on this date?
- Will the client always use the system inside the office? Should it be accessible from outside the office, too?
- Who will make the final decisions on the system design?
- Who will be testing the system, installing the system, creating documentation for the system, training users to use the system, and providing support for the system?
After answering these questions, talk to the client about each screen and function in the system, from logging in to signing off to everything in between. For each screen or function, define:
- What is the purpose of each screen or function?
- How does the user access each screen or function?
- Is a screen or function available to all users? If not, what business rules limit access?
- What information is included in each screen or function? Be specific; name each piece of information and decide what it will be – a number, text, a date, a dollar amount, etc.
- What, if any, rules apply to each piece of information?
- Is there information that can be blank? That can’t be blank?
- What is the sequence in which the information should be displayed?
- How is the information entered into each screen or function? Is it:
- Entered directly on the screen?
- Entered elsewhere in the system?
- Entered in another system? If so, how will it get into this system?
Can information be changed at a later time? If so, are the rules different for changing compared to adding new information?
5. Listen to the client.
It should not have to be said, but probably the most important thing that needs to be done and also is most often ignored is to LISTEN. Don’t jump in every time the client takes a minute to think; wait and be ready to listen. Don’t assume similar businesses have the same processes and functions. Don’t think a client will have the same answers as another client with a similar business. Never presume to know more about a business than the people who do the work. With this sort of attitude, listening stops. Don’t plan the next question or response to a comment while the other person is talking.
Remember all the questions that need to be answered for every screen and function in the system? The only way to get all the answers is to listen!
By the way – even with careful listening, don’t be fooled and think all the answers will be remembered, by the specification writer or the client, without taking notes. Even for small systems, and especially for large systems, take notes during the discussion. An added benefit of taking notes is that it shows the client that what he or she says is important enough to write down.
Once the first dialogue is complete, writing the specification can begin. However, all the information that is needed cannot be gathered in one client meeting. The communication must be ongoing, and the process described above needs to be repeated until all the details about the application have been successfully communicated between the client and the specification writer.
But, how long will writing the specification take, when is the specification complete, and why invest the time in a good specification? These questions will be answered in the next issue of our newsletter.
Eight Steps to Creating an Understandable and Usable Specification
- Understand the client’s business process.
- Speak the client’s language.
- Draw pictures.
- Talk to the client.
- Listen to the client.
- Invest the time to create a clear specification.
- Don’t assume a specification is complete.
- Get a return on your investment with a clear specification.