140 likes | 301 Views
Implementing Effective Requirements Practices. Presented by Dr. Ralph R. Young Director, Software Engineering Systems and Process Engineering Northrop Grumman Information Technology. Outline. Course Objectives Rationale for Focus on Requirements
E N D
Implementing Effective Requirements Practices Presented by Dr. Ralph R. Young Director, Software Engineering Systems and Process Engineering Northrop Grumman Information Technology
Outline • Course Objectives • Rationale for Focus on Requirements • Typical Customer and Supplier Issues and Remedies • What’s Needed? • Value of Investment in Requirements Process • What Drives Requirements? • Goals of Good Requirements Practitioners • Benefits of Process Improvement • Effective Requirements Practices • What do we mean by “real” requirements? • The Value of an Effective Requirements Tool • Summary
Course Objectives • Share industry lessons that revel how ineffective practices cause rework, poor quality products, waste, and loss of competitiveness • Invite you to be a leader in fostering improved practices on your project and in your organization (no matter what your current role is) • Provide you mechanisms, practices, and tools to facilitate the transformation • What they are • Examples to take back to your organization • Nurture • Individual on-the-job fulfillment • Improved organizational effectiveness
The Rationale for Focus on Requirements(Industry Data: 8,000 software projects) • 53% of industry’s investment on application development projects is a casualty of cost overruns and failed projects. • Major contributing factors include: lack of user input (13%); incomplete requirements (12%); and changing requirements. • Reducing requirements errors is the single most effective action developers can take to improve project outcomes. • There is as much as a 2000:1 cost savings from finding errors in the requirements stage vs. in the maintenance stage of the life-cycle. • Requirements errors are the largest class of errors typically found in a project (41-56% of errors are discovered). • The cost of rework is typically 45% of projects.
Typical Customer and Supplier Issues and Remedies Customer Supplier Remedies
What’s Needed? • An organizational requirements policy • Senior management support • A requirements process • Designed by performers in your organizations who are concerned with requirements • An organizational “Requirements Working Group” • A requirements process description (narrative) • Investment in the requirements process (8-14% of total project costs) • Recommended methods for each part of the requirements process • Training for how to address requirements in your organization • An effective automated requirements tool (essential, not optional) • A few useful metrics that are tracked and used • Suggested reading (for more information, advice, suggestions, recommendations, lessons-learned from others) • Effective communication • A way (that is, a mechanism) to control changes to requirements
What Drives Requirements? Higher Level Specifications Standards Regulations Existing systems and processes Constraints: costs, schedules, technical viability, legal, environmental What Drives Requirements Customer and User needs and expectations
Goals of Good Requirements Practitioners • Identify incorrect assumptions • Ensure consistency • Increase compliance • Reduce misunderstandings between organizations and individuals • Improve the responsiveness of suppliers • Improve the satisfaction of all customers • Write good requirements
Benefits of Process Improvement Over a five-year period, the Software Engineering Institute (SEI) had discovered that by having processes and a focus on continuous improvement, these results can be achieved. CATEGORY IMPROVEMENT Productivity Increase 202% Cycle Time Reduction 46% Defect Reduction 90% Predictability Error Reduction 76% Average time 5 years Data derived from an SEI Technical Report, “Benefits of CMM-Based Software Process Improvement,” CMU/SEI-94-TR-13, August 1994.
Commit to the approach. Establish and utilize a Joint Team to be responsible for the requirements. • Define the real customer needs. Use a requirements process and continually improve it. Iterate the system requirements and the system architecture repeatedly. Use a mechanism to maintain project communication between and among all engineering groups throughout the development effort. Select familiar methods and maintain a set of work products that collectively comprise the current requirements specification. Perform requirements verification and validation. Provide an effective mechanism to accommodate changes in requirements during system life cycle development. Perform the development effort using known familiar proven industry, organizational, and project best practices. Effective Requirements Practices
What do we mean by “real”requirements? • Industry experience is that the customer’s and user’s stated requirements are never the real requirements! • This accounts for many of our problems. • A joint effort of the customer and system supplier is required to emerge the real requirements. • The system supplier needs people who are domain/subject matter experts. • Use established criteria for “a good requirement” (see Figure 4-9, pp. 82-83, for these criteria). • Then, emerge real requirements using the “joint team.” • Document the rationale for each requirement. • Maintain information about each requirement in your requirements tool (source, history, priority, attributes).
The Value of an Effective Requirements Tool • The absence of an effective requirements tool is among the top 5 negative factors that influence development effectiveness (see p. 188, ERP). • Essential to manage changes to requirements • It’s imperative to know how (and where) each requirement impacts the developing system (“traceability”). • Facilitates emerging the real requirements • Allows assignment of attributes to each requirement (e.g., priority, status, cost, difficulty, stability, unique id, source, author, rationale) • Facilitates CM, testing, validation, and verification activities
Summary • Industry lessons (and our own experience) suggest that implementing effective requirements practices will have a huge impact. • Challenge yourself to be a leader in fostering improved practices on your project and in your organization. • Select a few mechanisms, practices, and tools to initiate and facilitate the transformation. • Nurture • Individual on-the-job fulfillment • Improved organizational effectiveness