Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ......

63
Can RUP Be Agile? Can RUP Be Extreme? Orange County Rational Users’ Group January 20, 2005 By Paul Hodgetts, Agile Logic www.AgileLogic.com

Transcript of Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ......

Page 1: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Can RUP Be Agile?Can RUP Be Extreme?

Orange County Rational Users’ GroupJanuary 20, 2005

By Paul Hodgetts, Agile Logic www.AgileLogic.com

Page 2: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Introductions

Page 3: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Solutions for Delivering Your Projects:Agile Process Adoption SolutionsCoaching, Consulting, Mentoring ServicesTraining in Agile Processes, Software Development and Enterprise TechnologiesTurn-Key Software Development Projects

Fullerton, CA, basedFounded 2001 by industry veteransContact info: www.agilelogic.com (866) 64-AGILE

Page 4: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Paul Hodgetts

Team coach, trainer, consultant, developerFounder and CEO of Agile Logic22 years overall, 5 years agile experienceCertified ScrumMaster TrainerInnovator in Agile business and project managementAuthor (Extreme Programming Perspectives)

Presenter at conferences (ADC, XPAU, JavaOne)

Agile Alliance Program DirectorMember of CSUF agile advisory boardContact info: [email protected]

Page 5: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 6: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Development Process

Common understanding of “how we do things around here”Process can provide:

Guidance on what to do, when, by whoA framework for coordinationInstrumentation pointsGuidance on sufficiency and completeness

Page 7: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Process Improvement

Looking for better ways to do things

Not “doing a process” for its own sake

Increasing our capability to deliver software

Adoption strategies – incremental to wholesale

Page 8: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 9: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Process Attributes

What kinds of things can we look at to better understand and discuss processes?

Page 10: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Activity Sequencing

Phased ApproachGathers similar activity types togetherPreference towards serial completionUltimate in phased approach is waterfall

Concurrent and ParallelActivities occur opportunisticallyActivities of all types happening at same timePartial completion considered the norm

Page 11: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Delivery Strategy

Defined by degree of iteration and incrementsIterative

Repeatedly executing a process cycleIterations provide synchronizing pointsIterations provide feedback points

IncrementalSystem is built in progressive stagesIterations add features and refinementsEach increment has a degree of completeness

Page 12: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

People Strategies

Collaborative vs. HeroicIndividual vs. CollectiveDecision Structure:

Hierarchical, “command and control”Flattened, local empowerment

Assigned vs. Accepted AccountabilityDegree and Range of ResponsibilityFixed vs. Flexible Roles

Page 13: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Predictive Planning and Control

Predict and plan expected activitiesManagement by controlling activities per planChange is minimized and managed via change control

Page 14: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Adaptive Planning and Empirical Control

Prioritized set of deliverables form the planOpportunistic execution of activities to create deliverablesManagement via feedback and adaptationEmpirical process control

VisibilityInspectionAdaptation

Page 15: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Project Balancing

ResourcesTimeScopeMust be in balance for a healthy project

Time Resources

Scope

Page 16: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The Resource Variable

Staffing is usually the least effective variable to adjust.

Staffing increases have long lead times.Increased intensity has diminishing returns.Team culture requires some degree of stability.

Tools and technology can provide benefits.Effective tools provide continuing benefits.Front-end costs need to be carefully amortized.The wrong tools and technology increase friction.

Page 17: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The Time Variable

Can be the most painful variable to adjustEarly commitments are usually date-based.Target dates are often the most important objective.There’s only so many hours in a day, and they pass by regardless of how we use them.

Page 18: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The Scope Variable

Can be the most effective variable to adjustCan adjust scope breadth – what’s included.Can adjust scope depth – refinement.Partial scope can often generate immediate returns.It is often preferable to reach a date with partial scope completely finished, rather than complete scope partially finished.

Page 19: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Prescription

Prescriptive is like a cookbook:What to doWhen to do itHow to do it

CreativeLocal decisionsContext determines activities

Page 20: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Formality and Ceremony

Formality specifies:Types and forms of work productsProcedures for activities

Ceremony specifies:Level of activity surrounding eventsDegree of audit trailsTypes and forms of communications

Page 21: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Rigor

Rigor is the precision and completeness in the executionRigor is not a process attributeRigor is about the way the team approaches and executes their processA process may provide guidance and practices to encourage rigor

Page 22: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Discipline

Discipline is about conscientiousness, courage, motivation, “doing the right thing”Discipline is not an attribute of a processDiscipline is about the way the team approaches and executes their processA process may encourage discipline by the provided activities and criteria

Page 23: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 24: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Chaotic Processes

Minimal shared process

Code and fix

Short term decisions

Can sprint very fast

Does not scale

Increasing debtQuality, design, integration, knowledge

Page 25: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Bureaucratic Processes

