67
® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll [email protected]

® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll [email protected]

Embed Size (px)

Citation preview

Page 1: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

®

IBM Software Group

© IBM Corporation

RUP and Agility at Scale

Per Kroll

[email protected]

Page 2: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Per Kroll - Background

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

Page 3: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 4: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Three 2008 SWG Development Priorities

1. Consumability Deliver highly consumable products that delight clients and drive

revenue growth.Consumability (noun): 1) The ease with which our customers can evaluate, buy, attain, install, and deal simply and effectively with product maintenance throughout the offering lifecycle.

2. Agile Development Adopt disciplined, adaptive development approaches. Use

continuous stakeholder feedback to deliver high quality and consumable code through use cases and a series of short, time-boxed iterations.

3. Community Leverage the expertise of our diverse worldwide team of 25,000

developers, IT architects and consultants. Collaborate effectively across the team to share knowledge,

assets and best practices -- driving innovation and skills across the community.  

Unleash the Labs – Support the field directly in customer engagements

Page 5: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Our Approach

Guiding principles Kotter's, Poppendieck’s, Mike Cohn, Spirit of RUP

Guiding coalition, …

More pull than push Leverage internal success stories

Free to choose how to become agile (but shared mental picture)

Build community Agile@IBM

Conferences, training, leverage experts

Measure progress Simple metrics

Ensure strong executive support

Page 6: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

6

An Agile Case Study: The RMC Development Team Business results

5 commercial and 3 open source releases in 21 months

Releases have generally been on time with very high quality

Excellent feedback from core audience

Quality first. Daily build, continuous integration, and continuous testing. 55% (and increasing) of 4700+ test cases are automated using Rational Functional Tester.

Teams builds software. Distributed over 3 sites on 2 continents. Scalable infrastructure key.

Minimize waste. Rapid prototyping, Use cases. Rational Software Architect for meta-modeling

Rapid feedback and response. 6-week long iterations, always with customer feedback, often deployed. Bug triaging / backlog management. Continuous re-factoring – e.g., always on latest eclipse release.

One extended team. Feedback through very close interaction with many customers. Bi-weekly meetings with CAG focus groups. Iteration demo and feedback sessions with tooling focus group.

Integrated development tools. UCM with CC and CQ. Light requirements with RequisitePro. Rational Manual Tester and Functional Tester. Architecture / meta-modeling with RSA.

Adaptive planning. Plans the entire project at a high level, provide detailed plans only for next iteration. Frequent rescoping, normally no changes to dates.

Page 7: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 8: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Some Reflections on Process…

‘Process” is a loaded word, with different meanings

Software development is about people working together. A process describes such a collaboration.

A process is a means of capturing and distributing relevant knowledge and practices

Process is a basis for change (from Lean Development by Poppendieck’s)

Process is not there to curb innovation. It is an aid that should be evolved as you learn what works and what does not work

Process improvement people are not always helping. The end goal is never to follow a process, it is to achieve good results.

Page 9: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

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

Page 10: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

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

Page 11: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

RUP: Out-of-the-Box Processes

RUP for Service-Oriented Modeling and Architecture

RUP for Maintenance Projects

RUP for COTS Package 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)

Page 12: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Project-specific plug-ins

RUP for COTS Package Delivery

RUP for System z

RUP for Maintenance Projects

RUP for Legacy Evolution

RUP for Model-Driven Systems Development (MDSD)

Standard-specific plug-ins

RUP for Department of Defense Architecture Framework (DoDAF)

Practice-specific plug-ins

RUP for User Experience Modeling

Technology/tool-specific plug-ins

RUP for Microsoft® .NET

RUP for J2EE™

RUP for Rational Application Development

RUP for Rational Software Architect

RUP Plug-in for WebSphere® Business Modeler (beta)

RUP for Automated Software Quality

(Rational Performance Tester, Functional Tester, and Manual Tester)

Rational Process LibraryBroad variety of method plug-ins included in Rational Method Composer

Enterprise plug-ins

IBM Rational Unified Process, or RUP

IBM Rational Method for Portfolio Management (for Initiatives)

IBM Rational Method for Program Mobilization

IBM Tivoli Unified Process (ITUP)

RUP for Asset-Based Development

RUP with ITSM/ITUP Connection

RUP for Global Development and Delivery

RUP for Global Development and Delivery Maintenance

Solution-specific plug-ins

SOA:

RUP for Service-Oriented Modeling and Architecture

Governance:

SOA Governance

