Remember the last time you went grocery shopping without a list and you had your toddler, your mother, or spousal unit with you? Or when you stopped by the beer store and found yourself standing in the chip aisle, dazed and confused by the choices? Did you get what you needed? Did you spend as much money as you expected to?
Often, we aren't clear on our requirements when we're shopping for groceries, clothes, a house, or even software. And when we aren't clear, we're likely to run afoul of the law of unintended consequences--buying too little or too much, buying something that doesn't work with the stuff we already have, or spending more than we meant to. Shopping for commercial off-the-shelf (COTS) software can be like that. Faced with a multitude of software products, what's a time-pressured, distracted shopper to do? You don't have to have all the answers, but the key is to know the right questions.
Set the Context for Shopping
The first step is to identify the need, pain, or opportunity that motivates your COTS shopping expedition. Before you decide which software to buy, you need to understand the business goals and objectives. Then elicit and analyze the current state of your organization. You can gather and sift this information by using a variety of business models . This sharpens your focus by scoping the effort.
To help you dive into appropriate business models, here are specific questions you should ask.
- What? Uncover key functions in the organization by asking what organizational functions might you want to automate? When you've identified these functions, draw them on a relationship map , with directed lines representing the flow of information and products among the functions.
- Who comes in contact with the functions? Add the external customers and providers to the relationship map along with flows.
- What features will be included? "What are the definitions of terms?" It is not too early to capture the organization's vernacular (e.g., do you refer to your targets as customers, clients, or members?) in a glossary. Depict key terms in a conceptual data model to show their relationships at a high level.
- How? The reason for asking this question is to understand the major business processes in scope. A process map (also called a swimlane diagram) shows the sequence of processes across the various functions. This model can include the flows to and from external customers, providers, and systems that were first identified on the relationship map.
- When? The purpose of this question is to elicit events that trigger business processes shown in process maps--that is, when something happens in your organization. One answer to the "when" question might be to define the state of a key term. For example, an invoice's states might be "pending shipment," "delivered," "paid," and "canceled." States serve to verify the processes on your process map and can reveal missing processes. Also, don't forget about temporally initiated events (such as issuing paychecks on the same day each month).
Questions to Define Your Requirements
User requirements models provide details for the shopping list and are essential for analyzing the gap between your needs and the solutions provided by the COTS software.
To identify actors (direct and indirect users, including people, other systems, and hardware devices) ask, "Who will interface with the COTS package?" Actors are a type of stakeholder and are shown on the borders of your relationship map and in the lanes on your process map.
Note: actors are only one category of stakeholders. Advisers are stakeholders who may never use the system, but they have subject