Targeted for all contextsLarge and complexMandated activitiesComprehensive frameworkHigh overheadLong release cyclesInability to keep up with business needs

Page 26: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Options for Process Improvement

“Heroic” ApproachRelies heavily on individual effortDifficult to plan, results unreliableHigh risk of failureHeavy human cost

Page 27: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Options for Process Improvement

“Formal” MethodologiesDetailed, bureaucratic processEngineering/construction-style planning –predictive of activitiesExpensive, time-consuming to implementLimited success, not popular with teams

Page 28: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Options for Process Improvement

“Agile” MethodologiesJust enough processAdaptive rather than predictivePeople-oriented focus to the processFaster and less-costly to implement

Page 29: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 30: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Background

Objectory Process (1987-1995)Ivar Jacobsen at Ericsson

Rational Objectory Process (1996-1997)Rational approach (Philippe Krutchen)UML

Rational Unified ProcessGrady Booch, Jim Rumbaugh, other sourcesRational tool set

Page 31: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Characteristics of the UP

A process framework, not a specific processRefined into a specific process instantiation

Tailored to a Development Case

Very broad coverageAll activities and work products are optionalEncourages minimal development case

Page 32: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Values

Use-case drivenArchitecture-centricIterative and incrementalAttack risk earlyDeliver executable architectures (systems)Provoke and accommodate change earlyBaseline architecture earlyPrefer component-based designs

Page 33: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Roles

Large collection of rolesRoles organized around disciplinesRoles further specializedUP encourages cross-functional teams

Page 34: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Work Products

~50 non-software work productsVision, risk list, iteration plan, use case model, design model

All are optional, some are recommendedWork products are information abstractionsOrganized within disciplines

Requirements, design, project management

Page 35: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Activities and Workflows

Large collection of activities to support the creation of artifactsGuidance provided for each activityStrong assignment of roles to activitiesActivities and workers grouped into workflows

Page 36: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Activity Sequencing

Iterative and incrementalIterations classified into “phases”

Inception, elaboration, construction, transition

Milestone objectives define boundaries

Page 37: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP Characteristics

Sequencing and delivery is iterative and incremental, with some phasingEncourages collaboration, but pretty strong individual role assignmentsActivities suggest predictive planningNo preference for balancing strategyVery prescriptive, although lots of optionsFormality and ceremony optional

Page 38: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

UP vs. RUP

The Unified ProcessBroad frameworkMany optional activities and work productsTool support optional and unspecified

The Rational Unified ProcessA specialization of the UP, still a frameworkA licensed productTemplates for work productsTailored to Rational toolset

Page 39: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 40: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

What Exactly Is an “Agile” Process?

Focus on adaptability and responsivenessBuilt around core strategies:

Iterative and Incremental Development (IID)Adaptive project managementCollaborative, “whole team” approachCommon shared vision and goals

Constructed from “best practices”:Emphasis on simplicity, lightness, communication, self-directed teams, quality and technical excellence

Page 41: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The World of Agile Processes

Extreme Programming (XP)Feature-Driven Development (FDD)ScrumDSDM (Dynamic System Development Method)Crystal Family of Processes, e.g. Crystal ClearLean Software DevelopmentAdaptive Software Development (ASD)Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral

Page 42: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The Agile Alliance

2001 – representatives from agile processes meet in Snowbird, Utah.Agreed on a “manifesto” of values and principles:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

“That is, while there is value in the items on the right, we value the items on the left more.”

Page 43: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

History of Extreme Programming

Early InfluencesIncremental, stakeholder-driven design process from AlexanderProgramming as learning from Papert, Kay

Kent Beck & Ward CunninghamMid-80s – Pair programming at Tektronix80s, 90s – Smalltalk culture produces refactoring, continuous integration, constant testing, close customer involvementGeneralized to other environmentsEarly 90s – Core values developed within patterns community, Hillside Group

Page 44: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

History of Extreme Programming

1995 – Kent summarizes in Smalltalk Best Practices1996 – Ward summarizes in Episodes1996 – Kent adds unit testing, metaphor at Hewitt1996 – Kent takes on Chrysler C3 projectC3 adds Ron Jeffries as coachPractices refined on C3, published on Wiki

Page 45: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

History of Extreme Programming

Scrum practices incorporated and adapted as planning game1999 – Extreme Programming Explained1999 – Fowler publishes Refactoring1999 – XP Immersion held, e-group formed2000 – more books, first conferencesEvolution continues through today2004 Kent Beck releases EPE 2nd Edition

Page 46: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

What Is Extreme Programming?

XP is a specific instantiation of an agile processXP combines best practices in a different wayXP is a different approach to developmentXP provides a core process modelXP is not intended to be a complete framework

Page 47: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Emergence