Asset-Based Governance

RUP for Practical Software & Systems Measurement (PSM)

Compliance:

RUP for Compliance Management

RUP for CMMI® Compliance Support

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

Now a library of over 100 content

packages!

Improved!

Page 13: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Process Library: Sample Content Packages Requirements Management (no Use Cases)

Use-Case Driven Development Requirements Management with Use Cases

Architecture with Use Cases

Design with Use Cases

Project Management with Use Cases

Architecture

Design Database Design

GUI Design

Operation Design

Real-Time Design

Implementation Developer Test & Debug

Testability

Configuration & Change Management Basic CCM

Detailed CCM

Business Modeling Business Process Modeling

Business Operations

Business Use-Case Modeling

Business Analysis Modeling

User-Experience Modeling

Assessment Reviews

Load Testing

Structured Testing

Test Management

Testability Requirements

Project Management Basic Project Management

Project Planning

Project Control

J2EE Architecture

Design

Implementation

Test

Environment

.NET

Other packages Development Case

Project Environment

Deployment

Documentation

Brief templates

Detailed templates

COTS / Packaged Application Dev Acquisition

Architecture

Design

Implementation

Project Management

Deployment

Systems Engineering Project Management

Requirements

Architecture

Design

Service-Oriented Architecture

Asset-Based Development Asset Production

Asset Consumption

Asset Management

Maintenance Project Management

Architecture

Assessment

Change & Configuration Management

Page 14: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Process ManagementCreate, customize, publish, and enact software & systems development processes according to project needs

Governance

Rational Software Delivery Platform

ProcessLibrary

(with RUP)

Rational Method

Composer

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

Manage, author, configure, and deploy effective processes tailored to project needs

Establish consistent processes driven by standards and best practices to support corporate governance objectives

Page 15: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Capabilities: Rational Process Library

Provides process building blocks when constructing your own process Do not use your top people to define basic practices, reuse what is known to work

Provides out-of-the-box processes Dozen plus out-of-the box processes provided

Use as a starting point or as-is

Solves the ‘unique project’ versus ‘common practice’ problem Have unique processes for different project types

Share common practices across different project types; Language, Approaches, Oversight, Resourcing, and Reuse

Integrates Development with the rest of the organization If Development is there to support the business, it’s processes needs to be integrated with

the rest of the business

Development – Operations, Development – IT Direction, Development - Resilience

Page 16: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

IBM Rational Method Composer Tool Capabilities

Create and manage reusable process packages (roles, tasks, artifacts, guidelines, examples, templates)

Create (low-level) reusable process patterns (e.g. design, implement and test a scenario)

Create (high-level) processes (WBS) for different project types. Optionally assembled from process patterns

Create derivatives of process packages, reference material, and processes

Provide easy upgrade to new versions of base set of process packages, reference materials and high-level processes

Ensure consistent presentation and structure of process content, including generated graphical representations

Effectively deploy best practices through Websites, guidance integrated in development environment, project management tools, business process modeling solutions

Page 17: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Sample Supported Authoring Scenarios

Select and configure out-of-the-box processes Select and deselect content packages, and the process will automatically

update itself

Tailoring an out-of-the-box process Customize the process as appropriate, modify workflows

Assemble new processes rapidly using existing high-level process patterns Reuse content packages and existing process patterns

Creating a new process bottom-up from scratch reusing method content Build a process from scratch, leverage existing process packages where

appropriate

Page 18: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 19: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agile Manifesto – Graphical Representation

Individuals andInteractions

Processes andTools

WorkingSoftware

ComprehensiveDocumentation

Customer Collaboration

ContractNegotiation

Responding toChange

Following a Plan

"Agile"

|

|

|

|

|

|

|

|

Traditional

Agility is a relative term

Page 20: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

What is Agile?

An iterative and incremental (evolutionary) approach performed in a highly collaborative manner with just the right amount of ceremony to produce high quality software in a cost effective and timely manner which meets thechanging needs of its stakeholders.

Core principles “Fits just right” process

Continuous testing and validation

Consistent team collaboration

Rapid response to change

Ongoing customer involvement

Frequent delivery of working software

“Agile” <capital ‘A’> – Dogmatic

“agile” <lowercase ‘a’> - Pragmatic

Page 21: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Challenges with Agile in the Mainstream

Agile Development

Co-located

Geographical distribution

Global

Compliance requirement

Low risk Critical,Audited

Application complexitySimple, single platform

Complex, multi-platform

Organization distribution(outsourcing, partnerships)

