Home > Articles

Your Requirements Arena

📄 Contents

  1. A Requirements Process
  2. Review
This chapter is from the book

All projects are different. Regardless of whether they are greenfield developments or product alignment initiatives, none of them solve exactly the same business problem, exploit the same business opportunity, need the same solution, have the same team leaders and members, use the same approach, or have the same resources and customers.

No matter the differences, however, all of them have something in common: They must all solve the right business problem. They all have the same need to discover the right requirements if they are to deliver the right solution.

It would be foolish to say that there is a requirements discovery and solution development process that fits everyone’s needs. On the other hand, if you are to successfully deliver the solution to your client’s business problem, there must be some kind of process. The alternative is anarchy, and nothing of note has ever been developed out of mayhem. The idea of a thousand monkeys with typewriters eventually writing a Shakespeare play is fantasy.

We can safely say that to do meaningful work, there must be some kind of meaningful, orderly process that fits your organization and the nature of your business problem.

What follows in this book is a presentation of requirements discovery and solution development activities, their complexities and conundrums, their subtleties, thinking, and rationales, their advantages and obstacles, their outcomes and outputs, and how you can put all this together to make your own successful requirements discovery and development process.

Let us look at how this works.

A Requirements Process

The process we discuss in this book is not—absolutely not—a lockstep process to be blindly followed in the hope that in the end, the right solution will emerge. Instead, we’ll use the process to provide a guide to the activities that are required for you to uncover the real needs for the solution that solves your customer’s real business problem.

Figure 2.1 shows the generic version of the Volere process. Start by looking at the ellipses—these represent the activities you use to discover the requirements and develop the solution. As we go through the book, we’ll explain how the activities relate to each other and what outcome each activity achieves.

FIGURE 2.1

Figure 2.1 The Volere requirements process showing the activities and main flows of information. The activities have feedback between them; they also iterate. The requirements knowledge each one generates is stored centrally in the requirements repository, which can take several forms: specification, story map, product backlog, and so on. Having such a central repository means that everyone and every activity has access to the required information.

Each activity in the Volere process has a role to play. Each contributes in some way to the requirements—in whatever form they take—for the solution to be built or bought to solve the business problem. The Project Blastoff activity establishes the scope of the problem space, the stakeholders involved in the business, and the goals of the project. These form the foundation of the remaining activities. The Prototype for Requirements activity is a quick way to explore the problem space and the potential solutions for the business, and the Trawl for Requirements activity examines the problem in different ways and produces atomic, measurable requirements. Design the Business Solution is an activity that uses the requirements knowledge to produce a workable end-to-end business solution.

The Volere process provides activities that define the thinking needed to discover and communicate requirements. It becomes your process when you order, overlap, partition, and decide which parts of the generic activities to emphasize so as to make a process that works the way you need it to.

To show you the defined activities of the process and how you might vary them according to the solution’s needs, we present three variations. The first is a project using agile development and agile requirements. Next is a milspec effort in which a precise specification must be written. The third is a regular commercial project, which is probably what most people use.

Keep in mind that the process that fits you is most likely an amalgam of the ones you are about to see.

Kodiak, an Agile Project

Let us say that you work for (or perhaps own) a small startup, or you work for a large organization, and it wants you to produce a new product. Your product could be anything; however, we can say that if it is to succeed, it must be innovative and bring its customers a different kind of experience. Your team decides to call the initiative Kodiak after the bear Ursus arctos middendorffi.

Speed is important, but the Kodiak team members know that speed must not be considered the sole criterion for their success. Sure, they would like the Kodiak product to be first on the market, but it is far more important that the product solves a real business problem and provides a satisfying and worthwhile customer experience. If you look at some of the most successful companies in the world today, few of them were the first to market with their products. However, all of them made the best product. Apple was not the first company to produce a smartphone; Amazon was not the first bookseller (that’s how it started); Microsoft was not the first to build a PC operating system; Instagram was not the first social media platform (neither was Facebook); Google was not the first search engine. However, all of them succeeded because they turned out to be the best.

The best way to be fast is to get the right answer; that is, to develop the right product and not endlessly revise a flawed product. The team adopts a “Think slow, act fast”1 approach. They know if they start building the product without first clarifying what they are trying to do, they will not be fast at all. Think slow—get it right—then act fast—rapidly build the right product—is their most effective way of proceeding.

During the Project Blastoff they hold a few meetings to nail down the vision for the product, the scope of the problem space, the actual business problem their product is intended to solve, and the constraints on the product that come from the infrastructure that their product must fit into. The Kodiak approach is illustrated in Figure 2.2.

FIGURE 2.2

Figure 2.2 The requirements arena for a fast-moving agile project. The size of the ellipse and whether it is shaded or not indicates the emphasis placed on that activity. In this case, most of the effort is expended on Prototype for Requirements with some interaction with Trawling and Designing. The solution is developed progressively.

