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   


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 an


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


RELATED CONTENT
Software Requirements
Requirements use cases tutorial: Advanced formats, test case comparisons
Use cases for software requirements tutorial: Strengths, flaws, formats
Quality assurance (QA) and testing's role in requirements
Defining requirements during software project feasibility analysis
Pros and cons of requirements-based software testing
How to avoid requirements creep
Making requirements walkthroughs more effective (and fun)
Using proactive test design methods to catch requirements issues early
Pictures communicate software requirements without slowing development
REAL business requirements key to calculating ROI for a project

Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Quality assurance (QA) and testing's role in requirements
Agile software development tutorial: Agile requirements gathering
Reporter's Notebook: Jack Vaughan on agile methodology
Pros and cons of requirements-based software testing
How to avoid requirements creep
Making requirements walkthroughs more effective (and fun)
Software development lifecycle (SDLC) trends 2009: Requirements, agile
Using proactive test design methods to catch requirements issues early
Is a requirements freeze in a software project a bad idea?
Requirements elicitation: Workshops vs. apprentice-style analysis

Software requirements management
Five roles test managers play in agile development: Tutorial, part one
Quality assurance (QA) and testing's role in requirements
Defining requirements during software project feasibility analysis
How to avoid requirements creep
Software development lifecycle (SDLC) trends 2009: Requirements, agile
Is a requirements freeze in a software project a bad idea?
Top 10 software requirements tips
Seven Steps to Mastering Business Analysis, Ch. 1
Integrating application lifecycle management (ALM) processes provides additional benefits
How to choose the right requirements tool

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


d 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




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.



Software Design & Testing - Project Management
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