Home > Ask the Software Quality Experts > Software Requirements Gathering, Analysis, Quality and Testing Questions & Answers > Developing use cases that support business goals
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Developing use cases that support business goals

Rob Apmann EXPERT RESPONSE FROM: Rob Apmann

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 02 April 2008
We're reviewing requirements for a system that will have multiple access methods: call takers, voice response and Web access. How should the system boundaries be defined? I mean just the core system, ignoring the access method? What do you think of an approach that develops most of the document without regard to access method, and then has a table listing which functions are accessible by which method? A problem with the document we reviewed is that it focuses too much attention on access method (how touch tones are processed, for example, bordering on but not getting into design) instead of focusing on core functions. Could we treat an access system as an external black box and specify it elsewhere?

>

It is very easy to fall into the trap of designing the system while figuring out what value you need the system to provide. This is particularly true if the process of defining the requirements involves not only the product managers or business analysts, but brings the development team into the equation early in the process.

The approach I would recommend is to initially focus on the specific areas of value you want the system to provide. You need to start with the business goals of the system and keep those in mind while you define the use cases.

As an example, let's consider a fictional bank that currently only provides telephone-based inquiries to their customers. There may be a business goal to decrease the cost of telephone-based customer service center by decreasing the hours the call center must be open. Essentially, the goal is to give customers access to a sufficient level of account information during the hours the call center is closed.

The next step is to determine what use cases will be valuable and to whom they will provide value (actors). In this example it might be clear what use cases the customer service center already offers. Check Account Balance, Transfer Money and so forth and there may be some new use cases that don't really fit the call center model; such as Pay a Bill. Keeping in mind the goal to offer customers a sufficient level of account access while the call center is closed, you need to determine what use cases would be most valuable. Don't forget to interview your customers (actors) about what they think might be most valuable, it is often not the same as what you think they might find valuable. Actors can be internal and external users, in this example you would not want to forget about the Customer Service Reps as an actor, by strictly focusing on the customer. Both of them would likely use the same system.

Once you have the use cases defined and prioritized you need determine what type of access you would provide for each of these use cases. I like your idea of a table listing the functions (use cases) and the corresponding access methods that apply to each use case. In this example "Pay a Bill" might be available via Web access, while "Check Account Balance" would be available via the Web, directly from customer service, and also via a touch tone phone response system.

There is no question that somewhere along the line someone will need to determine how the touch tones are processed, or how the security certificate is configured for the website. Write those questions and ideas down for later, but don't get distracted and lose sight of defining what value it is that the system will supply to some set of users, allowing you to achieve the stated business goal.

Software requirements gathering:
How to communicate with the client for effective requirements engineering

Software requirements elicitation and documentation

Requirements gathering, SRS and use cases

Throughout the process of discovering the use cases you will come across "requirements" that are not use cases, but that are important to the overall success of the system. For example if you are providing secure Web access, there might be a requirement that you utilize HTTPS, and obtain a security certificate for the website. It is important to capture these requirements -- I think of them as supplemental requirements. The research and development team will need to know that you expect the Web connection to be secure, or that you expect access to be available on Internet Explorer, Firefox, and Safari, so you must write that down. Ultimately, the use cases that you define should directly support the stated business goals of the system you are developing.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Software Requirements Gathering, Analysis, Quality and Testing
How to write a Software Requirements Specification (SRS) document
Problems caused by skipping analysis stage of SDLC
Software development life cycle phases, iterations, explained step by step
Waterfall versus iterative development misconceptions
Differentiating between Functional and Nonfunctional Requirements
Writing a software requirements specification (SRS) for a portal app
Should QA check changes from outside the requirements document?
Software testing metrics for a medium-sized project
Template for requirements use cases
What should a business analyst's requirements document include?

Use cases and misuse cases
Requirements practices evolving, but organizations still struggle
Defining report requirements with use cases
How requirements use cases facilitate the SDLC
Excelling in the art and science of requirements elicitation
Requirements use cases tutorial: Advanced formats, test case comparisons
Use cases for software requirements tutorial: Strengths, flaws, formats
Writing a software requirements specification (SRS) for a portal app
Agile software development tutorial: Agile requirements gathering
Pros and cons of requirements-based software testing
How to avoid requirements creep

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
use case  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts