Getting Your Requirements in Order

Putting Solutions in Order.png

Beginning With the End in Mind

When we built an event registration solution for an Olympics sponsor, I met with the program director and asked what information she needed from the solution. She needed to know the guests’ arrival and departure details, their hotel room preferences, and what games they wanted to attend. This enabled her to assign appropriate rooms for the guests and tickets for their group.

Managers needed arrival and departure reports to organize ground transportation, housing, food and beverage, and scheduled activities. These report requirements defined the objectives for the registration solution. We had a clear idea of where the solution was going when it collected registration information.

Where to Start? It Depends - Really!

The program director and managers needed their reports, which depend on good quality data, mostly collected by the registration solution. If I asked most managers about the value of the registration solution, most would say it's not that valuable to them. They think about the decisions they make based on the data, not where it comes from. 

A purposeful architect recognizes that managers focus on the information they need more than its source, as they should. In this case, s/he determines that registration comes first because the reports depend on it. This may seem obvious, but cases arise where a business stakeholder expects information from a source not defined in discovery.  

A purposeful architect should check each requirement for dependencies, like a data source or someone taking an action for the solution to proceed. If a high-value requirement depends on another requirement, the other requirement becomes high value as well. It gets developed first to meet the dependency of the high-value requirement.

Value vs. Urgency

When discovery has captured enough requirements to cover a solution’s scope, the business stakeholders should rank them in order of business value to guide development scheduling. Some requirements may have a deadline which gives them a higher ranking.

For example, the registration solution had a requirement to collect the identity of a guest’s companion, in addition to the guest’s identity. Guest registration had to meet this requirement before we deployed it, making it urgent.

Here is a sample list of user stories for a registration solution, including the companion registration requirement:

Story Value Urgency
Attendee registers companion High High
Housing manager provides guest and companion names to guest hotel High High
Transportation manager validates flight information High Medium
Attendee selects bed count preference Medium Medium
Housing manager sorts report by guest name, arrival and departure date time Medium Medium
Attendee registers more efficiently -
dependent on Lightning features
“Low” Low

The most valuable requirement, “Housing manager provides guest and companion names to guest hotel,” depends on the attendee registering their companion, so “Attendee registers companion” has a higher ranking for development.

The last story, “Attendee registers more efficiently,” really has a high business value but temporarily has a “Low” value to keep it off the schedule until the Salesforce Lightning features it needs become available.

Keys to Ranking Requirements

Ranking requirements depends on the answers to the following questions:

  1. How valuable is each requirement relative to other requirements from a business perspective?

  2. What degree of urgency does a requirement have?

  3. What requirements do the most valuable requirements depend on?

The business stakeholders should have an idea of the most valuable requirements and which they need sooner rather than later. A purposeful architect checks the requirements for dependencies, ranking requirements that meet dependencies ahead of those that depend on them.

Consider dependencies and urgency as well as business value when ranking requirements.

Previous
Previous

Discovering Your Client

Next
Next

Resourcefulness in Action