TRENDS September 1, 2006 The Root Of The Problem: Poor Requirements Three Strategies For Addressing Three Types Of Requirements Problems by Carey Schwaber with Gene Leganza and Megan Daniels EXECUT I V E S U M MA RY The quality of software requirements is a limiting factor on the success of software development projects. And it’s the rare IT organization that couldn’t improve its requirements practices. When it comes to getting requirements right, companies struggle on two primary fronts: requirements definition and requirements management. But the market places a disproportionate emphasis on tools for requirements management. The real opportunity for improvement lies in requirements definition and in how different development methodologies treat changing requirements. TARGET AUDIENCE Application development professional DIFFERENT TYPES OF REQUIREMENTS PRACTICE, DIFFERENT TYPES OF REQUIREMENTS PAIN Poor requirements practices alone can doom any application development initiative. No matter how wellarchitected, well-constructed, or well-tested an application might be, it is essentially useless if it fails to meet business needs. Defects in requirements are the source of the majority of defects that are identified during testing, and problems with requirements are among the top causes of project failure.1 There are three types of common requirements problems: incomplete or inaccurate requirements, poorly managed requirements change, and missed requirements. These problems correspond to different requirements disciplines: in descending order of importance, requirements definition, requirements change management processes, and tools and techniques for requirements management. Requirements Definition Offers The Most Room For Improvement The old aphorism “garbage in, garbage out” couldn’t apply more than it does in this context. Even the best requirements management practices can’t make up for inaccurate requirements. If anything, an overemphasis on requirements management can lend the illusion that requirements management problem has been “solved.” And when business stakeholders aren’t in close communication with the development team, the importance of proper requirements definition only increases; for this reason, requirements definition is even more critical in the context of outsourced software development and maintenance.2 IT organizations that want to do a better job of requirements definition need to: Headquarters Forrester Research, Inc., 400 Technology Square, Cambridge, MA 02139 USA Tel: +1 617/613-6000 • Fax: +1 617/613-5000 • www.forrester.com Trends | The Root Of The Problem: Poor Requirements 2 · Balance business and IT involvement. The act of eliciting and documenting requirements is a collaborative process that requires equal involvement from business and IT. The most common pitfalls in requirements definition? Either too little or too much business involvement. Because requirements definition is a shared responsibility, it is all too frequently an abdicated responsibility. One shop reported, “Our customer’s attitude is that requirements are our problem.” But the opposite also occurs. A different IT organization complained to us, “The business usually hands IT a document that dictates a solution.” Better articulation of business and IT roles and responsibilities for requirements definition goes a long way toward solving this problem (see Figure 1). · Recognize that text isn’t always the best medium. Requirements come in all shapes and sizes and are found in a wide variety of places. In addition to the traditional business requirements document and standard functional and nonfunctional requirements, development teams must also take into account requirements that live in existing applications, service interfaces, security standards, prototypes, business process models, and business rules. Embracing different media for requirements definition helps involve a wider range of constituents in the process and helps ensure requirements aren’t excluded merely because of their format. · Secure proper training for business analysts. The lynchpin of the requirements definition process is the business analyst, a hybrid creature expected to move with ease between the worlds of business and technology. But business analysts all too often fall into the role and aren’t given adequate training to do their job properly. IT shops should aim to equip their business analysts with an arsenal of requirements definition techniques. To grow a corps of skilled analysts, enterprises can look to user groups like the International Institute of Business Analysis and training courses like those offered by tools vendors and training companies like B2T Training and ESI International. Figure 1 Sample Division Of Responsibilities Between Business And IT Business responsibilities IT responsibiltiies • Develop business requirements that do not presuppose design or implementation details • Prioritize requirements based on relative need and available resources • Provide signoffs only after carefully evaluating all materials and ensuring thorough comprehension • Communicate changing business needs and collaborate with development to determine the impact of these changes • Understand business goals and business context • Identify and employ appropriate techniques to define functional and nonfunctional requirements • Communicate about progress toward fulfillment of requirements • Manage relationships between requirements and other life-cycle artifacts to ensure fulfillment of requirements 40309 September 1, 2006 Source: Forrester Research, Inc. © 2006, Forrester Research, Inc. Reproduction Prohibited Trends | The Root Of The Problem: Poor Requirements 3 Requirements Change Processes Are Tightly Tied To Development Methodology IT organizations commonly lament that the world would be a better place if only they could stamp out requirements change. But while better requirements definition practices will help reduce unnecessary requirements change, they won’t eliminate it altogether. It’s an IT organization’s choice of development methodology — more than its choice of requirements change processes — that determines its ability to accommodate requirements change: · Waterfall processes treat changing requirements as the exception. In waterfall processes, requirements are defined at the beginning of the life cycle and presumed to remain constant over time. The impact of a requirements change — and the associated costs — increases dramatically as the project progresses and more derivative artifacts are produced. When waterfall processes are in use, open communication with business stakeholders about the true cost of requirements change to enable informed decision-making is absolutely essential. Shorter release cycles make requirements change in a waterfall context less expensive and represent a step in the right direction. · Iterative processes accommodate requirements change. Where a waterfall process would have a single long release cycle, incremental, iterative development processes consist of a sequence of short release cycles. One of the greatest benefits of this type of development methodology? The end of each iteration represents an opportunity to make changes to requirements without incurring significant costs (see Figure 2). Iterative methodologies also encourage the use of more modular architecture, which makes it easier for the software under development to evolve in parallel with business needs. IT organizations that incur high costs from requirements churn should revisit their choice of development methodology. Using a waterfall development process in an environment where business needs are changing rapidly will only lead to budget and schedule overruns and low levels of customer satisfaction. September 1, 2006 © 2006, Forrester Research, Inc. Reproduction Prohibited Trends | The Root Of The Problem: Poor Requirements 4 Figure 2 Two Models For Managing Changes To Requirements Project A: waterfall development process Release J F M A M Requirements definition J J A S O N D Formal approval process for requirements change Project B: iterative, incremental development process Release 1 Iteration 0 J F M A Release 2 M J Release 3 J A Release 5 Release 4 S O N D Opportunity for Opportunity for Opportunity for Opportunity for requirements requirements requirements requirements change change change change 40309 Source: Forrester Research, Inc. Requirements Management Tools Increase The Efficiency Of Mature Requirements Processes Requirements management — tracking requirement status, associating requirements with other life-cycle artifacts, managing changes to requirements, and identifying the impact of these changes on these associated artifacts — can’t improve the quality of requirements, but it can help ensure the correspondence of requirements to derived artifacts like specifications, models, and test cases. An insurance company that lacks solid requirements management practices told Forrester, “We often hear that requirements have been overlooked. The link between what we really need to build in the first place and what’s getting built is missing.” But when it comes to adopting requirement management tools, user companies must be careful to (see Figure 3): · Avoid tools that are too complex. Leading requirements management tools are relatively complex, and, as a result, the category has a high incidence of shelfware. These tools offer value for larger waterfall development projects, but for small and midsize projects — and especially for projects using Agile processes — the cost of using the tool sometimes exceeds the benefit.3 At a global systems integrator’s .NET delivery centers, smaller projects store requirements as work items in Visual Studio Team System, but larger projects store them in Borland Caliber using the Caliber plug-in for Team System. And Rally Software Development’s solution lets each project choose between two models of requirements management, one lightweight and the other traditional. September 1, 2006 © 2006, Forrester Research, Inc. Reproduction Prohibited Trends | The Root Of The Problem: Poor Requirements 5 · Make end user comfort the No. 1 selection criterion. Shops that opt for traditional requirements management software must make end user comfort the ultimate driver of their tool selection effort so as to not let their requirements management software spend go to waste. Users should expect vendors to conduct live proof-of-concepts where representative business analysts can sit down in front of each tool. It’s important to look closely at the depth of support that is offered for business analysts’ preferred means of requirements specification (e.g., Word, Web interface, use cases, process models, storyboards) and for the ease with which they can use requirements to generate other relevant artifacts (e.g., traceability matrices, UML models, test cases). · Adopt tools with an eye toward life-cycle integration. Although most of requirements management tools’ value comes from life-cycle integration, it’s all too common for these tools to be silos.4 User companies must remember to think about intended integration targets before making a tool purchase and to investigate the difficulty of building and maintaining these integrations.5 To remove barriers to integration, MKS and Serena Software have both built requirements management and process-centric software configuration management (SCM) solutions on top of a common repository.6 The most valuable integration for a requirements management tool is not SCM, but rather test management. Integration of requirements management and test management enables traceability from requirements to test cases, or even requirements-driven testing. Figure 3 Tools For Requirements Definition And Requirements Management Purpose-built tools Requirements definition • Axure RP • Borland DefiniteIT • Compuware Optimal Trace • iRise • Ravenflow • Serena Composer • Sofea Profesy Requirements management • Borland CaliberRM • Compuware Optimal Trace • IBM Rational RequisitePro • Serena Dimensions RM • Telelogic DOORS 40309 September 1, 2006 Other types of tools commonly used • Modeling tools (e.g., Microsoft Visio) • Microsoft Office, • Graphics packages (e.g., Adobe Illustrator) • HTML • Homegrown applications • Test management tools • Change management tools Source: Forrester Research, Inc. © 2006, Forrester Research, Inc. Reproduction Prohibited Trends | The Root Of The Problem: Poor Requirements 6 R E C O M M E N D AT I O N S IDENTIFY YOUR REQUIREMENTS PAIN POINTS BEFORE STARTING TO THINK ABOUT TOOLS The recent proliferation of tool support for different requirements activities has created much confusion in the marketplace. In the past, the only specialized requirements tools were requirements management tools like Borland CaliberRM, IBM Rational RequisitePro, and Telelogic DOORS. The emergence of new tools like iRise and Ravenflow that target requirements definition has increased the amount of attention that is paid to this part of the problem. However, this has also led to confusion in the marketplace. As one Forrester client put it, “We know we have a problem with requirements, but we can’t tell what type of tool can help us fix it.” Each type of tool support helps address a different type of problem: · Requirements definition tools to improve the initial quality of requirements. Better requirements definition practices reduce the number of defects and the amount of rework resulting from misunderstood requirements, misarticulated requirements, and unknown requirements. High-fidelity prototyping tools in particular help increase business stakeholder engagement in the requirements definition process and help IT secure real buy-in — as opposed to just formal sign-off — on requirements.7 · Requirements management tools to help carry requirements through the life cycle. In contrast, requirements management tools help reduce the number of defects and the amount of rework that stems from missed requirements, missed changes to requirements, and missed impact from requirement change. These tools also minimize the burden of managing relationships between requirements and between requirements and other lifecycle artifacts like models and test cases. ENDNOTES 1 The Standish Group’s 1994 Chaos Report found that the top three project impairment factors across 352 companies and 8,000 projects were lack of user input (12.8% of respondents), incomplete requirements and specifications (12.3%), and changing requirements and specifications (11.8). Other research has shown almost 50% of defects identified during testing to be due to defects in requirements. Source: “Calculating your return on investment from more effective requirements management.” See http://www-128.ibm.com/ developerworks/rational/library/347.html. 2 In offshore outsourcing relationships, companies often struggle with communications challenges. This struggle is most debilitating during the requirements and specification stage: Users are unable to express their requirements clearly enough for a vendor to properly interpret and implement those requirements. This problem leads to extensive rework and end user dissatisfaction. Firms can avoid this by employing topnotch business analysts with outsourcing experience who can bridge the communication gap. See the April 7, 2006, Trends “To Eliminate Communication Issues, Introduce Your Offshore Vendor To Your Customer.” September 1, 2006 © 2006, Forrester Research, Inc. Reproduction Prohibited Trends | The Root Of The Problem: Poor Requirements 7 3 Agile methods tend to deemphasize the decomposition of requirements into specs and detailed models, instead relying on real-time specification with guidance from an on-site customer. While Agilists are interested in tracing from high-level requirements to test cases, they’re rarely interested in tracing from one type of requirement to another or to various types of models. Consequently, development teams using Agile processes have little use for traditional requirements management tools. 4 Project managers and business analysts, the typical end users of requirements management (RM) tools, often fail to see the value of integrating RM with software configuration management. These resources focus on goals like schedule, scope, and budget, but they should consider expanding their emphasis from these ends to include some of the means by which they can be achieved. Integrating RM with SCM helps these employees understand not only what progress the team is making but also how; this integration supports more informed decision-making and helps ensure that development teams deliver the right functionality on time and under budget. See the September 21, 2005, Quick Take “Integrate Requirements Management With SCM To Enable More Informed Project Management.” 5 When user companies ask about tool integrations, they too often accept “yes” or “no” answers. To determine how well and how easily a vendor’s tools really integrate with each other and with third-party tools, inquire about the technologies used to accomplish this integration. A multichannel retailer that’s had great success building out an integrated suite of tools from multiple vendors goes so far as to quiz customer references about integrations, talk to the vendor’s engineering staff, and even start working the APIs themselves, if they’re available. See the August 18, 2006, Trends “The Changing Face Of Application LifeCycle Management.” 6 A spate of mergers and acquisitions has left Serena Software the largest SCM pure play. And the strength of the MKS process-centric software configuration management solution is particularly impressive given MKS’s size — $40 million in annual revenues — and relatively recent entry into the SCM space. See the November 14, 2005, Tech Choices “Process-Centric Software Configuration Management Scorecard Summary: Serena Software” and see the November 14, 2005, Tech Choices “Process-Centric Software Configuration Management Scorecard Summary: MKS.” 7 If communicating requirements from business users to IT or communicating intentions from IT to business stakeholders is a source of frustration — and it is in a great many organizations — take a look at specification tools. With their combination of ease of use, rapidity of prototyping, and high fidelity, they can bridge gaps in ways that little else, short of actually building the code, can achieve. See the August 11, 2005, Trends “Show, Don’t Tell.” Forrester Research (Nasdaq: FORR) is an independent technology and market research company that provides pragmatic and forward-thinking advice about technology’s impact on business and consumers. For 22 years, Forrester has been a thought leader and trusted advisor, helping global clients lead in their markets through its research, consulting, events, and peer-to-peer executive programs. For more information, visit www.forrester.com. © 2006, Forrester Research, Inc. All rights reserved. Forrester, Forrester Wave, Forrester’s Ultimate Consumer Panel, WholeView 2, Technographics, and Total Economic Impact are trademarks of Forrester Research, Inc. All other trademarks are the property of their respective companies. Forrester clients may make one attributed copy or slide of each figure contained herein. Additional reproduction is strictly prohibited. For additional reproduction rights and usage information, go to www.forrester.com. Information is based on best available resources. Opinions reflect judgment at the time and are subject to change. To purchase reprints of this document, please email [email protected]. 40309
© Copyright 2024 Paperzz