Team size

Under 10developers

100’s ofdevelopers

Degree of Governance

In-house Third party

Informal Formal

Entrenched process, people, and policy

Minimal Significant

Page 22: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

RUP’s Primary Focus: Agility at Scale

Agile Development

Co-located

Geographical distribution

Global

Compliance requirement

Low risk Critical,Audited

Application complexitySimple, single platform

Complex, multi-platform

Organization distribution(outsourcing, partnerships)

Team size

Under 10developers

100’s ofdevelopers

Degree of Governance

In-house Third party

Informal Formal

Entrenched process, people, and policy

Minimal Significant

Scrum, XP, OpenUP

RUP - “Agility at Scale”

Page 23: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 24: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Two dimensions, four (or more) process styles

Disciplined Well-documented

TraceabilityCCB

High ceremony

Relaxed Little documentation

Light processLow ceremony

WaterfallFew risk, sequential

Late integration and testing

IterativeRisk driven

Continuous integration and testing

Page 25: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agile Sweet Spot

High Ceremony Well-documented

TraceabilityCCB

Low Ceremony Little documentation

Light process

WaterfallFew risk, sequential

Late integration and testing

IterativeRisk driven

Continuous integration and testing

Agile Sweet Spot

Agility at Scale

Disciplined Well-documented

TraceabilityCCB

High ceremony

Relaxed Little documentation

Light processLow ceremony

WaterfallFew risk, sequential

Late integration and testing

IterativeRisk driven

Continuous integration and testing

Page 26: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

RUP Process Framework

High Ceremony Well-documented

TraceabilityCCB

Low Ceremony Little documentation

Light process

WaterfallFew risk, sequential

Late integration and testing

IterativeRisk driven

Continuous integration and testing

OpenUPRUP

“Light”

RUP for large-scale SOA

RUP for Sys Eng

RUP Framework

Common languageCommon PracticesOversightFlexible resourcingReuse

Page 27: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Too Common RUP “Misusage”

Disciplined Well-documented

TraceabilityCCB

High ceremony

Relaxed Little documentation

Light processLow ceremony

WaterfallFew risk, sequential

Late integration and testing

IterativeRisk driven

Continuous integration and testing

Adopting RUP is not about adopting a

terminology, but the “spirit” of RUP

Page 28: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Common Pitfalls – Process Weight and Perfection

Too much formality / too many artifacts Only produce the artifacts that add value,

minimize formality if possible

Use informal resources (brief document templates) and not formal resources

When in doubt of value, don’t do it Analysis Paralysis

You can improve upon things later on – move on

Focus on phase objectives. E.g. Inception is NOT about describing all requirements in detail

Page 29: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Common Pitfalls - Lifecycle

Following a waterfall process, versus RUP’s iterative processes Look beyond a flawed 5-minute perception of what RUP

phases are about…

Produce working (tested) code every iteration (exception maybe Inception)

Big Upfront Architecture Problem: Complete misunderstanding of what Elaboration is

about

RUP focuses on rapidly producing an Executable Architecture

10-20% of code, critical capabilities implemented, not a lot of paper design

Save the tricky part for later Attack risks early, or they attack you

Hard on you now, but makes life easier later

Page 30: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Common Pitfalls – Organization and Mentality

Functional, Specialized Organization Teams of generalists and multitasking experts

No place for “I only do <X>” mentality No customer feedback until a late beta

Unlikely to build the right product

A lot of waste No willingness to change things

Change enables improvement Your process is stagnant versus evolving

Document changes in development case

Page 31: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Common Pitfalls – Development Approach

No developer testing You can have a separate test team, but that does not free developers from

having to build (and test) their application

Dedicated test team only if very complex environments and/or mission- or safety-critical systems

Continuous integration not happening Daily build (or more frequently) minimizes rework

Testing not initiated until end of construction You are unlikely to meet deadlines

Page 32: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 33: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

OpenUp in a Nutshell

Scrum

Eclipse Way

RUP

RUP

DSDM

RUP

XP

AMDD

Influence

Page 34: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Executing an Iteration (sample)

Iteration planning

Upfront planning and architecture

Stable weekly build Stable iterationbuild

Continuous micro-increments /bug-fixing / builds

Continuous bug-fixing /

micro-increments /builds

A few hours

A few days

Iteration review / Retrospective

A few hours

Page 35: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

What is Self-Organization About?

Motivate team members

Manager – coaching and leading, not directing

Decision making – People closest to the decision make the decision

