Professional Documents
Culture Documents
March 2011
Dave West and Mary Gerush, Forrester Just Do It: Modernize Your Requirements Practices (2009)
Complete, accurate, managed software requirements are critical to successful project outcomes, but traditional approaches to defining and managing requirements are no longer enough.
Informal 31%
Agile 35%
Iterative 21%
Waterfall 13%
So why havent some of the more traditional methods disappeared in the midst of this agile transformation? There are key issues that are preventing organizations from adopting a pure agile approach: Connected processes: The reality is that development is an end-to-end series of connected processes not all of which can become agile. For example, the processes and best practices associated with testing and QA still remain very linear and waterfall. A common complaint from QA is I cant test until my target environment is ready, no matter how fast my development team gives me a new build drop. Unfortunately, agile purists perceive this QA reality as process inflexibility. Project complexity: When a companys product portfolio gets larger and more complex, delivering the customer request in an agile manner is not so straightforward and simple. What seems like a simple change to a requirement or code with one self-directed agile team may unknowingly impact multiple teams, projects, and products. Reusing features and technology components across teams is just as difficult. Regulations and standards: Agile developments frequent changes and light documentation practices can run counter to a companys policies regarding regulatory compliance. This is especially true for companies in the defense, automotive, financial, or medical industries.
Even if your development team has gone agile, its likely that other development teams or partners that you work with have not completely left behind the old school methods.
Even if your development team has gone agile, it is likely that other internal development teams or partners that you work with have not completely left behind the old school methods. To further complicate matters, development teams are not purely agile or purely waterfall. Almost 75% of development organizations deliberately mix agile and other methodologies.1 Faced with this hybrid landscape, many organizations are back where they were ten years ago, struggling to deliver applications that customers really want and trying to eliminate waste.
Whitepaper: Orchestrating Your Requirements Process 1
Embracing agile transformation doesnt mean that you can ignore the best practices and methods for managing requirements. In fact, the opposite is true.
But if requirements are so critical, why do so many organizations do such a poor job at managing them? Why have decades-old tools failed to resolve the problem? And why has agile still had limited success across the enterprise despite light management of requirements? The unfortunate truth is that many of the tools that were originally designed to help developers manage requirements are actually responsible for holding them back from delivering on customer requirements. According to Forrester, Application development and program management professionals searching for the right requirements management solution often get tripped up by ambitionThis leads them to purchase a tool thats more complex, more difficult to use, and more expensive than is necessary.3 Development organizations also sometimes get stuck in a feature-function analysis focused solely on requirements management that includes factors such as baselining, versioning, linking, and traceability, while ignoring the broader lifecycle of everything they need to do to capture requirements, understand their complexity and impact, and validate features. Instead of focusing solely on requirements management, often the best solution to developments problems is looking at the entire process and how its impacted by change.
Defining and managing requirements is often like trying to change the tires on a moving car. Its not surprising that organizations struggle to define and deliver sound, effective software requirements. To succeed, they must focus on the entire requirements lifecycle.4 But organizations face key questions: How do customer requirements come into development? How are they prioritized? How do you communicate requirement changes to all impacted stakeholders? When and how will requirements be implemented into production? Leading development organizations have already started orchestrating the requirements lifecycle across all stakeholders, tools, and processes: A Fortune 500 financial institution will save millions of dollars each year by eliminating siloed tools and wasteful manual processes for eliciting, managing, and validating requirements. They will also be able to delight their customers and appease their compliance department by reusing best practices to deliver applications faster and by maintaining traceability across multiple project teams, partners, and clients. A Fortune 500 healthcare services company will be able to reduce rework and accelerate software development by 50% by automating processes and creating an electronic change control process across its global teams, multiple platforms, and distributed projects.
IT organizations that orchestrate their requirements lifecycle can reduce development times and save millions each year.
A comprehensive and orchestrated requirements process encompasses five key phases. These phases can all take place during a single agile sprint, as well as across the entire lifetime of a new application. Organizations that successfully automate, coordinate, and integrate their teams, tools, and processes across these phases will increase customer satisfaction, reduce rework, and lower costs.
Capture
Collaborate
Confirm
Continue
Control
Capture: This is the process for capturing defects, enhancements, or new requests across developers, employees, partners, and clients. This information can be captured online via a helpdesk, portal, or online survey or in person through workshops, interviews, and research studies. Models or visual prototypes may be used to help the definition, prioritization, and approval of requirements. Collaborate: Once initial requirements are captured, organizations need to collaborate with stakeholders to determine if refinement, or decomposition, is necessary. This is the most critical step in the process. Quite often the complexity of the change or lack thereof will make the decision easy. Another quick indicator may be its impact on scalability, interoperability, security, or any other -ility the organization views as critical to the business. Confirm: Once requirements are refined and allocated to development tasks and test strategies, teams can start implementing them via code changes, as well as validate the intended functionality. Maintaining links between features, requirements, software configurations, and test scripts is critical for ensuring that requirements are validated and ready for delivery. Continue: A requirement isnt done once its been delivered. Organizations must continue to maintain and monitor the implementation of that
3
requirement into production. Did it do what the customer was expecting? Have conditions changed to make the requirement obsolete? Are there any critical changes that need to be made due to technology, business, or competitive trends? Control: Throughout the requirements lifecycle, organizations must manage, communicate, and stay in control as the changes that inevitably happen with requirements unfold. If something changes, they need to be able to determine all potential impacts across stakeholders, teams, projects, and products. And the more products and variants an organization has, the quicker the complexity becomes a logarithmic nightmare.
Organizations struggle to define and deliver sound, effective software requirements. To succeed, they must focus on the entire requirements lifecycle. - Mary Gerush, Forrester
2.
3.
4.
5.
6.
industries, organizations can incur multimillion dollar penalties for missing key functionality in their applications. Just enough: Just like nobody does agile or waterfall development exactly the same way, there is no single one-size-fits-all solution for managing a requirements process. Organizations should look for just enough workflow and process functionality focusing on processes, best practices, and technologies that give them the right amount of functionality they need. Instead of a rip and replace strategy to consolidate disparate systems, organizations should orchestrate the existing processes and technologies employees have already adopted.
Conclusion
Embracing agile transformation doesnt mean that you can ignore the best practices and methods for managing requirements. In fact, the opposite is true. Development teams that wish to delight their customers and work as efficiently as possible need to embrace orchestration of their end-to-end requirements process. Companies who have already begun orchestrating the entire requirements lifecycle across hybrid teams are realizing dramatic results happier customers, greater visibility, increased reuse, and complete auditability.
Endnotes
1
Dave West and Tom Grant, Forrester, "Agile Development: Mainstream Adoption Has Changed Agility", 2010. 2 IAG Consulting, Business Analysis Benchmark, 2009. 3 Carey Schwaber and Peter Sterpe, Forrester, Selecting The Right Requirements Management Tool Or Maybe None Whatsoever, 2007. 4 Mary Gerush, Forrester, Right Tools. Write Requirements. Right On! 2010.
Copyright 2011 Serena Software, Inc. All rights reserved. Serena is a registered trademark of Serena Software, Inc. All other product or company names are used for identification purposes only, and may be trademarks of their respective owners. Revised 15 March 2011. Document ID: WP-RQM-031511.