XP provides values and principles to guide team behaviorTeam expected to self-organizeXP provides specific core practicesEach practice is simple and self-completeCombination of practices produces more complex emergent behaviorSynergy of practices still not fully understood

Page 48: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Why Is It Called “Extreme?”

Selected the minimal set of effective practices“Turned the knob up to 10” on each practice

Very short cycles (planning game)Continuous code reviews (pair programming)Extensive testing (unit testing, acceptance testing)Continuous integrationConstant design improvement (refactoring)Continuous architecture refinement (metaphor)Etc…

Page 49: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Values

CommunicationSimplicityFeedbackCourage

Page 50: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Principles

Rapid FeedbackAssume SimplicityIncremental ChangeEmbracing ChangeQuality WorkTeach LearningSmall Initial InvestmentPlay to Win

Concrete ExperimentsOpen Honest CommunicationWork With InstinctsAccepted ResponsibilityLocal AdaptationTravel LightHonest Measurement

Page 51: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Project Community

Emphasis on the “Whole Team”Collaboration and colocationThree general roles

CustomerDeveloperManager

Roles define areas of accountabilitySpecific job functions neither specified nor excluded (e.g., QA, PM, operations, etc.)

Page 52: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Process Cycle

XP is iterative and incrementalXP is driven by time-boxed cyclesThe rhythm of the XP process is crucial

Episodes

ProductLife Cycles

Releases

Iterations

Tasks

Page 53: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Process Cycle

Charter Release Release Release Release Wrap Up

Planning Iteration Iteration Iteration Delivery Retrospect

Planning Task Task Task Build & Test Retrospect

Pull Task Episode Episode Episode Story Test Retrospect

Pair Up TDD TDD TDD Integrate Retrospect

Write Test Write Code Refactor

1 to 6 months

1 week to 1 month

½ to 2 days

15 minutes to 2 hours

5 to 30 minutes

Page 54: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

The Original 12 XP Practices

On-Site Customer The Planning Game Small Releases Testing Simple Design Pair Programming Refactoring Continuous Integration Collective Ownership Coding Standards Metaphor 40-Hour Week

Page 55: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Evolving PracticesOn-Site Customer

Whole TeamThe Planning Game

Release PlanningIteration Planning

TestingAcceptance TestingUnit TestingTest-Driven Development

RefactoringDesign Improvement

40-Hour WeekSustainable Pace

Page 56: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Additional Practices

Stand-Up MeetingsTracking & Metrics RetrospectivesBig Visible ChartsTeam Culture Consensus Skunk Works, War Room Version & Configuration Management, Automated Builds, Build Promotion

Page 57: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP Characteristics

XP is iterative and incremental, there are no phasesEach iteration intended to be shippableXP is highly collaborative

Collective control and ownershipSelf-organizing teamsBasic role structure, assumes flexibility

XP utilizes adaptive planningPreferred balancing strategy is via scopeXP is creative overall, prescriptive at the practice levelXP discourages unnecessary formality and ceremony

Page 58: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 59: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Process Context

Factors to consider when choosing processPersonnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Source: Balancing Agility and Discipline, Boehm & Turner

Page 60: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Agenda

Development ProcessesProcess AttributesProcess SpectrumUnified ProcessAgile ProcessesProcess ContextsUP/RUP and Agility

Page 61: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

XP and RUP

XP plug-in for RUP from IBM/RationalAvailable from http://www-106.ibm.com/developerworks/rational/library/4156.html

Page 62: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

Can RUP Be Agile?

RUP is a flexible frameworkRUP is often over-implemented

Subtractive vs. additive process design

Where RUP pushes against agilityPrescriptive nature of the frameworkTendency towards predictive planning

RUP can and has been implemented in an agile way

Page 63: Can RUP Be Agile? Can RUP Be Extreme? - Agile Logic · Can RUP Be Agile? Can RUP Be Extreme? ... Inception, elaboration, ... Others: MSF Agile, Agile UP/RUP, Evo, Win-Win Spiral.

Copyright © 2004, Agile Logic, Inc. All Rights Reserved

References and ResourcesExtreme Programming Explained (2nd edition)

By Kent Beck

Software Development for Small TeamsBy Gary Pollice, et al

Balancing Agility and DisciplineBy Barry Boehm & Richard Turner

Lots and lots of other XP and RUP booksRon Jeffries’s XP Site

www.xprogramming.comIBM Rational’s RUP Site

www-306.ibm.com/software/awdtools/rup/index.htmlXP Discussion List

groups.yahoo.com/group/extremeprogramming/(Lots of other great Yahoo! groups.)

The Agile Alliance Sitewww.AgileAlliance.org

Agile Logic’s Resources Sitewww.AgileLogic.com/resources.html

So. Cal. Agile / XP User Groupgroups.yahoo.com/group/xpsocal/