Success - Team success is individual success, and vice-versa

Estimation – prove yourself right

Work assignment - Pull instead of push model

Manager still accountable

It is about involvement and respect, not wool sweaters and hugging

Page 36: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Evolving Applications through Micro-Increments Each micro-increment

corresponds to 0.5-3 days person days of work

is added (and removed if necessary) to the build

needs to be properly tested

Needs to looked upon (requirements, design, implementation and testing) from a user-value perspective (use-case driven)

A month-long iteration with 20 developers would consists of ~200 micro-increments

Micro-increments provides the team with the ability to manage and demonstrate continuous progress

Micro-increments applies to any type of project activity

Page 37: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Managing Micro-Increments: Work Items List

High Priority

Low Priority

New work items can be added at any time

Work items can be removed at any time

Work items can be reprioritized at any time

Low-priority work itemscan be vague

High-priority work itemsshould be well-defined

Work Item List

Each iteration implements thehighest-priority work items

Page 38: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Project Lifecycle

iteration

iteration

iteration

iteration

iteration

iteration

iteration

Page 39: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 40: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Agile Development with Rational Unified Process (RUP)

Follow RUP’s agile practices Shared vision

Regular delivery of working software

Active stakeholder participation

Test-Driven Development (TDD)

Continuous builds

Early and frequent system-level testing

Just enough process

Add additional agile practices: Self organization

Micro increments managed by work items

Iteration Lifecycle (what do you do at what week within an iteration)

Leverage RUP’s content around agility at scale Guidance on how to deal with complexity drivers

Page 41: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Customize RUP

Start with a small out-of-the-box process RUP for Small Projects / RUP for Maintenance

Customize it to meet your needs Make it smaller by deselecting content packages not needed

Remove artifacts not needed (additional support for this in RMC 7.2)

Publish the (delivery) process Choose to publish only the delivery process, versus entire configuration

Leverage Development Case A 1-3 page description of the process you use

Reference your RUP process and other sources, no need to duplicate info

Improve the process every iteration Update development case after each iteration review / retrospective

Update delivery process if significant changes

Page 42: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Inception

Inception: Agreement on overall scope Vision, high-level requirements, business case Not detailed requirements

Elaboration: Agreement on design approach and mitigation of major risks Baseline architecture, key capabilities partially implemented Not detailed design

Construction: Agreement on complete operational system Develop a beta release with full functionality

Transition: Validate and implement solution Stakeholder acceptance, cutover to production

Iterative Development Phases

Time

Elaboration Construction Transition

Major Milestones

Page 43: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Inception: Know What to Build

Typically one short iteration

Produce vision document and initial business case Only produce what has value

Develop high-level project requirements Initial use-case and (optional) domain models (10-20% complete)

Focus on what is required to get agreement on ‘big picture’

Manage project scope Reduce risk by identifying key requirements

Acknowledge that requirements will change

Manage change, use iterative process

Produce conceptual prototypes as needed

Inception Elaboration Construction Transition

Page 44: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Example: UCs in Inception

Inception: 5 people, 2 weeks (for a 6 month project) => 400 hours

2 hour joint UC workshop with key stakeholders ~10 hours 15 UCs, 4 critical, 5 important, 6 less important

Outline UCs: 4 hours per critical, 2 per important, and 1 per less important ~ 32 Includes some potential UI mockups

UC walkthrough: 1 hour per important UC, 30 min for all others x 5 people ~ 48 hours Focus is on extended team converging on what application they are building, not to lock

down on requirements

Further updates based on walkthrough ~ 10 hours

Discussion: Is it worth to spend ~100 hours on getting concurrence on an initial UC Model? Note – we know the UC model will evolve as project progresses

Page 45: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Inception Elaboration Construction Transition

Elaboration: Know How to Build It by Building Some

Elaboration can be a day long or several iterations

Balance mitigating key technical and business risks with producing value (tested code)

Detail ~top 3rd most essential requirements (so you can estimate and prioritize)

Produce (and validate) an executable and stable architecture Define, implement and test interfaces of major components. Partially implement some key

components.

Identify dependencies on external components and systems. Integrate shells/proxies of them.

Roughly 10% of code is implemented.

Drive architecture with key use cases 20% of use cases drive 80% of the architecture

Page 46: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Inception Elaboration Construction Transition

Construction: Build The Product

Incrementally define, design, implement and test more and more scenarios Incrementally evolve executable architecture to complete system

Evolve architecture as you go along

