Rational Tool Overview Rational Tool Overview
Dec 18, 2015
Introduction Introduction
Requirements-Driven Software Development with Rational Analyst Studio.
Tafadzwa NzaraAnalysis & Design ConsultantEli Lilly & Company
AgendaAgenda
The Purpose of RequirementsRequirements-Driven Software
DevelopmentCompany Information and Resources
The Benefits of a Requirements The Benefits of a Requirements Driven Approach 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 RequirementsTrue 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 Requirement-Driven Software Development ToolsDevelopment ToolsA requirements management toolA visual modeling toolA change request management toolA test management tool
These tools together address the six best practices of software development.
Poll:Poll: Which of the following Which of the following represents the biggest software represents the biggest software challenge?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 Which of the following represents your biggest software challenge? biggest software challenge? Poll Poll ResultsResults
Ensuring developers Understand
what needs to be built
17%
Predicting when we will
deliver 8%Managing Change 23%
Understanding What Users Want 52%
Rational Solution 1 - Rational Solution 1 - RequisiteProRequisiteProA requirements management tool
– To capture and track requirements– To ensure requirement coverage– To measure impact of change
A visual modeling toolA change request management toolA test management tool
Rational RequisiteProRational RequisitePro
A Team-based Requirements Management ToolTrack your requirements documentsOrganize requirements View requirements coverageVisualize the impact of changeWeb access to requirements (Requisite
Web)
Rational Solution 2 – Rational Rational Solution 2 – Rational RoseRoseA requirements management toolA visual modeling tool
– To increase software acceptance– To get agreement early on– To increase developers’ understanding of the
requirementsA change request management toolA test management tool
Rational RoseRational 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 AcceptanceIncrease 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 Rational Solution 3 – Rational ClearQuestClearQuestA requirements management toolA visual modeling toolA 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 How Can you Manage Requirements Change ImpactRequirements Change Impact Distinguish between change requests and
requirements– Requirements are unambiguous, complete, non-
conflicting, …– 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 ClearQuestRational 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 Rational Solution 4 – Rational TestManagerTestManagerA requirements management toolA visual modeling toolA change request management toolA test management tool
– To build test cases from requirements– To ensure test coverage of requirements
Rational TestManagerRational 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 Requirements-Driven Software Development ToolsDevelopment 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 Rational Unified Process – The Six Best PracticesSix Best PracticesDevelop iteratively Manage requirements,Model visually (UML), Control changes, Use Component architecture Verify quality.