Click here to load reader

Comparing/Combining RUP, XP, and Scrum – mixing the ... · PDF fileComparing/Combining RUP, XP, and Scrum – mixing the Process Cocktail ... Architecture Reviewer Design Reviewer

  • View
    224

  • Download
    6

Embed Size (px)

Text of Comparing/Combining RUP, XP, and Scrum – mixing the ... · PDF fileComparing/Combining...

  • Net Objectives, 3/26/2003 NetObjectivesNetObjectives1

    Comparing/Combining RUP, XP, and Scrum mixing the Process

    Cocktail

    www.netobjectives.comDan Rawsthorne

    [email protected]

    etNBJECTIVES

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 2

    My Goal

    Enlighten Teach

    Entertain Feed

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 3

    Agenda

    The Software ProblemWhat is Process?Why Agility WorksDescription of RUPDescription of XPDescription of ScrumBest of Breed CombinationsAdditional Success Factors

    Net Objectives, 3/26/2003 NetObjectivesNetObjectives4

    THE SOFTWARE PROBLEM

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 5

    The Purpose of a Project is

    To provide a solution for usersThat consists of quality code

    And doesnt cost too much

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 6

    This Leads To

    Technical Problem building quality code that satisfies the Users needsBudget Problem managing the project so that it doesnt cost too much to do so

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 7

    The Technical Problem has Three Parts

    RequirementsDetermine What the Software has to doChallenge: Satisfy the Users

    ProductionActually Build the Software Challenge: Deliver Quality Product

    MaintenanceModify Software to satisfy new requirementsChallenge: Maintain Quality

    Agility has changed the ways we do theseAgility has changed the ways we do these

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 8

    The Budget Problem has Many Issues

    How much do I want to spend to solve the Users problem?Do my developers know how to solve the problem?Are we making progress? Are we wasting money? Are we on schedule?Is the product good enough? CMM? Are other stakeholders going to be satisfied?

    How do we answer these questions?How do we answer these questions?

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 9

    Players

    User CommunityHas problems to be solvedUsually disorganized, chaotic, group

    Customer TeamProvides requirements and validationShould speak with one voice

    DevelopersActually builds the stuffLots of different roles here

    Business OwnerManages resources and moneyOften ignored in Development Process

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 10

    Relationships Between the Players

    Developers

    Customer

    User

    Business Owner

    Develop Product

    Requirements

    Reporting, Monitoring

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 11

    The Processes we are Discussing

    The three processes being discussed today are modern ones that enable agility

    Rational Unified Process (RUP) RationaleXtreme Programming (XP) Kent BeckScrum Ken Schwaber, Mike Beedle

    These are not the only ones, but are some of the most common. Others include:

    Dynamic Systems Development Method (DSDM)Crystal Methodologies Alistair CockburnFeature Driven Development (FDD) Peter CoadAdaptive Software Development Jim Highsmith...

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 12

    Agenda

    The Software ProblemWhat is Process?Why Agility WorksDescription of RUPDescription of XPDescription of ScrumBest of Breed CombinationsAdditional Success Factors

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 13

    Every software project has a process: somewhere between hack it out and Space Shuttle softwareBasically, processes tell you what to do, and when to do it.

    Plan-driven: you determine up-front what youre going to do, and follow itEvaluation-driven: at any given time figure out what the next thing to do is, and do itCombination: have an initial plan, continuously updating as needed

    Process

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 14

    A process is needed because stakeholders have various expectations for a software project, and want some guarantee that they will get them

    Why do We Need a Process?

    Quality codeProvide business valueFollow-on workCorrect codeQuality product offering

    TrainingHelp deskEtc

    Management visibility Quality of lifeAccurate progress reportsReact to changing requirementsCMM/ISOTest Coverage

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 15

    Formal Process vs Team Discipline

    There is a natural tension between having a disciplined team and having formal processThe more disciplined the team is, the lessformal process you needMost people arent disciplined enough, so some process is usually necessaryProcess is useful, but we must look at why we want the processEvery Project is different

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 16

    What Defines a Process?

    Principles/Fears what guides you?Activities what do you do?Roles who does it?Practices how do you do it?Products what gets produced (and persisted)?

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 17

    Three Levels of Development

    Business Level

    Product Level

    Development Level

    BusinessNeedUsersUsers

    CustomersCustomers

    DevelopersDevelopers

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 18

    Evaluating a Process

    Understand the Process: what are the Principles/Fears, Activities, Roles, Practices, and Products?Determine the Coverage: how well does the process span the three levels of development?Use Your Judgment: does this process meet your needs, for this team, for this project, at this time?

    Always remember: there is no one size fits all, silver bullet, process out thereAlways remember: there is no one size fits all, silver bullet, process out there

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 19

    Agenda

    The Software ProblemWhat is Process?Why Agility WorksDescription of RUPDescription of XPDescription of ScrumBest of Breed CombinationsAdditional Success Factors

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 20

    Agility is

    The ability to move faster than those things that can harm your projectThe ability to keep up with relevant changes

    In requirementsIn knowledge of our systemIn environment

    Agility is only relevant in a context

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 21

    These Things Include

    Changing RequirementsNew FunctionalityLearn more about system

    Changing PrioritiesDifferent StakeholdersNew Situations

    Changing EnvironmentNew OS, Languages, etc

    Changing BudgetsFewer DevelopersDo More with Less

    More

    How Can We Make This Work?

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 22

    In Order to Succeed You Need Something to Work With

    All managers know that you need float in order to make a project workWhen developing software, where is the floatthat we have to work with?

    Lets think about this for a minute

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 23

    Scope, Functionality and Robustness

    Scope measures how much is in the system the product of functionality and robustnessFunctionality is based on the problems being solved or goals being addressed

    some is more important than othersThought of as the width of the systemDescribed mile wide inch deep

    Robustness measures the depth at which functionality is handledSecondary versionsError recoveryBusiness RulesRefinementsThe actual depth

    Example: say you had to handle names in your system

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 24

    Say You Need to Handle Names in Your System

    Names are how people identify themselvesJohn A. SmithProf. Frederick Martin Biedenweg III, PEChuck OReilly, Susan Walton-SmytheAlbert van der HoevenFrank O, Adolph WolfeschlegelsteinhausenbergerdorftCher, Madonna, StingNguyen Bich Frank Bich Nguyen Frank BichTchang Kai Chek, Chang Kai Chek, Chiang Kai-shek, JiangJieshi,

    (the artist formerly known as Prince)As you can imagine, there is a large cost difference between handling the basic functionality and handling it allThis difference is the float you have to work with

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 25

    Delivering Functionality in an Agile Project

    What we know to start

    What we budget

    What we deliver

    The Universe of Possibilities

    MaxROI

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 26

    Agenda

    The Software ProblemWhat is Process? Why Agility WorksDescription of RUPDescription of XPDescription of ScrumBest of Breed CombinationsAdditional Success Factors

  • Net Objectives, 3/26/2003 NetObjectivesNetObjectives27

    RUP (Rational Unified Process)

    Process Framework

    Well Engineered Development Management

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 28

    Perceptions of RUP

    Manageable, traceable, visible, the way things

    should be done

    Heavyweight, boring, waste of

    time

  • NetObjectivesNetObjectivesNet Objectives, 3/26/2003 29

    RUP Principles

    Use Case DrivenArchitecture CentricIterative and IncrementalUses UMLCan be Tailored to a Projects needs

    Use Case DrivenArchitecture CentricIterative and IncrementalUses UMLCan be Tailored to a Projects needs

    Develop Software IterativelyManage RequirementsUse component-based ArchitecturesVisually Model SoftwareVerify Software QualityControl Changes to Software

    Develop Software IterativelyManage RequirementsUse component-based ArchitecturesVisually Model SoftwareVerify Software QualityControl Changes to Software

    NetObjectivesNetObjectivesNet Objectives, 3/26/2003 30

    The Real Motivation of RUPMy View

    Making mistakes is expensive, so make

Search related