Frequent demonstrations and partial deployment Partial deployment strategy depends greatly on what system you build

Daily build with automated build process

You may have to have a separate test team if you have Complex test environments

Safety or mission critical systems

Page 47: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Inception Elaboration Construction Transition

Transition: Stabilize and Deploy

Project moves from focusing on new capabilities to stabilizing and tuning

Produce incremental ‘bug-fix’ releases

Update user manuals and deployment documentation

Execute cut-over

Conduct “post-mortem” project analysis

Page 48: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Organization

Roles &Responsibilities

Processes

Measures

Policies &Standards

Mission & Principles

Lean Development Governance

Pragmatic Governance Body

Staged Program Delivery

Business-Driven Project Pipeline

Scenario-Driven Development

Simple And Relevant Metrics

Continuous Project Monitoring

Iterative Development

Adapt The Process

Risk-Based Milestones

Continuous Improvement

Embedded Compliance

Align HR Policies With IT Values

Align Stakeholder Policies With IT Values

Promote Self-Organizing Teams

Align Team Structure With Architecture

Integrated Lifecycle Environment

Valued Corporate Assets

Flexible Architectures

Page 49: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 50: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Disclaimer

This presentation covers current capabilities as well as potential future capabilities.

The material discussing potential futures is directional in nature and does not imply any product commitment on the part of IBM.

Concepts and prototypes shown in this presentation may or may not reflect current or future product function.

Page 51: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Loosely Coupled Practices

Easily configure the process to match your needs Incrementally add practices as you need them

Develop a library of practices with minimum of dependencies between practices Different companies can develop practices that work together, assuming they

follow certain ‘interface specifications’

Has the potential of focusing the industry on documentation of effective practices vs. “process branding wars” Removes distractions

Page 52: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Supporting the Agile Enterprise – 2008 Focus

Practices for the Small Agile Project

Practices for the Agile Business

Practices for the Small non-Agile Project

Practices for Scaling Projects

We cover a spectrum

2008 Focus

Page 53: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Sample Proposed Practices

Agile Kernel Iterative development Release planning Whole Team

Continuous Integration TDD Agile / Acceptance Testing

ScaleUP Practices Shared Vision UC-Driven development Risk-value lifecycle

Agile Architecture Evolutionary DesignP

ractice

s for

Sim

ple

P

rojects

Req. Def. & Mgmt Stakeholder Req Req. Definition

Quality Management Test Management Performance Testing Functional Testing SOA Testing Security Testing

Architecture Mgmt Architecture Operational Modeling Service modeling

SCM Staged integration

Pra

ctices fo

r S

caling P

roje

cts

Open Source

Commercial

Compliance CMMI level 2 Measured Capability Improvement

Pra

ctices fo

r the

Ag

ile Bu

siness

Scrum

OpenUP

XPish

Page 54: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Late Role Assignment

Problem - Everybody wants their own roles OpenUP, RUP, Scrum, XP, …

Job functions, Company X, Company Y, …

Solution - Late role assignment Use your own role names

Make very precise responsibility assignments - exactly your own

Replaces some of the needs for the development case

Scrum MasterProduct Owner

Team

Tester

Programmer

Customer

Project ManagerStakeholder

Developer

•XP •Scrum

•OpenUP

Page 55: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Target – Phase 1

Outside Scope

Already ImplementedMeasured Capability Improvement: Link Business Value to Practice Adoption

Generic Business Objectives

Reduce Time-to-Market

Improve productivity

Increase innovation

Improve consistency / predictability

Improve Oversight

Enable Flexible / Global Resourcing

Satisfy Compliance Mandate

Practices Iterative Development Continuous Integration Shared Vision Whole Team Staged Integration Multi-Team Management GDD Asset-Based

Development Asset Governance Use-Case Driven SOA Modeling Enterprise SOA SOA Governance, Arch. Modeling TDD Functional Testing Test Mgmt Structured Testing …

Customer Business Objectives Create financial products more

quickly

Functionality of customer web falling behind competition

Inconsistencies with integrated financial reporting

Recent SOX Audit failure

Improve Oversight

Page 56: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Measurements: Deployment Evaluation Framework (DEF)

IBM Rational

Governance Method

Measure

Business Objectives

Adopt

Enact

Measure and correlate outcome to practice adoption Measure level of practice adoption on scale of 0-10

Correlation can over time be done between practice adoption and outcome. Example: “Customers improving adoption of iterative dev by 4 or more, on average reduce TTM by 30%.”

