® ibm software group © ibm corporation rup and agility at scale per kroll [email protected]
TRANSCRIPT
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
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
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
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
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.
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
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.
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
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
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)
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!
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
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
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
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
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
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
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
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
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
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”
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
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
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
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
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
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
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
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
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
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
IBM Software Group | Rational software
OpenUp in a Nutshell
Scrum
Eclipse Way
RUP
RUP
DSDM
RUP
XP
AMDD
Influence
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
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
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
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
IBM Software Group | Rational software
Project Lifecycle
iteration
iteration
iteration
iteration
iteration
iteration
iteration
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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%.”
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
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
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
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
* *
*
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.
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
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
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
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
IBM Software Group
Questions
IBM Software Group
Thank You