As soon as they have enough of a foundation for the project to have a shared understanding of what they are trying to do (and what they are trying to do is not to build a product but to solve a business problem), the Kodiak team switches to prototyping alternative solutions, or parts of solutions. Prototypes here mean quick sketches with minimal detail, quick mockups and wireframes, a variety of models, and anything else that is adequate enough to convey their ideas. The team wants to move fast. By using sketches, they can rapidly explore possibilities. They are not afraid to throw away ideas; they know they will have better ones.

This is agile requirements discovery. When the team has a working prototype of part of the solution, they hand it off to the development team who, using Scrum or one of the other agile methods, builds the first increment of the product. Meanwhile, the requirements team progresses in an iterative manner. Their prototypes experiment with different aspects of the proposed solution, and when they are satisfied that what they have is a feasible chunk of functionality, they write stories. The stories are added to their story map, which is a part of their requirements repository. They will be retrieved as needed by the development team for the next increment. (There is more on stories and story maps in subsequent chapters.)

The prototyping effort is not just directed at the intended product but includes the infrastructure surrounding the product. Kodiak process models start when the customer decides to, or has a need to, use the product. The models include actions the customer might take before and after touching the product. The team members are thinking about the customer’s experience and how their product contributes to it. When they are testing their prototypes, it is less about seeing if the prototype works and more about seeing if it provides an outcome that the customer finds valuable.

The point of this prototyping approach is that it enables the team to rapidly explore the problem space by using sketched prototypes to demonstrate outcomes. When the outcome matches the desired outcome, the team and the customer know that they are solving the right problem. Understanding the real business problem allows the team to explore the solution space quickly and inexpensively. As the prototypes progress and are enriched by additional information, they become the basis for writing the correct requirements and stories.

Grizzly, a Milspec Project

This project was named by the team members after Ursus arctos horribilis, and is not a reflection on the nature of the project. Grizzly is a project in which the client is from the medical, military (hence “milspec”), or aeronautical space, or some other arena in which it is necessary to produce a complete specification before much, or any, of the development starts. You might call the Grizzly project a traditional, waterfall, linear, or serial project. These terms mean that there is a real need for a complete specification. For example, if you are outsourcing the development of the product, you need a complete requirements specification to give to your outsource supplier.

The Grizzly project hinges on the requirements specification it produces. The specification must be complete and, in the case of military or medical products, provable. By this we mean that the team must be able to validate that each requirement in the specification is correct and verify that all of the requirements have been developed and tested for compliance.

You might also find Grizzly projects taking place in organizations whose standards demand a complete requirements specification for each initiative. This specification-led approach is not uncommon, and there are usually good reasons for it. However, we strongly urge you to consider whether the milspec approach (illustrated in Figure 2.3) is appropriate for you, or whether your organization uses it because “we’ve always done it that way.” If the latter is the case, please look at the lighter-weight alternatives presented in this chapter.

FIGURE 2.3

Figure 2.3 This adaptation of the process is concerned almost exclusively with building a requirements specification either for outsourced construction or because there is a need for a complete and provable specification. Requirements discovery for this kind of initiative is concerned mainly with the Blastoff and the Trawling activities. These are shaded in the diagram.

The Grizzly team will first do a thorough Blastoff. The scope of the problem is critical: This kind of project must establish a realistic and precise boundary to the problem being solved. Otherwise, there is a real risk of scope creep setting in late in the project. It is also crucial to ensure that the proposed scope is suitable for a solution to deliver the proposed benefits. Cost overruns and nondelivery of promised benefits affect most large projects, and milspec projects tend to be large. Having a thorough Blastoff is a major step in avoiding a failed project.

When they know they have built a solid foundation, the Grizzly team spends a lot of its time in the Trawl for Requirements activity. The team members ask a lot of questions and interview stakeholders, run workshops, write scenarios, and perform any of the other trawling activities (we’ll look closely at these things in Part IV). They are discovering details of the customers and their work. All the trawling techniques are designed to discover requirements, which are progressively added to the requirements repository. In this case, the repository is composed of a specification and ancillary documents.

The Grizzly team writes their specification using the Volere Requirements Specification Template. This template can be found in Appendix A, and you will see it used throughout the book. Think of the template as a comprehensive guide to what needs to be included in a specification, and how you might write it.

Generally, for this kind of project, the requirements specification is complete and validated before the requirements work is considered finished. (It’s never really finished, but for the sake of brevity, let’s say it is.) Now the specification is handed off to the developer. This can be an in-house development team or an outsourced one. In either case, the specification must be precise enough for the right solution to be developed.

