posted on September 20, 2009 02:41
Given the economic downturn, "cheaper, better, faster" seems to be a universal mantra in business. To stay competitive, organizations must continually strive to be more agile and develop higher-quality solutions more quickly-despite obstacles such as geographically distributed teams, limited budgets and resources, quick delivery times, language barriers and government regulations. These challenges require teams to consider new ways of doing business so they can be more responsive to frequent business changes.
One area that businesses can optimize is their software development processes. If they want to be competitive, companies don't have the luxury of long development lifecycles. To keep timeframes short, organizations must foster a collaborative environment by making tasks and responsibilities transparent and breaking down silos across the development lifecycle.
At the heart of the collaborative development environment are software requirements. Business analysts, product managers, developers, testers and architects leverage requirements as part of their daily activities. By ensur-ing that these players have access to the content they need at the right level of detail, organizations can be more nimble and better respond to change within the development environment.
Requirements definition is the foundation of effective software delivery. Require-ments should be developed-or defined-through consensus among stakeholders to address their needs, business problems and the vision of the software. Business demands require that solutions meet stakeholders' goals and objectives-no more and no less.
In this white paper, you will learn about the changing focus of the requirements space and how requirements definition differs from requirements management. You will also read about a business analyst's struggles with defining requirements using common office software and tools. This paper addresses how IBM Rational® Requirements Composer software can streamline definition processes and help you achieve a faster ROI by reducing costly rework and speeding time to market.
Requirements management versus requirements definition 101
In the requirements space, people often focus on managing requirements. But few focus on defining requirements. Although developers partake in requirements definition on some level, it is often informal, and few consider requirements definition as an area for improvement. But defining requirements is key to effective software delivery. Organizations are beginning to realize the importance of understanding their stakeholders' business problems and gaining agreement on the vision of the end product. By investing time in requirements activities-either early in the software development process or later as change occurs-you can save time, effort and money in the short and long terms.
Requirements definition includes eliciting, specifying, analyzing and validating requirements. It is an iterative process in which one or many stakeholders define and refine problem statements and then conceptualize potential solutions and their impacts. By involving all pertinent stakeholders, you can understand their business goals and help ensure that the defined software requirements align to them. If stakeholders do not reach consensus during the definition stage, developers will have difficulty building the solution without rework-resulting in longer development lifecycles and higher costs.
Requirements management governs requirements throughout the development lifecycle. Product and software teams gather, store, track, prioritize and implement requirements captured during definition phases. It is the process of communi-cating and controlling software development scope while understanding and incorporating changes simultaneously.