Two statements are sometimes used to describe a customer for any business: “the business exists because of the customer” and “the customer is always right.” Both statements apply to customers needing databases, to a certain degree. The business of developing a database exists because of the customer, as the customer’s business exists because of its customer. Saying that customers are always right is stretching it, but it is important to treat customers like they are always right. The customer is right until the integrity of the data is jeopardized—at which time you must be strong enough to be straightforward with the customer and offer suggestions in a tactful manner without character degradation. Customers are right in that they have a database need, they know the data, and they should get what they ask within the realm of a useful data-base, within reason. If a database has been produced with which the customer is not satisfied, logic says that the customer’s needs were not properly gathered, which falls back into the responsibility of the development team.
Sometimes the customer asks for something, but wants something else—or so it seems accord-ing to the interpretations of the development team. How are the wants and needs retrieved from the customer? Customers know what they want, but how do they convey their needs to the development team? More appropriately, how does the development team extract the required information from the customer? First, the interviewers must learn to speak the customer’s lan-guage. Sometimes the customer does not know what to ask for. It is important to communicate with the customer on his level. Take time to understand the customer’s business and needs.
Don’t expect the customer to be technically minded enough to volunteer all the information needed to design a database.
Who is the customer? The customer might be a primary end user of the database or a sec-ondary user of the database. If the customer is the primary user of the database, he is responsi-ble for transactional processing, batch processing, queries, and backups. If the customer is a secondary user of the database, he might only need to query the database to make business decisions, while an organization manages the data (transactional activity, batch processing, database administration). More likely than not, the customer will require some level of access to the data in order for the business to operate.
The following relationships the customer has should be identified and expanded on as much as possible during the interview process:
• Who is the customer’s customer?
• How does data relate to the customer’s customer?
• What is the customer’s relationship with the end user?
Be patient with the customer during interviews. Nobody understands the data, the flow of the data, and the importance of data like the customer. Afford the customer with the chance to speak and listen intently. Ask questions concerning the business and the customer’s require-ments based on the information the customer gives you. The basic information the customer volunteers should be used to generate important interview questions to gather detail.
Although, the customer should be allowed to speak, he should also listen to the interviewers.
Even though it is important that the interviewers listen to the customer and be very attentive, they should be in full charge of the interview. The interviewers are the ones in control of the interview process, and should tactfully make this fact known to the customer. The customer might not know what information to volunteer in all cases. That is why the interviewer should take control and steer the interviews in the direction that will unveil responses to all issues that have surfaced, and those issues that will surely surface throughout the design process.
Interview various individuals within the customer community as much as possible. Different individuals might have different opinions and perspectives of the business, and might have dif-ferent needs concerning the way the data is stored and accessed. The interview team should measure all responses to interview questions, and compare obvious differences between the same interview questions. If obvious differences in answers and opinions exist, it is important to determine why they exist. Consistent answers to interview questions will provide a clear understanding of the business requirements.
Different individuals from the development team should interview the customer. Using differ-ent interviewers helps provide differdiffer-ent types of questions. Also, the degree of unbiased ques-tions and opinions formulated by the design team will be reduced more than if only one person conducts the interviews. It is also imperative to win the customer’s confidence. If you have won the customer’s confidence, the customer will trust you to design a system, with little resis-tance along the way. Force yourself to get along with the customer, although sometimes it might seem impossible.
Following are some of the issues with which the customer is most concerned:
• Contractual requirements are met with their customer.
• Acceptable overall database performance is achieved.
• Acceptable database and application response time is achieved.
• The database actually meets all business needs.
• The database and application are user friendly.
5
GATHERINGBUSINESSANDSYSTEMREQUIREMENTS
• The data is easily accessed as necessary.
• The customer is able to serve its customer efficiently.
• The new database enhances the customer’s business.
• Documentation is accessible for database and application architecture and basic usage.
• Quality—of the product or service provided to their customers—is improved.
The following questions should be directed to the customer in regards to the daily functions performed:
• What are the primary goals of your business?
• Who are your customers?
• What services or products do you provide?
• How do you interact with other individuals in the organization?
• From your perspective, what are the goals of the proposed database?
• What are the different activities that take place on a daily basis?
• Who performs these activities?
• How do these activities relate to the data?
• Are activities manual or automated processes?
• Can the processes be refined?
• What manual processes can be automated?
• What problems exist with current automated processes?
• What is the triggering event for each business process?
• What is the expected outcome of each business process?
The following questions should be directed to the customer with regard to the data:
• What is the data?
• How is the data used to support the business?
• Who uses the data?
• What business processes require what data?
• How long must the data be kept?
• When can data be purged or archived?
• How timely should archived data be accessible?
• How often will archived data be accessed?
• Is the data static, or will it change often?
• How will the data grow over a period of time?
• How do you expect data needs to change over a period of time?
• How much data do you have?
• Where does the data originate?
• Are there any existing data sources?
• Who should have access to the data?
• How is data currently protected?
5
GATHERINGBUSINESSANDSYSTEMREQUIREMENTS
In large organizations and government agencies, politics is a huge driving force.
Politics dictates the data that is stored, how long the data is stored, who is allowed access to the data, the existence of and relationship between business processes, and most definitely business rules.