Rational Tool Overview Introduction Requirements-Driven Software Development with Rational Analyst Studio. Tafadzwa Nzara Analysis & Design Consultant Eli Lilly & Company Agenda The Purpose of Requirements Requirements-Driven Software Development Company Information and Resources The Benefits of a Requirements Driven Approach Build better Software fulfill Customer and User Needs. – Understanding the business Context of your solutions. – Effectively gather users’ input. – Stay In touch with changing user needs. Deliver Software on time and budget. – Protect requirements from unnecessary change – Effectively scope manage your project Deliver quality products – Validate your software against requirements. – Implement what your customer expects True Purpose of Requirements The purpose of Requirements Management is to establish a common understanding between the customer and the software project team […] This agreement with the customer is the basis for planning and managing the project. (Capability Maturity Model) Requirements Drive all software activities – Design Requirements express the solution you will implement – Test Requirements express the solution you will validate – User Documentation User manual documents the solution expressed by the requirements. – Project Planning Project schedule is linked to project scope (number of requirements) – What are the six best practices of software development? Requirement-Driven Software Development Tools A requirements management tool A visual modeling tool A change request management tool A test management tool These tools together address the six best practices of software development. Poll: Which of the following represents the biggest software challenge? Understanding what the user wants? Ensuring that developers know what they need to build? Managing change? Predicting when we will deliver? Which of the following represents your biggest software challenge? Poll Results Managing Change 23% Predicting when we will deliver 8% Understanding What Users Want 52% Ensuring developers Understand what needs to be built 17% Rational Solution 1 RequisitePro A requirements management tool – To capture and track requirements – To ensure requirement coverage – To measure impact of change A visual modeling tool A change request management tool A test management tool Rational RequisitePro A Team-based Requirements Management Tool Track your requirements documents Organize requirements View requirements coverage Visualize the impact of change Web access to requirements (Requisite Web) Rational Solution 2 – Rational Rose A requirements management tool A visual modeling tool – To increase software acceptance – To get agreement early on – To increase developers’ understanding of the requirements A change request management tool A test management tool Rational Rose Leading Visual Modeling Tool To increase software acceptance – Document business processes where software will be deployed To get agreements early on – Express requirements visually – “The Big Picture” Increase Developer understanding of requirements – Express requirements in use case design. Increase Software Acceptance Business modeling for software projects – To ensure your software fits upon deployment Document your software business context – Business activities to be automated Scope and Vision – Who will use your system Actors – Set of services your software will need to provide to the user Use Cases – Non-functional software requirements Business Rules, performance requirements, etc Rational Solution 3 – Rational ClearQuest A requirements management tool A visual modeling tool A change request management tool – To minimize requirements change – To sort and prioritize requirements – To map user feedback to requirements A test management tool How Can you Manage Requirements Change Impact Distinguish between change requests and requirements – Requirements are unambiguous, complete, nonconflicting, … – Change requests are free form requests, often incomplete, maybe conflicting and not agreed upon by the team Establish a CCB* to formally accept/reject change – Triage change requests – Assess impact of change before accepting change. *CCB – Change Control Board Rational ClearQuest Rational Change Request Management Tool • Formatted web form to collect all change requests • Simplifies the sorting and prioritization of change requests. • Links requirements to user feedback • Associate change requests to requirements • Same tool can be used for defect tracking Rational Solution 4 – Rational TestManager A requirements management tool A visual modeling tool A change request management tool A test management tool – To build test cases from requirements – To ensure test coverage of requirements Rational TestManager • Comprehensive Test Management Tool Test the right thing • Direct link to requirements, use cases and more • Ensure test coverage • Out-of-the-box test coverage reports Requirements-Driven Software Development Tools A requirements management tool – Requisite Pro A visual modeling tool – Rational Rose A change request management tool – ClearQuest A test management tool – Test Manager Rational Unified Process – The Six Best Practices Develop iteratively Manage requirements, Model visually (UML), Control changes, Use Component architecture Verify quality. Where to Get More Information www.rational.com