IBM Rational software presentation template

®
IBM Software Group
Using RUP Effectively:
How to drive success and avoid common pitfalls
Per Kroll, Chief Architect
IBM Rational Expertise Development & Innovation (REDI)
© 2007 IBM Corporation
IBM Software Group | Rational software
Per Kroll - Background
 Product Manager and later Development
Manager of RUP since creation in 1996
 Chief Architect, IBM Rational Expertise
Development & Innovation (REDI
 Project lead – Eclipse Process Framework
 Core Member – SWG Agile Adoption Team
 (Co-) Author of
 The Rational Unified Process Made Easy – A
Practitioner’s Guide to RUP
 Agility and Discipline Made Easy – Practices from
OpenUP and RUP
2
IBM Software Group | Rational software
Discussion Topics
 What is RUP?
 RUP and Managing Iterative Development
 RUP and Agility at Scale
 Adopting RUP and
Measured Capability Improvement Framework
 Parting thoughts
3
IBM Software Group | Rational software
What Is RUP?
 A set of principles
 A collection of out-of-the-box processes to use as a starting point
 A customizable process framework and knowledge base
supports implementation of the principles
4
IBM Software Group | Rational software
The Spirit of The Rational Unified Process
1. Attack major risks early and continuously…
or they attack you
2. Ensure that you deliver value to your customer
3. Have a maniacal focus on working software
4. Accommodate change early in the project
5. Baseline an executable architecture early on
6. Build your system with services and components
7. Work closely together as one team
8. Make quality a way of life,
not an afterthought
5
IBM Software Group | Rational software
RUP: Out-of-the-Box Processes
 RUP for Service-Oriented Modeling and Architecture
 RUP for Maintenance Projects
 RUP for COTS Packaged Delivery
 RUP for System z
 RUP for Small Projects
 RUP for Medium Projects
 RUP for Large Projects
 RUP for Systems Engineering
 RUP for Compliance Management
 RUP for Asset-Based Development
 RUP for Globally Distributed Development (beta)
6
IBM Software Group | Rational software
Two dimensions, four (or more) process styles
Waterfall
Few risk, sequential
Late integration and testing
Relaxed
Disciplined
Little documentation
Light process
Low ceremony
Well-documented
Traceability
CCB
High ceremony
Iterative
Risk driven
Continuous integration and testing
IBM Software Group | Rational software
RUP Process Framework
Waterfall
Few risk, sequential
Late integration and testing
Common language
Common Practices
Oversight
Flexible resourcing
Reuse
Low Ceremony
RUP Framework
Little documentation
Light process
OpenUP
RUP
“Light”
RUP for
large-scale SOA
RUP for
Sys Eng
High Ceremony
Well-documented
Traceability
CCB
Iterative
Risk driven
Continuous integration and testing
8
IBM Software Group | Rational software
Rational Process Library
Broad variety of method plug-ins included in Rational Method Composer
Enterprise plug-ins
 IBM Rational Unified Process, or RUP
Project-specific plug-ins
Now a library of
over 100 content
packages!

RUP for COTS Package Delivery

RUP for System z

RUP for Maintenance Projects
 RUP for Asset-Based Development

RUP for Legacy Evolution
 RUP with ITSM/ITUP Connection

RUP for Model-Driven Systems Development (MDSD)
 RUP for Global Development and Delivery
Standard-specific plug-ins
 RUP for Global Development and Delivery Maintenance

 IBM Rational Method for Portfolio Management (for Initiatives)
 IBM Rational Method for Program Mobilization
 IBM Tivoli Unified Process (ITUP)
RUP for Department of Defense Architecture Framework (DoDAF)
Solution-specific plug-ins
Practice-specific plug-ins


SOA:
RUP for User Experience Modeling
 RUP for Service-Oriented Modeling and Architecture


Governance:
Technology/tool-specific plug-ins
 SOA Governance

RUP for Microsoft® .NET
 Asset-Based Governance

RUP for J2EE™
 RUP for Practical Software & Systems Measurement (PSM)

RUP for Rational Application Development
Compliance:

RUP for Rational Software Architect
 RUP for Compliance Management

RUP Plug-in for WebSphere® Business Modeler (beta)

RUP for Automated Software Quality
 RUP for CMMI® Compliance Support
 (Rational Performance Tester, Functional Tester, and Manual
Tester)
A collection of out-of-the-box method content and processes that you can customize to
address a diverse set of enterprise and project needs and development styles
9
IBM Software Group | Rational software
Process Management
Create, customize, publish, and enact software & systems development
processes according to project needs
Governance
Process Management & Best Practices
Leverage a rich set of
process assets and
guidance to capture &
maintain development,
management, and
governance processes
Automate, integrate, and
govern core business
processes of software and
systems delivery through an
integrated set of proven,
industry leading tools
Establish consistent processes
driven by standards and best
practices to support corporate
governance objectives
Process
Library
(with RUP)
Rational
Software
Delivery
Platform
Rational
Method
Composer
Manage, author, configure,
and deploy effective
processes tailored to
project needs
10
IBM Software Group | Rational software
Discussion Topics
 What is RUP?
 RUP and Managing Iterative Development
 RUP and Agility at Scale
 Adopting RUP and
Measured Capability Improvement Framework
 Parting thoughts
11
IBM Software Group | Rational software
Waterfall Development - What Happens in Practice
Sequential activities:
Requirements
Design
Integration
Test
Integration
Begins
Development Progress
(% coded)
100%
Code
Late Design
Breakage
Original
Target Date
Project Schedule
12
IBM Software Group | Rational software
Principle: Demonstrate Value Iteratively
Better progress profile
Prototypes
Architecture
Development Progress
(% coded)
100%
Demonstrable results
Feedback
Walker Royce, 1995
Functional
Releases
Product
Release
Modern
Project Profile
Waterfall
Project Profile
Project Schedule
13
IBM Software Group | Rational software
Feedback: Less Waste
Never Used
45%
[1]
Customers often
don't know exactly
what they want at
the beginning of a
project.
Rarely Used
19%
[1]
Implementing Lean Software Development From Concept to Cash: Mary & Tom Poppendieck – Addison Wesley (2006)
14
IBM Software Group | Rational software
Iterative Development
 Focuses the team
 Time-boxed
 Has a plan and assessment
 Prioritized work
 Agile estimation
 Produces a demo-able and shippable build
15
IBM Software Group | Rational software
RUP’s Project Phases and Milestones
 Forces extended team to agree on:
Inception: Do we understand what we are building?
Elaboration: Do we understand how to build it?
Construction: Are we ready to release in the near future?
Transition: Can we release now?
iteration
iteration
iteration
iteration
iteration
iteration
Key stakeholders frequently
do not have time to review
the results of every iteration.
iteration
 Provides explicit
milestones centered on
balancing risk mitigation
and value creation
IBM Software Group | Rational software
Understand the Problem Space
Your goal is to find a Path from
Here to There
Initial Project Status
 Reused assets
 Staffing, skills
Stakeholder
Satisfaction Space
IBM Software Group | Rational software
Divide Problem Into Smaller Problems
Your goal is to find a Path from
Here to There
1
2
3
4
5
6
Planned Path
Initial Project Status
 Reused assets
 Staffing, skills
Stakeholder
Satisfaction Space
IBM Software Group | Rational software
Understand The Real Dynamics
Planned
Initial State
Actual
Initial State
Planned
Completion
1
3
2
4
5
6
Planned Path
Actual Path
Initial Project Status
 Reused assets
 Staffing, skills
Stakeholder
Satisfaction Space
IBM Software Group | Rational software
Use Iteration Assessments to Change Direction
Planned
Initial State
Planned
Completion
Actual
Initial State
2
1
3
4
5
6
Planned Path
Actual Path
1
2
Initial Project Status
 Reused assets
 Staffing, skills
3
4
5
6
7 Stakeholder
Satisfaction Space
IBM Software Group | Rational software
Iteration Assessments
Helps teams see beyond their immediate
deliverables
Provides an opportunity to have some fun
at the end of each milestone period
Scenarios and samples become a regular
part of the informal planning and discussions
that happen every day
Marketing
Collateral
Tutorials
Web
Iteration Builds
User Task
Scenarios
Initial iterations focus on getting team leads
and development team involved so they see
first hand how things are shaping up
As the iterations start to take shape, more
participants are involved including
management, sales, marketing, support,
beta customers, etc.
Iteration
Assessments
In planning iteration, artifacts needing to be
built for successful exit are identified and, thru
iteration, development works to build them
Prior to assessment, core team comes
together to verify artifacts can be built (and
does what’s necessary to close any issues)
At iteration assessment, broader team comes
together for one day to build artifacts for
themselves
Issues and observations are captured and
incorporated into the formal plans for the next
iteration
Training
Material
Demos
PVT, SVT
IBM Software Group | Rational software
Plan With Evolving Levels of Detail
Coarse-grained Plan:
Project Plan
Fine-grained Plans:
Iteration Plans
One For Entire Project
Next Iteration
Phases and major milestones
 What and when
Iterations for each phase
 Number of iterations
 Objectives and Duration
Current Iteration
 Iterative does not mean less work and shorter schedule
 It is about greater predictability
IBM Software Group | Rational software
Solution: Use Iteration Assessments to Change
Direction
Planned
Initial State
Initial
Actual
Initial State
Updated
2
1
Planned
Completion
3
4
5
6
Planned Path
Actual Path
1
2
Initial Project Status
 Reused assets
 Staffing, skills
3
4
5
6
7 Stakeholder
Satisfaction Space
IBM Software Group | Rational software
Discussion Topics
 What is RUP?
 RUP and Managing Iterative Development
 RUP and Agility at Scale
 Adopting RUP and
Measured Capability Improvement Framework
 Parting thoughts
24
IBM Software Group | Rational software
Challenges with Agile in the Mainstream
Compliance requirement
Low risk
Critical,
Audited
Enterprise discipline
Enterprise
focus
Project
focus
Geographical distribution
Co-located
Entrenched process,
people, and policy
Global
Minimal
Significant
Agile
Development
Organization distribution
(outsourcing, partnerships)
Application complexity
Simple,
single
platform
Complex,
multi-platform
Team size
Under 10
developers
Third party
In-house
Degree of Governance
100’s of
developers
Informal
Formal
25
IBM Software Group | Rational software
Agile Development with Rational Unified Process (RUP)

Follow RUP’s agile practices
 Regular delivery of working software
 Active stakeholder participation
 Test-Driven Development (TDD)
 Collaborative development
 Continuous builds
 Early and frequent system-level testing
 Just enough process

RUP Differentiators – scale agility to
complex situations
 Executive oversight
 Application complexity
 Geographical distribution
 Large team size
 Compliance requirements
 …
26
IBM Software Group | Rational software
Lean Development Governance
www.ibm.com/developerworks/
 Pragmatic
Governance Body
 Align HR Policies With IT
Values
 Iterative Development
 Staged Program
Delivery
 Align Stakeholder Policies
With IT Values
 Risk-Based Milestones
 Business-Driven
Project Pipeline
 Adapt The Process
 Continuous Improvement
 Simple And
Relevant Metrics
 Continuous Project
Monitoring
 Embedded Compliance
 Scenario-Driven
Development
Organization
Processes
Mission &
Principles
Measures
Roles &
Responsibilities
Policies &
Standards
 Promote Self-Organizing Teams
 Integrated Lifecycle Environment
 Align Team Structure With
Architecture
 Valued Corporate Assets
 Flexible Architectures
27
IBM Software Group | Rational software
Discussion Topics
 What is RUP?
 RUP and Managing Iterative Development
 RUP and Agility at Scale
 Adopting RUP and
Measured Capability Improvement Framework
 Parting thoughts
28
IBM Software Group | Rational software
Common Reasons for Adopting RUP
Communicate Your Business Objectives through Your Organization
 Project Execution
 “We have problems delivering projects on time, on budget, and meeting all high priority
requirements. There is no consistency or predictability.”
 Compliance Audits
 “It’s a nightmare every time we’re audited. Demonstrating our process to the auditor is
laborious, time-consuming and painful.”
 Process Improvement
 “We know our process isn’t working. We know we need to change it. We’re just not sure
what is the right process, how to effect that change and get everyone to follow it.”
 Outsourcing / Distributed Development
 “Budget was just cut 40% and we need to outsource. How do we communicate our
process to the outsource vendor? If we don’t, they’re going to charge a premium.”
 Process Deployment / Execution
 “We have a great process, but it is too expensive to maintain, and we are not effectively
deploying it.”
29
IBM Software Group | Rational software
Common Challenges with RUP Adoption
 Organizational Challenges
Lack of executive buy-in
Lack of understanding of why to
change
Process group not trusted
 People challenges
 Waterfall/serial tailorings
Big up front
architectures/requirements
Saving the tricky part for later
Testing at the end of the lifecycle
 Process challenges
Overly specialized people
Too much formality
Unwillingness to change
Too many artifacts
“Analysis paralysis”
No developer testing
Little/no customer involvement
No continuous integration
30
IBM Software Group | Rational software
Measured capability improvement framework
Map business value to software delivery practices
Target: Phase 1
Already implemented
Outside scope
Example: Financial Service Company
Customer Business Challenges
Operational Objectives
Software Delivery Best Practices
 Create financial products more quickly
 Reduce time-to-market
 Functionality of customer web falling behind competition
 Improve productivity
Continuous integration
 Inconsistencies with integrated financial reporting
 Increase innovation
Shared vision
 Recent SOX audit failure
 Improve consistency/predictability
 Improve oversight
 Enable flexible/global resourcing
 Satisfy compliance mandate
Use-case driven development
Whole team
Risk-value lifecycle
Release planning
Test-driven development
Asset-based development
Asset governance
Iterative development
SOA modeling
Ongoing Adoption Assessment
Business Metrics
Enterprise
SOA
Adopt
Practice
SOA governance
Project
Time to
Market (M)
Quality
(Defect
Density)
A
22
2.3
7
B
14
1.4
4
Functional testing
C
18
1.6
6
Test management
D
9
0.3
10
E
6
0.4
8
Structured testing
…
Innovation
(Cust. Sat. )
Architecture modeling
Security testing
31
IBM Software Group | Rational software
IBM Rational Self Check for Software Teams
The Assessment Tool
Practice
Comments
Use Cases
Big Picture of Practice Adoption
Average
Deviation
Evol. Architecture
Use Stories instead
7.8
0.50
Not enough, not in build
6.8
1.89
Stakeholder Feedback
Want more
8.5
0.58
Time-Boxed Iterations
Not well specified
8.3
0.50
Not Fridays
9.3
0.50
Iterative
Not enough TDD
4.5
1.91
Non Solo
Reflections
Need clear actions
8.8
0.50
Reflections
Static Analysis
Not automated yet.
3.3
0.96
Unit Test
Daily Scrum
Test Early
Experience Report
Vision
Use Cases
Automated Unit Tests
Scrum meeting
0
2
4
6
8
10
Deep Dive on Practice
32
IBM Software Group | Rational software
Quick example: The iterative questions
Target
Results Section
Questions
Average
Deviation
Talk?
Time-boxed
Iterations
Do you hold your iteration end dates fixed and adjust content of
the iteration if needed?
7.3
0.645
Working
increment
Does each iteration (except perhaps the earliest ones) result in a
stable executable release (internal or external), with tested
code?
8.4
1.305
Feedback
Used
Do you use feedback from key stakeholders such as sponsors,
partners, users to adjust the content of the next iterations?
8.6
0.479
Prioritized
Backlog
Do you select content for your next iteration from a set of work
items (including functionality and defects)?
3.6
1.140
Talk
Just-In-Time
Detailed Plan
Do you detail the plan for the next iteration at the end of the
current iteration?
4.7
2.517
Talk
Retrospective
During iteration assessment, do you calibrate progress made
with project goals by discussing what worked well, what didn’t
work well, and how to improve? Do you improve planning for
next iteration and update long-range plan accordingly? Do you
use test results to improve your process?
6.2
0.837
MicroIncrements
For each iteration, do you define tasks that are measurable
toward the iteration objectives, and small enough to be
performed by one or a few people?
3.8
3.189
Iteration
Length
(Computed average iteration length. The recommended
iteration length should be about 4 weeks. Most projects should
start with 4 weeks and modify based on needs. Some very large
initiatives could have longer iterations.)
4.8
0.837
Talk
33
IBM Software Group | Rational software
Example: Are we iterative?
We’re iterative, right?
The Big Picture
Time boxed
iterations
Vision
Use Cases
10
Automated Unit Tests
7
Scrum meetings
Iterative
3
Working
Software
Scrum meetings
0
Reflections
Prioritized
Backlog
Non Solo
Feedback Used
Custom
0
2
4
6
8
10
Estimating
235 people. Multi-shore. Java
8 week “iterations”. 24 Month project. New to agile.
Iterations have enabled them to realize the plan was severely overbooked
and prioritization of content began early.
34
IBM Software Group | Rational software
Look at deviation among team members
The Big Picture
Deep dive on Iterative
30 people. Distributed. Java
2 week iterations. 6 Month project
 “Agile has enabled the project to be responsive to changing requirements and
to deploy more function in a drastically reduced timeframe.”
 Sustainable Pace – Testers have worked at a frantic pace to make adjustments
to scope.
 Recommend team understand estimating and velocity so they have
higher quality iterations
 Focus on developer testing to reduce burden on test team
35
IBM Software Group | Rational software
Discussion Topics
 What is RUP?
 RUP and Managing Iterative Development
 RUP and Agility at Scale
 Adopting RUP and
Measured Capability Improvement Framework
 Parting thoughts
36
IBM Software Group | Rational software
Parting Thoughts: Adopting RUP
 Focus on principles of RUP
 Chose a version of RUP suitable for your projects
Further customize it, and use development case as a living document
Only use what adds value to your project
 A process is a baseline, evolve it as you improve
Do not let the “process police” dictate what makes sense
If you like practices outside RUP, include them
 Drive improvement based on business needs
Leverage for example mapping between business objectives and practices in
MCIF
 Measure results (MCIF can help)
Practice level as well as Business level
37
IBM Software Group | Rational software
Resources
 RMC / RUP: http://www.ibm.com/developerworks/rational/products/rup/
 EPF / OpenUP: http://www.eclipse.org/epf/
 Measured Capability Improvement Framework:
http://www-306.ibm.com/software/rational/announce/mcif/
 Self Check:
http://www.ibm.com/developerworks/rational/library/edge/08/may08/kroll_krebs/index.html
 The Rational Unified Process Made Easy –
A Practitioner’s Guide to RUP, Kroll and Kruchten,
Addison-Wesley, 2003
38
IBM Software Group | Rational software
Questions
39
IBM Software Group | Rational software
Learn more at:
 IBM Rational software
 Architecture management
 IBM Rational Software Delivery Platform
 Rational trial downloads
 Process and portfolio management
 developerWorks Rational
 Change and release management
 IBM Rational TV
 Quality management
 IBM Rational Business Partners
© Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any
kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor
shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use
of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product
or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business
Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
40