Seilevel
Seilevel Home
Back to Blog Home - Requirements Defined

Monday, October 19, 2009

BAs Need to Think Quietly

Also at BAWorld: Boston, Monday I heard Barbara Carkenoard talk about "ROI? Measuring the Real Value of Business Analysis" and her learning objectives were:
  • Learn to talk about the specific value of a strong business analysis discipline
  • Consider business analysis metrics for use in your organization
  • Understand why a financial ROI is not normally calculated for business analysis
Some of the key points of interest for me were these, with my own commentary:
Business analysts should be involved in creating the business case. Most projects don't bring them in until the project is already decided upon. But business analysts inherently are good at analysis and can really think through whether a project even makes sense.

Business analysts need to figure out how to block out big chunks of time to think quietly. Analysis requires thinking...so let them think!

An interesting discussion took place around cultural differences between countries and how it relates to the use of process or lack of. This came out of a question about why organizations try to short-cut business analysis on the projects. And Barbara proposed that the US culture is one of "hurry up, slam it in, we'll fix it later" whereas a lot of other countries (she named Canada and the UK) are more likely to follow a process to get it done right. I laughed because just last week I had an executive say "It's okay if we don't get all the requirements defined, we'll just log everything not yet written down as defects and fix them in QA"...and he was very serious about it.

Labels: , , ,

Requirements Defined Newsletter Bookmark and Share

Live from BAWorld Boston

This week I find myself at Project Summit & BAWorld: Boston for about a day and a half.

This morning I presented our talk, "If you Build It, Will They Use It? Leveraging Business Objectives to Deliver Successful Projects". One thing I like about the BAWorld symposiums is that they make the slides available electronically to everyone, they are reviewed by a committee before you can present them, and they insist that the speakers provide learning objectives so you know what you are getting. So to that point, here are the learning objectives for my discussion:
  • Understand how Business Objectives are vital to businesses
  • Understand how to elicit and write good Business Objectives
  • Understand how to use Business Objectives to assess measurable value of individual features
I had a blast with the audience here - great participation in some of my games (yes, we do them in presentations, not just our training classes!).

If you haven't been to one of these conferences, I recommend it if you are a practitioner doing Business Analysis, Requirements Engineering, or Product Management. Everyone else here is also practicing the "art" of BA and looking for new tips and techniques to take back to their organizations.

Anyway, I attended a few other talks of interest today that I'll blog about shortly!

Labels: , , , , , ,

Requirements Defined Newsletter Bookmark and Share

Tuesday, July 21, 2009

What is the Value of that Feature?

Alright. You've just identified the features that your client doesn't need going forward, the ones they can hold off on for now, and the ones that have to be implemented with the project. How did you come to that conclusion?


Were all the different group's champions in a room with you giving the thumbs up or down? Did the project funder push their features through? Maybe the cries of anguish from users as you held a feature over the out of scope bucket let you gauge how much it was needed. Are any of those a sound business case for the need of a feature?


Depending on the grandeur of your project, maybe it is. My bets are that it isn't enough. To really know what should or should not be implemented, every feature should be tied to a business objective. At the highest level you should have something along the lines of increase sales and decrease costs. From these you can have supporting objectives such as training sales, increasing client meetings, reducing cost of proposals, etc.


So did the project really need the feature to search for client information? I would imagine that kind of feature would be tied to an objective to allow for easier access to operational data, which ties to another objective to reduce costs of supporting client request. Given that, you should have a list of measurable KPIs (key performance indicators) for these objectives. This case might have a measure of the number of client requests for data per day and how long it takes to resolve the request with and without the search capability.


Now you will have to compare how strongly this feature affects the objective to reduce costs of supporting client requests. If there are a few other objectives that tie into this one, then you might imagine that the easier access to operational data could have a 20% correlation to the parent objective. From there you can take your current costs, multiply it by how important reducing costs of supporting client requests is and then multiply that against how important easier access to client data is.


So for example, let us say that our costs are $25,000. Turns out that reducing the costs of supporting client requests objectives is 30% of that cost. Now all the sub objectives are worth some part of $7,500. We said that the objective to provide easier access to client information was contributing 20% to its parent objective. This means that it is worth $1,500 of your costs.


Now you know that not having the feature costs you $1,500. You can estimate the implementation costs of the feature as well. If the implementation is higher, then arguably the feature should not be built. If the implementation cost is less than the value of having it, then you may want to build it, but at that point, you should compare the value of all the features in case you cannot build them all – choosing the ones with the largest value.

Labels: , , ,

Requirements Defined Newsletter Bookmark and Share

Wednesday, June 17, 2009

Live from REFSQ: The Requirements Object Model (ROM), part 2

What follows is our ROM defined. For context, you can see yesterday's post on why we have a ROM now at Seilevel.





