IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational Software Group jlmarech@ca.ibm.com 2007 IBM Corporation Agenda Introduction: Why a need for a process? RUP in a nutshell Where BA*s fits in RUP project lifecycle and what can RUP do for you? BA work products RUP and the BABOK Montreal, December 4, 2007 *Business Analyst 2 1
What Challenges are you Facing with your Current Process? Current processes loosely defined, preventing effective deployment as well as auditing Redundancy and inconsistencies Takes time to develop and maintain Doesn t effectively drive business requirements Too restrictive Cannot easily be customized for different projects or new best practices Too many changes, scope creep No central community or communication framework to facilitate convergence of best practices across domains Knowledge is contained within individuals Lack of clear roles & responsibilities 3 Why is Process Important? Time-to-market Predictability Quality Reduce development cycles Leverage roadmap for delivering customer value Adopt proven practices (i.e., iterative and Agile development, and SOA) Efficiency Enable clear and consistent team communication Understand responsibilities and how to collaborate effectively Reduce training costs Identify what resources are needed and when Continuous Improvement Define decision points to reduce surprises Leverage well-defined artifacts and associated quality criteria Adopt proven practices (i.e., early and continuous testing) 4 2
Agenda Introduction: Why a need for a process? RUP in a nutshell Where BA*s fits in RUP project lifecycle and what can RUP do for you? BA work products RUP and the BABOK Montreal, December 4, 2007 *Business Analyst 5 Rational Unified Process start end RUP is decomposed over time into four sequential phases, each concluded by a major milestone (the objectives to reach) RUP is based on industry best practices (reuse of solutions that work), for all the roles of an IT project development RUP is an iterative & incremental software development process (opposed to waterfall approach) RUP is flexible and aligned with Agile principles Current Phase is. RUP enables clear, consistent communication for all team members RUP is focused on risk reduction 6 3
RUP: A Risk Driven, A Use-Case Based, Architecture-Centric, Iterative, Configurable Software Development Process Time 7 Agenda Introduction: Why a need for a process? RUP in a nutshell Where BA*s fits in RUP project lifecycle and what can RUP do for you? BA work products RUP and the BABOK Montreal, December 4, 2007 *Business Analyst 8 4
Where a BA fits in RUP project lifecycle? 9 RUP For Business Analysts RUP considers the Requirements as the central part of a sound architecture (including both functional requirements and quality of service requirements ) RUP approach helps to align IT with business needs Each RUP activity is driven by functional requirements (RUP is Use- Case Driven) 10 5
Agenda Introduction: Why a need for a process? RUP in a nutshell Where BA*s fits in RUP project lifecycle and what can RUP do for you? BA work products RUP and the BABOK Montreal, December 4, 2007 *Business Analyst 11 BA Work Products and RUP A Work Product is something meaningful resulting from an activity (it is not necessarily a Word document). A team member produces Work Products in the course of performing Tasks Business Analysts need to create and maintain work products (communication, collaboration and documentation purposes) Not all projects need all work products Initial task on a project is to decide which work products are needed The work products are tailored to the specific project Many of the work products are created initially, and then refined as the work progresses through a number of iterations 12 6
Typical RUP work products for a BA Target-Organization Assessment (Assess current business environment: As Is) Business Use case Model Business Rules Stakeholder Requests (Wants and Needs) Vision Glossary Software Requirements Specifications (SRS) Use case Model Use case Specifications Supplementary specifications Requirement management plan Storyboard Others..and RUP work product templates 13 Agenda Introductions : Why a need for a process? RUP in a nutshell Where BA*s fits in RUP project lifecycle and what can RUP do for you? BA work products RUP and the BABOK Montreal, December 4, 2007 *Business Analyst 14 7
Analogy between BABoK and RUP BABoK Knowledge Areas RUP Disciplines Enterprise Analysis Requirements Elicitation Requirements Communication Requirements Analysis and Documentation Solution Assessment and Validation Requirements Planning and Management 15 Some Common Aspects between BABoK and RUP Business analysis area Covered in BABoK and RUP, but the terminology is sometime different. Considered as a fundamental aspect of software development in BABoK and RUP Business Analyst role Central role in BABoK and RUP, with description of the typical skill set and knowledge area Requirement Analysis Similar in BABoK and RUP, with sometime different terminology Functional Requirements Non-Functional requirement Requirement attributes Use-Case models and diagrams identified as a way to scope a project and share information across teams Traceability Identified as a key aspect for requirement management Traceability techniques documented both in BABoK and in RUP Facilitate change management impact analysis 16 8
Some Differences between BABoK and RUP Roles for business analysis BABoK: One role only Business Analyst RUP: Up to five different roles to cover the Business Analysis area Business Architect / Business Designer Business Process Analyst System Analyst / Requirement Specifier Scope BABoK: Business analyst role and areas in great details RUP: Less detailed, but cover other areas (architecture, development, tests, deployment ) Development approach BABoK: Compatible with all methods with no preference (iterative, waterfall ) RUP: Is iterative by essence and discourages the waterfall approach (just like any Agile methodology, XP, Scrum, DSDM ) Delivery process BABoK is not a methodology (no order or sequence). BABok is more descriptive than prescriptive RUP is a methodology providing workflows (sequenced phases and activities to deliver a project) 17 Using RUP with BABoK (and vice versa) RUP and BABoK can complement each other BABoK provides the knowledge areas content for successful business analysis RUP provides content on other areas and the end-to-end delivery process (sequenced activities) for successful governance and system delivery RUP content can be modified and enriched by BABoK content BABoK can be supplemented by the RUP lifecycle 18 9
Example: Custom RUP with BABoK content Workflow and WBS from Rational Method Composer Customized with BABoK content 19 RUP Published Website Proven. Practical. Flexible guidance. Easy to use guidance Browsable web pages Central repository for documentation and project templates Can be published with BaBok content (activities, roles, deliverables) 20 10
Summary: RUP and BABOK Business Analysis Body of Knowledge (BABoK): The sum of knowledge within the profession of Business Analysis and reflects what is considered currently accepted practice. Description of Business Analysis areas of knowledge, their associated activities and tasks and the skills necessary to be effective in their execution. Rational Unified Process (RUP): An underlying set of philosophies and principles for successful software development. A framework of reusable method content and process building blocks. The underlying method and process definition language.. 21 Questions? Jean-Louis Maréchaux, Software IT Specialist IBM Rational jlmarech@ca.ibm.com 22 11