Home > Software Quality Tips > Software Requirements > Planning requirements for multiple software product releases
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

SOFTWARE REQUIREMENTS

Planning requirements for multiple software product releases


Karl E. Wiegers, Ph.D.
02.14.2007
Rating: -4.29- (out of 5)


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


Karl E. Wiegers
Karl E. Wiegers, Ph.D.

Few software products come into their full, ultimate form with the initial release. Most products begin with an initial version that contains enough capabilities to make it useful. Then they evolve as new features are added and existing features are enriched through a series of releases.

As requirements are developed for such a product, the stakeholders must allocate requirements to forthcoming releases. They need to plan a release strategy that provides the maximum customer value consistent with budgets, schedules, resources and business objectives. This article describes two techniques for planning such release strategies.

Feature roadmaps
Many project teams, particularly those that are building commercial products, talk about product features. Many features can be implemented in multiple levels of detail or enrichment. You might begin with a rudimentary implementation of a particular feature and then add more capabilities to it over time. During release planning, you can determine which features will be implemented to what extent in each release. This results in a feature roadmap.

Here's an example. Suppose we've identified eight features for our product that we would ultimately like to implement to their full extent. We are planning four releases, adding more capabilities and enriching the various features from one release to the next. In analyzing these eight features, we've identified either four or five levels of increasing capability for each feature. A feature roadmap defines which levels of each feature we plan to implement in each release.

As an example, suppose our product is a computer security package and one feature is antivirus protection. In the first release we might begin with basic virus detection on incoming email. Feature level two for the antivirus feature might provide the ability to download virus signature updates automatically. The third feature level would let the user scan disk files and disinfect or quarantine any suspicious files found. Level four could provide the option of using advanced heuristics for detecting viruses and Trojans. Finally, the fifth feature level might enable automatic reporting of virus infections and suspicious files to the vendor.

You don't plan to implement all of these feature capabilities in the first release because that would delay your ability to get your product on the market in the desired time window. So you can plan which feature levels to allocate to each intended upcoming release.

Use case flows
Use case descriptions are made up of three major elements: the normal flow, zero or more alternative flows, and zero or more exception flows. The normal flow represents the default, most typical success scenario. Alternative flows describe other successful scenarios that involve variations from the normal flow, such as an optional pathway that the user selects. Exception flows address error conditions that have the potential to prevent the use case from successful completion. Each exception is associated with a specific success flow, either the normal flow or an alternative flow.

During release planning, the stakeholders need to decide which portions of which use cases to implement in each forthcoming release. It's essential to prioritize the use cases for alignment with satisfying the project's business objectives. Within a use case, you can further prioritize the various success scenarios.

The normal flow is the starting point for implementing each use case. In addition, you must implement any exceptions associated with the normal flow. You can allocate alternative flows to the release that includes that use case's normal flow or to any other future planned releases. With each alternative flow that you implement, be sure to implement the associated exceptions. You might never implement certain alternative flows simply because their priority is too low.

Release planning involves reaching a balance between customer value, implementation cost and technical risk. Feature roadmaps and use case flow analysis are valuable techniques for planning releases by clustering related requirements into manageable packages.

----------------------------------------
About the author: Karl E. Wiegers is Principal Consultant with Process Impact in Portland, Ore. He is also the author of More About Software Requirements: Thorny Issues and Practical Advice, Software Requirements, 2nd Edition; Peer Reviews in Software: A Practical Guide; and Creating a Software Engineering Culture.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




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


RELATED CONTENT
Software Requirements
Approaches to defining requirements within Agile teams
Quality software performance doesn't happen accidentally
Software requirements: Wish vs. need
Software requirements: A picture is worth a thousand words
Mind maps show project relationships
How a business analyst can help on a software project
Using workshops to define project scope
Using card sorting to decide software requirements
Tuning up your software requirements reviews
Use flowcharts to plan, track software projects

Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Book Review: Just Enough Requirements Management
Approaches to defining requirements within Agile teams
How to elicit performance requirements
Software requirements sign-off essential for solid QA
Requirements Management Using IBM Rational RequisitePro: Chapter 1, Requirements Management
Defining good performance requirements a joint effort
Poor business requirements process leads to high project costs, study finds
The difference between gap analysis and requirements analysis
Fun with UML
Quality software performance doesn't happen accidentally

Software requirements management
Requirements Management Using IBM Rational RequisitePro: Chapter 1, Requirements Management
Quality software performance doesn't happen accidentally
Software requirements elicitation and documentation
Outside-in Software Development: A Practical Approach to Building Successful Stakeholder-based Products -- Chapter 1, Introducing Outside-in Development
Project success: It all starts with configuration management
Business requirements drive Compuware's new application delivery management tools
Effective prototyping for quality software
When to follow Big Design Upfront (BDU) planning
How important is requirements traceability?
How detailed should software requirements be?

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
requirements analysis  (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

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

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

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




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