Definitions for the items in the ROM hierarchy:
  • Business Problem: Describes a problem to be solved.
  • Business Objectives: Desired metrics the business seeks to meet in order to solve the problem.
  • Business Strategy: Approach to meet the business objectives. It is not specific to any one product or project solution.
  • Product Concept: Proposed solution to follow the business strategy to accomplish one or more business objectives. This becomes a project.
  • Success Metrics: Statements about the specific desired outcomes to meet the business objectives.
  • Guiding Principles: The approach to meet the success metrics for the product. Common themes to be considered in creating a product. These will drive the feature set and specific requirements.
  • Product Features: A collection of functionality that provides a set of services to the users.
  • Product Qualities: A collection of desired qualities about the product.
Features and Qualities are derived from business objectives.

The important thing is that your features should trace from your Business Objectives. And in the end, if you cannot make this leap directly, then you use the product concept, success metrics and guiding principles to help define them.

To that point, most projects actually start with a product concept. The team might define success metrics (i.e. a launch date). But they quickly jump in to defining features and qualities and then requirements and design. There are no agreed upon Business Objectives and development strays from the intent of the project. If we lived in a perfect world, we could start with the business level problem and objectives, then define the product level, and out of that define the product requirements. But having worked with many customers, nothing is ever this clean.


So instead, we suggest you do start with a product concept if you have one, and put any pre-defined features aside. Then work back up from the product concept to understand what problem it is supposed to solve. Continuously ask “why is that a problem?” until you find a problem that relates to money and write your Business Objectives at that level. We make it this simple so that you clearly know if you have gone high enough to say you have defined Business Objectives. The reality is that most (if not all) businesses exist to make money so all of their objectives relate to that goal – either in the form of increasing revenue or decreasing costs. Before I go on, I will say that every time I speak about this topic, someone gasps in the audience when I make this claim. That said, we have yet to see a project that doesn’t relate to money (and that’s not to say they aren’t doing other good things too!).

Once you have good Business Objectives, you can determine appropriate strategies to meet them. These strategies may or may not include building software products. But if they do, then you write a clear product concept that may or may not look like your original one. Then you continue through the ROM, developing success metrics and guiding principles for the product. Again, realize that the features may have changed from the original suggestions, in order to map back to actual objectives.

A quick example for today, but tomorrow I’ll give a more complete example:
  • Proposed feature: Online training
  • Problem question: Why do we need online training?
  • Problem answer that relates to money: Online training leads to more trained users. More trained users leads to more sales. Now we can relate this to revenue!

Labels: , , , ,

Requirements Defined Newsletter Bookmark and Share

Tuesday, June 16, 2009

Live from REFSQ’09: The ROM, Experiences with a Requirements Object Model

What follows is a summary of the paper I wrote with James Hulgan (also from Seilevel) and presented at REFSQ’09 last week. The paper is titled “Experiences with a Requirements Object Model”. You can get the actual paper here.


Most software projects we’ve seen develop features that don’t add value or they don’t build what they actually do need in order to achieve the intended business value. This leads to project that are over budget, late, and often canceled because they don’t really satisfy the needs. Fundamental to this, most project teams don’t know the Business Objectives that tell them why they are doing the project in the first place, so it’s not surprising they have a hard time picking the right features to develop.


Business Objectives are hard to elicit. When teams get an answer like “increase profitability” they are complacent to stop there because they don’t want to or know how to push people to give the hard answers.


Our paper discussed the basic terminology as described by many industry experts to describe this “thing”. They use business objectives, goals, needs, business requirements, user requirements, etc. And there are subtle differences behind each of these from person-to-person. But for our work, we are using “Business Objective” to mean: the desired metrics the business seeks to meet in order to solve the business problems.


Terminology is just a small part of the problem, but the bigger issue is this: If you ask a project team why they are doing this project, they often have no concrete idea. They may have a vague phrase associated with it such as “We are reducing operating costs”. Sometimes we hear them say that they are sure the executives know because there was a business case developed – but the project team has not seen it. It’s as if you can develop the business case, start the project, and never need to look at it again. And this is where the problem lies. The Business Objectives, probably in that very business case, should be driving the feature set developed.


We were looking for a model to use to identify and represent these, as well as to train our people on to elicit them. Out of that came the ROM – Requirements Object Model.


Tune in tomorrow for a description of the ROM!

Labels: , , , , , ,

Requirements Defined Newsletter Bookmark and Share

Wednesday, June 25, 2008

Why Traceability (by itself) Is Worthless

Performing traceability of delivered functionality to requirements without tying them back to Business Objectives is in my opinion an exercise in futility. To anyone engaged in this exercise, I ask “So What?”

At first blush this might seem like an extreme position to take. The benefits of requirements traceability seem readily obvious whether or not they are tied back to Business Objectives. You can determine what requirements were implemented, when they were implemented, what still needs to be done and so on. All of these are good things in and of themselves.

Do You Need Business Objectives For Software Requirements Traceability?

By way of answer, imagine that you are writing requirements for an Experiment Management system. Consider the following scenario.

The first set deals with setting up the experiment. The other set deals with analyzing the results of the experiment.

One of them is responsible for the team that defines and sets up the experiments. The other manager leads the team that analyzes the results of the experiments.

Each set had a total of 10 requirements each. The users prioritized their requirements and each team came back with 4 “critical” and 6 “nice to have requirements”. Assume that all the “Critical” requirements are equally important and deliver approximately the same amount of functionality each to the final delivered product.

They satisfied all of the “nice to have” requirements of both sets. All 4 critical requirements of the experiment analysis requirements were satisfied, but only one of the critical requirements of the experiment set up requirements.

Business Objectives Are Your Yardstick For Success


Simple traceability that did not tie back to Business Objectives would show something along the following lines:

By any yardstick it looks like a spectacularly successful release.

But consider for a moment if the Business Objective for the release has been defined as “reduce the amount of time taken to perform experiment set up by 90% so that the company can increase the probability of successful new product creation by increasing the number of experiments that can be set up by our team of scientists.” The company came up with this objective because it is far easier for them to hire analysts than find skilled scientists who can dream up new experiments that will result in new products.

If we were to apply this knowledge to traceability and coverage of requirements, a very different picture of the success of the release emerges.

All else remaining the same, from a Business Objective stand point, we have about 25% coverage of what is really important to the company for this release. So, this was a pretty dismal release though the raw statistics that do not tie back to Business Objectives seem to indicate otherwise.

At the end of the day, companies build software that advance their prospects and help them achieve specific business goals. As requirements professionals, we need to tie back the outcomes to the Business Objectives. So, if we are not tracing requirements back to the Business Objectives, we are generating data that may or may not be useful or relevant in the grander scheme of things.

There is definitely some virtue in generating data for its own sake. This would be the case in doing all the hard work to trace requirements to specific functionality that has been delivered. But not taking the final step and tracing it back to Business Objectives misses the whole point of the exercise. We are guilty of generating data without giving it the proper context that Business Objectives provide.

So the next time, someone tells you they are tracing delivered functionality back to the requirements, ask them if they are tying them back to Business Objectives. If the answer is no, ask them “So What?” I would.

Labels: , ,

Requirements Defined Newsletter Bookmark and Share

Thursday, April 24, 2008

The Business Use Case

Use cases are an indispensible tool for capturing the behavioral requirements of a software product and many analysts employ them exclusively for that purpose. But use cases can also help describe the interaction between external entities and a business. And, there are some very good reasons to develop the business use cases that describe the business to be supported by your product.


The actors for business use cases are the suppliers and customers of the business. Money flows from the customers to the business and from the business to the suppliers. Customers exchange money for the ‘result of value’ that is the outcome of a business use case. For suppliers the result of value is the money they receive for delivering materials or services to the business.

One way to identify business use cases is to look for ‘business events’. The business reacts to things that happen in its external environment. One of the most obvious and important events is when a customer signals an intention to buy. Other events include: a customer submitting a payment or a supplier delivering a shipment. The business use case describes the step by step interaction between the actor and the business in much the same way a ‘product’ use case describes the interaction between an actor and the software product.

The real value of a business use case is that it allows (or forces) you to step back from your focus on the product and ask questions about what is happening from a business perspective when an event takes place. Software development projects are commonly initiated after a decision has been made to implement a software product. That makes sense. But, it can be a mistake to just accept a list of desired features or other artifacts as given. If you limit your focus to identifying the requirements of the product you eliminate the possibility of finding innovative ways to change the business.

Your project may be strictly defined by a project charter that does not allow for much business process innovation but if possible, spend some time upfront writing business use cases for the business process area your product will support. Think about the real problem to be solved or the opportunity to be captured. Document the business event that triggers each use case and the goal of the actor. Look for innovative ways for technology to deliver the desired result of value. Then, derive the product use cases and requirements from the business use cases.

Here’s an example of how this can work: One of the features desired for an accounts payable system was the ability to automatically match purchase orders with invoices before making payments to suppliers. Rather than write a product use case for invoice matching, the product team explored the business events and the goals of the actors. They were able to show that the supplier’s goal of getting paid and the business’s goal of paying only for what was ordered and received could be met by issuing payments to suppliers based on matching what was received with what was ordered. The business was able to negotiate cost savings with suppliers and no longer need to process invoices.

Labels: , ,

Requirements Defined Newsletter Bookmark and Share