In some cases, it is required that the spec be verified. This means that the developer must be able to demonstrate that every requirement in the specification has been correctly implemented and comprehensively tested. For medical and military solutions, this verification is pivotal, which in turn means that your specification must be written to be an accurate benchmark for those doing the verification. Later we discuss how to write accurate and testable requirements.

Polar, a Typical Commercial Project

The third of our bear teams, this time Polar (Ursus maritimus), is engaged in the kind of project that is happening in many organizations all over the world. This project will deliver an insurance product, or one that does banking, government, e-commerce, customer resource management, enterprise resource management, internal information, mail campaigns, analytics, reporting, or one of hundreds of other possibilities.

The Polar team members use all the activities in the process fairly evenly. There is no extra emphasis on experimentation and prototyping, and although innovation should be part of every project, there is limited opportunity here for breakthrough advances. The Polar variation of the process is shown in Figure 2.4.

FIGURE 2.4

Figure 2.4 The requirements arena is wider this time. A typical project cycles between the Blastoff, Trawling, Prototyping, and Design activities. The Polar team spends some of the time prototyping—they are experimenting with both new technology and new ways of working in the business. Trawling is where they ask lots of questions and establish the business rules and current way of working.

Project Blastoff is important for any development effort to establish the scope of the project and its goals and stakeholders. Scope here is the extent of the business area that the proposed solution affects. It is wider than just the software solution, as the surrounding business infrastructure is usually a crucial part of any solution. The Polar team will use a context diagram (that’s the one labeled Work Scope in Figure 2.4) to establish the extent of the business problem they are addressing. Having a well-defined scope enables the team to make estimates of the amount of effort needed to discover the requirements and develop the solution.

The goals must be clear to the team. That sounds obvious, but unless the goals are presented in some measurable way, there is a significant risk that different team members will have different interpretations of what is to be achieved. Once the scope and the goals are established, the Polar team can get on with discovering the requirements for the solution.

When a project is in the commercial sector, it is highly likely that ready-made solutions exist. You might know of these as OTS (off-the-shelf), open-source, or legacy systems. They will form part of, and possibly most of, the delivered solution. In this case, the team would do a certain amount of exploration and verification of the ready-made outcomes by prototyping various scenarios using different customizations. In some cases, the team could model the outcome if the business processes were changed to suit the ready-made solution. This latter case would cause a degree of interaction between Design (to determine the new configuration of the business) and Prototyping (to model and test the outcomes of the new designs).

This prototyping approach might seem to be mixing implementation concerns—how something is done—with the business requirements—what it has to do. However, in this case the employment of ready-made components changes the emphasis of requirements discovery from What is needed? to Will this ready-made component do what is needed?.

Trawling would play a major part—the Polar team would have to gather considerable detail about business requirements to ensure that the chosen ready-made solution incorporates the established business rules of the organization and integrates with the way that people need to work.

Artificial intelligence (AI) component(s) might be an intended part of the solution. These can be treated somewhat like a ready-made component, but there is a different aspect that falls to the business analyst. Any AI engine is only as good as the questions, or prompts, put to it. Unless the prompt specifies exactly what the AI is to produce, its results will be flawed. Writing prompts is the same as writing requirements, albeit in a different form. The task is the same: Discover exactly what is needed and write the prompt that conveys exactly that need.

Design the Business Solution is an activity that is happening all the time. Design is not about screen layout and colors and sliding windows, but about coming up with the best business process. This includes not only the developed automated solution, but also the human activity that surrounds it. In other words, the design activity is just as much about designing the business activity as it is designing the solution. Software is not the only component you have available to deploy in a business solution—people and devices also play a part. In some cases, there might be no software development, but there will still be a process change, and this has to be both designed and specified for the people to understand the new process.

When you get to Develop the Solution, the requirements team members are probably not the same people who develop the solution. However, for a successful implementation, the developers and the business analysts will liaise closely. Feedback from the developers is part of requirements discovery.

Of course, this does not have to be a serial process in which a complete specification is developed before any development takes place. On the contrary, it is advisable that you use an iterative and incremental approach. That is, the Polar team will discover a unit of the requirements and hand it off to the developers. While the developers implement that part of the solution, the requirements for the next iteration are being discovered. These are implemented for the next iteration. Note the iteration arrows in Figure 2.4. This results in an incremental delivery of the solution, giving the customer the opportunity to make a phased deployment in the organization.

Finally, you should note that Polar projects are not always concerned with improving an existing business. In some cases, the organization is not trying to solve an existing business problem, but wants to exploit a business opportunity. The process remains the same. The difference is that instead of trawling an existing piece of business, the team elicits the requirements for a solution that will capitalize on the opportunity.

Polar projects vary. For the sake of effectiveness, treat each as unique; examine the business problem and determine which of the activities in the Volere process, and how you will iterate through them, would yield the best results.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020