Page 57: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 58: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Tooling the Eclipse Way!

Innovation

Open Commercial CommunityCreated by IBM to drive innovation in collaborative software development, building upon the success of Eclipse

The project

A project, led by the team that brought us Eclipse, automating the best practices of this proven open community

A major investment by IBM to shape the direction of our portfolio for years to come marrying the innovation from Jazz.net with IBM's experience in collaboration and social networking technology

“Simplicity through consistency, collaboration in context. Agility through transparency. Jazz is about helping people work together to deliver software more effectively.”

Jazz.net

Page 59: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

The value of the technology?

Enables teams to collaborate in real time in the context of the work they are doing

Provides visibility into accurate real-time project health information drawn directly from actual work across the team

Automates traceability and auditability by managing artifacts and their inter-relationships across the lifecycle

Enables custom process enactment via process automation & definable checkpoints

Provides an extensible technology platform for building products & adapters

Eclipse EquinoxEclipse Equinox

Jazz KernelJazz Kernel

Jazz Server ExtensionsJazz Server ExtensionsWeb UIWeb UI

J2EE Web ServicesJ2EE Web Services

Team Server

Eclipse PlatformEclipse Platform

Jazz Client ExtensionsJazz Client Extensions

Eclipse Client

Lotus Sametime or open source Jabber

Web 2.0 or Web Services

clients

DB2 or open source Derby

An Open, Services Oriented Architecture

The Platform

Page 60: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Secure Eclipse & Web 2.0 clientsGlobally distributed projects

Adaptive processenactment

Dynamic artifact relationships

Real-time collaboration and project information

“in context”

Powered by

IBM Rational Team Concert

etc …

Method Composer

Agile Plug-ins (optional)

New Products for Agile

Development

Incubators

ClearCase

Beta 2

ClearQuest

Performance Tester

Portfolio Manager

Asset Manager

* *

*

Page 61: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Vision: RMC – Powered by

Enact RMC-based processes (RUP, OpenUP, Eclipse Way, XP, Scrum, …) in Jazz-based tools

Access Jazz process template capabilities within RMC

Assemble a Jazz process template by configuring your process in RMC

Change the behavior of your Jazz-based tools to reflect your documented process

Keep process documentation in synch with process enactment capabilities

Instantiate tasks and artifacts through process enactment extensions.

Available in any Jazz-based tools.

Collaborative process authoring Leverage Jazz collaboration technology to

provide a more powerful process authoring environment

Provide process development governance

Team Server

Rational Method Composer

Author, Configure, and Publish.

Keep documented and enactable

processes in synch.

Collaborative process authoring

DB2 or open source Derby

Process Enactment Extensions

View Process

Instantiate tasks and artifact, pre-

populated with relevant information.

Jazz Beta 2 (mid Dec) includes OpenUP 1.0 extended with Jazz process templates and tool mentors.

Page 62: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group | Rational software

Agenda

IBM Software Group is Going Agile

What Is RUP?

What is agile?

Common Mistakes Implementing RUP

Learning from OpenUP

Implementing RUP – Agile Style

Future direction

Rational Team Concert

Some parting thoughts

Page 63: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Parting Thoughts: Implementing RUP – Agile Style

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 Most artifacts are there to aid collaboration. Use them as such.

Some artifacts provides crucial persistency (audits, maintenance, extended audience, contractual situations, oversight, …)

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

Page 64: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Parting Thoughts: Succeeding with Agile

Agile Development is transforming how development is done Placing greater demand on people, processes and tools

Agile can scale to accommodate technical and organizational complexity Agility at Scale has unique needs

IBM Rational and partners brings a wealth of knowledge to help companies succeed in complex environments

IBM Rational is forging new ground in Agile Development Bringing technology, services and best practices to help customers

reduce the risk of Agile projects

Investing significant resources to improve Agile success

Page 65: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Resources

All in one page: www.ibm.com/rational/agile/

Rational Team Concert / Jazz: www.jazz.net

RMC / RUP: http://www.ibm.com/developerworks/rational/products/rup/ http://blog.haumer.net/

EPF / OpenUP: http://www.eclipse.org/epf/

Guidance on incremental adoption of a process: Agility and Discipline Made Easy – Practices from OpenUP and RUP, Kroll and MacIsaac, Addison-Wesley, 2005

Page 66: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Questions

Page 67: ® IBM Software Group © IBM Corporation RUP and Agility at Scale Per Kroll pkroll@us.ibm.com

IBM Software Group

Thank You