SlideShare a Scribd company logo
Enough Process:  Let’s Do Practices  Ivar Jacobson
From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature Process is just a composition of Practices Practice is a First Class Citizen   the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum
Next Generation Process is here today! From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature Process is just a composition of Practices Practice is a First Class Citizen   the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum NEW
Each Camp Has It’s Own Ideas… A soup of ideas; it is a soup because you can not easily identify reusable elements. …  but where do they come from? The Various Process Camps Software  Engineering Process  Maturity Agile  Methods
Every Company Has Many Processes The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods A B C D N
Every Company Has Many Processes …  that borrow ideas from the three camps. The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods A B C D N
Every Company Has Many Processes A soup of soups made using ideas “borrowed” and re-written by process engineers within the company.  New ideas say 5 % The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods B C D N A …  that are just more soups of ideas.
What are projects supposed to do? There is no one-correct process. Each process has something to offer, but they’re hard to use together. None of them do exactly what the project team wants. Overall the pre-defined processes seem to add little value The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods B C D N A
Every project ends up with its own way of working …  that pays lip service to the company processes. The Various Process Camps Company Processes Projects Software  Engineering Process  Maturity Agile  Methods B C D N A Project 1 Project 2 Project 3 Project X …
Every project ends up with its own way of working The Project – Process Gap …  and a huge gap between what it does and what the process says. The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods B C D N A Projects Project 1 Project 2 Project 3 Project X …
Every project ends up with its own way of working The Project – Process Gap …  and a huge gap between what it does and what the process says. The Various Process Camps Company Processes Software  Engineering Process  Maturity Agile  Methods B C D N A Projects It’s no wonder  no-one likes processes! Project 1 Project 2 Project 3 Project X …
Practices help to close the project-process gap Project 1 Project 2 Project 3 Project X … Each camp provides its own set of practices. Software  Engineering Process  Maturity Agile  Methods B C D N A The Project – Process Gap
Processes become compositions of practices Software  Engineering Process  Maturity Agile  Methods Project 1 Project 2 Project 3 Project X … B D N A C A Each process just takes the practices it wants. D N
The Next Generation Process is Practice-Centric My Process New ideas say 5 % A set of practices = + From potentially many different methodologists around the world – essentially written by them Each process is just a set of practices. Teams compose practices to create their own way of working.
Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
There are 100’s of so-called practices… … but are really all the same kind of thing? Risk-Driven Iterative Development Use-Case Driven  Development Use-Case Modeling Scrum SOA Retro- spectives Product-Line Engineering Business Process Re-Engineering Prince2 Systems Engineering Pair  Programming Program Management Test-Driven Development Robustness  Analysis User Stories Business Modeling Aspect Orientation PSP
There are 100’s of so-called practices… … but are really all the same kind of thing? Scrum SOA Retro- spectives Product-Line Engineering Business Process Re-Engineering Prince2 Systems Engineering Pair  Programming Program Management Risk-Driven Iterative Development Use-Case Driven  Development Use-Case Modeling Test-Driven Development Robustness  Analysis User Stories Business Modeling Aspect Orientation PSP
We need a shared definition of “practice” Pragmatics A practice provides a way to  systematically  and  verifiably  address a particular aspect of a problem. A Practice  has  a clear beginning and an end  allowing it to be separately applied.  Each Practice gives value  Examples of practices are Iterative development Use case driven development Project management à la Scrum Team practice incl workshops, war room,  pair programming, etc.  More precisely A use-case module in our AOSD book It has a beginning and an end It may be a peer practice or extend an existing practice
There are different kinds of practice Iterative Essentials Scrum Essentials Use-Case Essentials User Stories Architecture Essentials Component Essentials Test-Driven Develop’t QA Essentials Process Essentials PSP Agile Modeling Team Essentials Unified Process Lifecycle Scrum-of -Scrums Use-Cases for Service Def’n Model- Driven Arch Comp’s for  Re-Use Practice Harvesting Org Process Imp Essential UML Distributed Team Virtual Team Comp’s for  .Net Measurem’t Essentials … … … … Technical Practices Cross-Cutting Practices Peer Practice Extension Practice Key:
Processes are just collections of practices Iterative Essentials Scrum Essentials Use-Case Essentials User Stories Architecture Essentials Component Essentials Test-Driven Develop’t QA Essentials Process Essentials PSP Agile Modeling Team Essentials Unified Process Lifecycle Scrum-of -Scrums Use-Cases for Service Def’n Model- Driven Arch Comp’s for  Re-Use Practice Harvesting Org Process Imp Essential UML Distributed Team Virtual Team Comp’s for  .Net Measurem’t Essentials … … … … Technical Practices Cross-Cutting Practices Peer Practice Extension Practice Key:
Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
40 years of process* development The Unified Process Ericsson Approach Objectory Process Late ’60s ‘ 87 –’96 IBM RUP The Rise of Practices ? ‘ 96 –’00 Agile Manifesto ‘ 07 –> ? XP, SCRUM &  “Lightweight Methods” ‘ 01 –’06 Everyone's Agile CMMI EssUP CMM SW-CMM XX-CMM *  Process, Method, Methodology, whatever...
What else have we learnt? They’re hard to learn… You can get knowledge from books . . . … .or from a web-site.
… and hard to love Every process tries to be complete As a consequence every successful process will grow until it dies under its own weight Every branded process is just a soup of ideas ”borrowed” from other processes With some new idea(s) The process is out of sync with what the team does… … and the project – process gap get wider and wider The project has to adopt an entire process No-one uses an entire process or limits themselves to practices from one process It’s no wonder no-one likes process.
A different perspective - 40 years of practice development ‘ 87 –’96 ‘ 96 –’00 ‘ 07 –> ? ‘ 01 –’06 Use-Case Driven Development Paper,  OOPSLA, 87 The Rational Objectory Process, 1997 The Objectory Process and Object-Oriented Software Engineering,  Addison Wesley, 1992 The Unified Software Development Process,  Addison Wesley, 1999 UML, OOPSLA, 1995 IBM Method, 1996 Catalysis, 1998 Crystal, 2004 More and more methods and processes using use cases. RUP EssUP And now a simple practice again… Use-Case Essentials Company X, Y & Z Methods
The Practices in the Essential Unified Process Technical Practices Cross-Cutting  Practices EssUP Practices EssUP practices have been successfully applied by many companies in many markets. Use Case Process Modeling Product Architecture $ Component Iteration Team
The Practices in the Essential Unified Process Technical Practices Cross-Cutting  Practices Iterative Component Architecture Use Case Modeling Process Team EssUP Practices Product Where is testing? It is Everywhere! $
Disciplines and practices – two complementary perspectives A process organized as a set of disciplines. Each discipline containing everything from every practice about an area of a process A set of individual practices that can be composed into a process EssUP Practices Iteration Use Case Process Modeling Product Architecture $ Component Team
Practices are ’end-to-end’ aspects of process Practices cross-cut the traditional software engineering disciplines The 8 Essential Practices describe the essence of the Unified Process EssUP Practices Use Case Process Modeling Product Architecture $ Component Iteration Team Business Modeling Requirements Analysis & Design Implmentation Test Deployment Config. / Change Mgt Project Management Environment
Consider use-case development as a practice Use-case driven development involves  specifying the system as a set of use-cases,  understanding what the elements of the system need to do to enable the use cases, and  verifying that the produced system fulfils the use cases.  This requires Requirements, Analysis, Design and Test activities to be undertaken. Use-Case Practice
Find the Practice – The Requirements Discipline
Find the Practice – and Analysis and Design and Test Activities from the Requirements Discipline Activities from Analysis and Design Activities from Test
Requirements and testing… … closing the loop and defining what “done” is. Requirements define what should be implemented Test Cases verify that the system works as specified by the Requirements Code implements the requirements Implementation Requirements Class... Pass Fail Test Case & Test Results
Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed
Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed Start with a lightweight, flexible definition that captures the essentials
Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed Add detail, prescription, ceremony, and formality by extension
Practice separation has many benefits You can learn practices individually You can apply practices separately You can adopt the practices you want, when you want, and at the pace that suits you You can mix-and-match practices from any source  You only have to change the practices that need changing Practice Separation: The key to successful, long-lasting process improvement.
Essential Unified Process – Key characteristics A complete, useable software development process Delivered in the way that suits you on the platform that you use That’s easy to adopt and tailor    Free    Open Source    Adaptive    Easy to Use    Agile    Lightweight     Universal     Extensible    Scalable    Complete    Sufficient    Comprehensive    Recursive
Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
Apply card game metaphor for practice descriptions A card contains concise description of things to produce and things to do, etc.  A practice is a set of cards A team/individual works on a set of instance cards * Ward Cunningham invented CRC cards,  published in 1989
The “Essentials” are in the cards
Cards make the practices useful Cards display the essentials Cards support daily tasks Build the deck you need Annotate the cards  View your cards Automated support available Detailed guidelines can easily be dipped into as needed References can be accessed if more information is needed Process becomes an invisible part  of everyday project life
Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
Remember the team goal… Good Software Current Situation  and Opportunity To produce good software, quickly!
Three team games Use the Practices to Assemble a Process [Process Improvement Game] Use the Practices to Plan the Project [Planning Game] Use the Practices in a Project [Development Game] All implemented within  Eclipse or VSTS.  Good Software Current Situation  and Opportunity
To play games with the cards – you will need a Game Board Game Board Cards Slots For example - The game board for the process improvement game must allow you to describe any software process.  Start here Finish here
The game board needs slots Every project needs ...    Opportunity    Specified System    Implemented System    Executable System    Team    Project    Backlog    Way of Working    Customer Representative    Analyst    Developer    Tester    Project Lead    Understand the need    Ensure stakeholder satisfaction    Accept the system    Specify the system    Shape the system    Implement the system    Test the system    Establish the project    Steer the project    Support the team    Conclude the project People and their competencies Things to produce or to have Things to do ... whether you document them or not
... from three areas    Opportunity    Specified System    Implemented System    Executable System    Team    Project    Backlog    Way of Working    Customer representative    Analyst    Developer    Tester    Project Lead    Understand the need    Ensure stakeholder satisfaction    Accept the system    Specify the system    Shape the system    Implement the system    Test the system    Establish the project    Steer the project    Support the team    Conclude the project Customer Solution Endeavour People and their competencies Things to produce or to have Things to do
Understand and enable your current practices The Game Board is initially a practice independent kernel Competencies Start here Finish here It is initially empty, it just has the slots. Use the game board to assess what you do: Lightly (rely on tacit knowledge) populate it with cards that describe what    you have today (your process, your practices, or parts of it). Improve with cards from new practices . Mix in new practices and assess their impact Things to Produce Things to Do
Play your cards to assemble your way-of-working My Process
Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
Bill Gates: The Road Ahead Newsweek December 19, 2005:  ” How ’intelligent agents’ and mind-mappers are taking our information democracy to the next stage.”
People want smart, interactive practices Add active guidance, review, checking and  help by automation.  Smart Practices come with  intelligent agents and automated guidance. Architecture Essentials Iterative Essentials I  help with Iterative planning Use-Case Essentials I help with use cases I  help with architecture
Smart Practices have Smart Tools: intelligent agents Active Guidance  gives you expert advice just when you want it  (if you want) Active Review  monitors status, progress and quality for you (if you want)  Active Automation performs mundane tasks for you (if you want) Virtual Pair   Programmers Analysts Designer Tester Project Managers You learn as you work I help with use cases I help with architecture I help with Iterative  planning I help with Embedded  Systems I help with Business  Systems
Smart Practices have Smart Tools: intelligent agents Active Guidance  gives you expert advice just when you want it  (if you want) Active Review  monitors status, progress and quality for you (if you want)  Active Automation performs mundane tasks for you (if you want) Virtual Pair   Programmers Analysts Designer Tester Project Managers You are in command I help with use cases I help with architecture I help with Iterative  planning I help with Embedded  Systems I help with Business  Systems
Smart Practices have Smart Tools: intelligent agents Active Guidance  gives you expert advice just when you want it  (if you want) Active Review  monitors status, progress and quality for you (if you want)  Active Automation performs mundane tasks for you (if you want) Virtual Pair   Programmers Analysts Designer Tester Project Managers You focus on creative work I help with use cases I help with architecture I help with Iterative  planning I help with Embedded  Systems I help with Business  Systems
How it all fits together – summary this far Knowledge Base  Agents and  tools Cards Guidelines References Practices Start here Finish here Process Kernel I do test cases
Practices need to embrace what’s happening Mash Ups  Smart Tools Social Networking Lightweight, composable, sociable, intelligent practices
We’ve more than enough best practices… Separate the practices from one another Combine them in innovative and exciting new ways Stop re-inventing the wheel Learn from the past Focus on collaboration and improvement Stop throwing the baby out with the bath water  … let’s make them useful.
We’ve more than enough best practices… Separate the practices from one another Combine them in innovative and exciting new ways Stop re-inventing the wheel Learn from the past Focus on collaboration and improvement Stop throwing the baby out with the bath water  … let’s make them useful.  Free the  Practices
This isn’t just hot air…it is available today EssUP Practices Use Case Process Modeling Product Architecture $ Component Iteration Team U P UP Lifecycle Other Practices Essential UML Domain  Modeling SCRUM ... A number of separate but composable, lightweight practices are already available… Use Cases Test Cases OO Analysis J2EE Design Smart Practices Rules Engine Fact Servers Rules Language IA Platform Integrations EssWork / EssUP, RUP Rose, XDE, RSX, ReqPro, RMT, Test Manager, etc ClearCase, ClearQuest, Word, etc … some with intelligent agents… Cards Start here Finish here Start here Finish here Start here Finish here Game Boards Process Kernel Eclipse, Web 2.0, VisualStudio … and an interactive environment and community can be created.
Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
Changing things is hard… “ Many team and organization change and improvement efforts are lost or badly bewildered. Decades of studies have consistently shown that 50–70 percent are failing.  “ Jim Clemmer, Pathways to Performance,  Macmillan Canada and Prima Publishing “… there’s enough evidence of success to say that change is possible – and enough evidence of failure to say that it isn’t likely.” Peter Senge, the ‘father’ of the learning organization … and changing people is even harder.
What methodologists thinks happens in an organization     You put the process into one or two pilot projects…
What methodologists thinks happens in an organization     You put the process into one or two pilot projects… … and then roll it out to everyone else. When everybody is using it the job’s done.
What really happens Whilst the first process is being rolled out other processes start to appear and spread.  Successful ones continue to spread – others stall. When they collide “process wars” break-out.
Harnessing the dynamics of practice adoption Practices can harness these dynamics to support  long-term sustainable change. They avoid conflict and interference by enabling  seamless composition.
The Practices in the Essential Unified Process Technical Practices Cross-Cutting  Practices EssUP Practices EssUP practices have been successfully applied by many companies in many markets. Use Case Process Modeling Product Architecture $ Component Iteration Team
Different teams use different selections of practices Every team is different. Every practice adoption is different. Education services  company Use Case Iteration Major Investment Bank Modeling Use Case Component Architecture A small team doing maintenance Use Case Scrum Component Team Iteration Product $ Team
How Practices Add Value The majority of the benefit comes from changing a small number of the right practices.
Practice separation has many benefits You can learn practices individually You can apply practices separately You can adopt the practices you want, when you want, and at the pace that suits you You can mix-and-match practices from any source  You only have to change the practices that need changing Practice Separation: The key to successful, long-lasting process improvement.
Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
Lessons Learned Changing everything is too much and bound to fail Evolutionary and incremental change is possible…   …and practices provide the right unit of change Practice separation makes it easy to get started Always start from the essentials and only add more when needed Introduce tools and intelligent agents to support and sustain the change Practice separation and incremental practice adoption really work.
Let’s Do Practices From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature The team’s way-of-working is just a composition of Practices Practice is a First Class Citizen   the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum
The current situation – methods and processes 1 st  Generation tacit Ad Hoc Knowledge in textbooks 2 nd  Generation explicit Structured Knowledge  in an engineered PD USDP, SA&SD, OOSE,  Scrum, XP RUP, MSF, Select Perspective
The New Era – Interactive Practices – Being Here Today 1 st  Generation tacit Ad Hoc Knowledge in textbooks 2 nd  Generation explicit Structured Knowledge  in an engineered PD USDP, SA&SD, OOSE,  Scrum, XP RUP, MSF, Select Perspective EssUP & EssWork - Beyond Process Definitions. Bringing practices, teams, and tools together Interactive Knowledge in a dynamic environment 3 rd  Generation interactive EssUP in EssWork
But we need your help Don’t be satisfied with brittle closed processes Don’t be sucked into process wars and process engineering Don’t close your mind to changes and innovations in the industry Build on the good practice you use today… …  to create new and exciting ways-of-working … .and evolve the next generation of truly best practices Let’s capture and share all our practices.
EssUP and EssWork Product Releases  Sign up for updates on EssUP, EssWork and Waypointer at www.ivarjacobson.com  and www.esswork.com +
Thank You [email_address]

More Related Content

PPS
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
PDF
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
PPT
Web technologies: Model Driven Engineering
PDF
[2015/2016] Software systems engineering PRINCIPLES
PPTX
01 mde principles
PPTX
Software engineering principles in system software design
PPTX
Lightweight Model-Driven Engineering
PDF
Software engineering note
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Web technologies: Model Driven Engineering
[2015/2016] Software systems engineering PRINCIPLES
01 mde principles
Software engineering principles in system software design
Lightweight Model-Driven Engineering
Software engineering note

What's hot (20)

PPTX
Model driven development and code generation of software systems
PPT
5 software design
DOC
Yogesh_Kadam
PDF
The Language of Application Architecture
PPTX
How to sustain a tool building community-driven effort
PDF
A Lightweight MDD Process Applied in Small Projects
PPT
Software development slides
PDF
How to Speak the Language of Application Architecture
PDF
Architecture: where do you start?
PPTX
A Software Engineering Perspective on SDN Programmability
PDF
Applying Design Principles in Practice
PPT
Unit4
PPT
04 designing architectures
PPT
Online Tv Music Channel Presentation
PDF
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
PPTX
Basics of Software Architecture for .NET Developers
PPT
Software Life Cylce Model
PDF
[2015/2016] Collaborative software development with Git
PDF
Feature driven design FDD
PDF
Code Craftsmanship Checklist
Model driven development and code generation of software systems
5 software design
Yogesh_Kadam
The Language of Application Architecture
How to sustain a tool building community-driven effort
A Lightweight MDD Process Applied in Small Projects
Software development slides
How to Speak the Language of Application Architecture
Architecture: where do you start?
A Software Engineering Perspective on SDN Programmability
Applying Design Principles in Practice
Unit4
04 designing architectures
Online Tv Music Channel Presentation
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Basics of Software Architecture for .NET Developers
Software Life Cylce Model
[2015/2016] Collaborative software development with Git
Feature driven design FDD
Code Craftsmanship Checklist
Ad

Viewers also liked (20)

PPTX
Creating Stunning Enterprise Apps for Both Web and Mobile
ODP
Reference Scope Identification in Citing Sentences
PPT
Lewis Diagram
PDF
Geekier Analytics for SaaS data
PPT
Momentum Pres
PPTX
Sense-it - mLearn 2015 presentation
PPTX
Webstock 2011
PPS
Creation
PPT
Mobile Phone To Computer
PDF
3 Simple Ways to Simplify Your Mobile Apps
PPT
Natural HAzzards and dissasters
PPT
NEW MEDIA LECTURE - Swinburne University Radio Students
PDF
2010 Jan Online
PPT
What Are Dreams
PPT
A, E, J & J P R E S E N T A T I O N
PPS
Creation
PPT
Nerea Eta Andrea
 
PDF
Why Should You Join The Mobile Revolution?
PPTX
Does PaaS Pay Off?
PPT
Tegurdamine
Creating Stunning Enterprise Apps for Both Web and Mobile
Reference Scope Identification in Citing Sentences
Lewis Diagram
Geekier Analytics for SaaS data
Momentum Pres
Sense-it - mLearn 2015 presentation
Webstock 2011
Creation
Mobile Phone To Computer
3 Simple Ways to Simplify Your Mobile Apps
Natural HAzzards and dissasters
NEW MEDIA LECTURE - Swinburne University Radio Students
2010 Jan Online
What Are Dreams
A, E, J & J P R E S E N T A T I O N
Creation
Nerea Eta Andrea
 
Why Should You Join The Mobile Revolution?
Does PaaS Pay Off?
Tegurdamine
Ad

Similar to Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson) (20)

PPT
Ivar Jacobson International Introduction
PPTX
Unified process,agile process,process assesment ppt
PPT
Slides chapter 3
PPT
Slides chapter 3
PPT
software engineering notes for msc stude
PPTX
Poor Man's Kanban
PDF
CMMI and Agile
PPT
Ch03 process models
PDF
Analysis of the interaction between practices for introducing XP effectively
PPSX
Process model rup
PPTX
Object Oriented Analysis
PPTX
User Centered Execution for Mobile UX Designers
PPT
Ch04 agile development models
PPT
PR-Ch03.pptfdhfdhfgdhgfuyrtugfhghgfjfgjg
DOC
Chapter 1,2,3,4 notes
PPT
Waterfallacies V1 1
ODP
Agile Engineering
PPTX
agile modeling in project management.pptx
PDF
Introduction To Agile Refresh Savannah July20 2010 V1 4
Ivar Jacobson International Introduction
Unified process,agile process,process assesment ppt
Slides chapter 3
Slides chapter 3
software engineering notes for msc stude
Poor Man's Kanban
CMMI and Agile
Ch03 process models
Analysis of the interaction between practices for introducing XP effectively
Process model rup
Object Oriented Analysis
User Centered Execution for Mobile UX Designers
Ch04 agile development models
PR-Ch03.pptfdhfdhfgdhgfuyrtugfhghgfjfgjg
Chapter 1,2,3,4 notes
Waterfallacies V1 1
Agile Engineering
agile modeling in project management.pptx
Introduction To Agile Refresh Savannah July20 2010 V1 4

Recently uploaded (20)

PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PDF
Unit 1 Cost Accounting - Cost sheet
PDF
Training And Development of Employee .pdf
PPTX
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
PDF
Types of control:Qualitative vs Quantitative
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
DOCX
Euro SEO Services 1st 3 General Updates.docx
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PPTX
Amazon (Business Studies) management studies
DOCX
Business Management - unit 1 and 2
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PPT
Data mining for business intelligence ch04 sharda
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PPTX
New Microsoft PowerPoint Presentation - Copy.pptx
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
Power and position in leadershipDOC-20250808-WA0011..pdf
Unit 1 Cost Accounting - Cost sheet
Training And Development of Employee .pdf
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
Types of control:Qualitative vs Quantitative
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
Euro SEO Services 1st 3 General Updates.docx
COST SHEET- Tender and Quotation unit 2.pdf
Amazon (Business Studies) management studies
Business Management - unit 1 and 2
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
Ôn tập tiếng anh trong kinh doanh nâng cao
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
Belch_12e_PPT_Ch18_Accessible_university.pptx
Data mining for business intelligence ch04 sharda
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
340036916-American-Literature-Literary-Period-Overview.ppt
New Microsoft PowerPoint Presentation - Copy.pptx
ICG2025_ICG 6th steering committee 30-8-24.pptx

Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson)

  • 1. Enough Process: Let’s Do Practices Ivar Jacobson
  • 2. From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature Process is just a composition of Practices Practice is a First Class Citizen the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum
  • 3. Next Generation Process is here today! From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature Process is just a composition of Practices Practice is a First Class Citizen the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum NEW
  • 4. Each Camp Has It’s Own Ideas… A soup of ideas; it is a soup because you can not easily identify reusable elements. … but where do they come from? The Various Process Camps Software Engineering Process Maturity Agile Methods
  • 5. Every Company Has Many Processes The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods A B C D N
  • 6. Every Company Has Many Processes … that borrow ideas from the three camps. The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods A B C D N
  • 7. Every Company Has Many Processes A soup of soups made using ideas “borrowed” and re-written by process engineers within the company. New ideas say 5 % The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods B C D N A … that are just more soups of ideas.
  • 8. What are projects supposed to do? There is no one-correct process. Each process has something to offer, but they’re hard to use together. None of them do exactly what the project team wants. Overall the pre-defined processes seem to add little value The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods B C D N A
  • 9. Every project ends up with its own way of working … that pays lip service to the company processes. The Various Process Camps Company Processes Projects Software Engineering Process Maturity Agile Methods B C D N A Project 1 Project 2 Project 3 Project X …
  • 10. Every project ends up with its own way of working The Project – Process Gap … and a huge gap between what it does and what the process says. The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods B C D N A Projects Project 1 Project 2 Project 3 Project X …
  • 11. Every project ends up with its own way of working The Project – Process Gap … and a huge gap between what it does and what the process says. The Various Process Camps Company Processes Software Engineering Process Maturity Agile Methods B C D N A Projects It’s no wonder no-one likes processes! Project 1 Project 2 Project 3 Project X …
  • 12. Practices help to close the project-process gap Project 1 Project 2 Project 3 Project X … Each camp provides its own set of practices. Software Engineering Process Maturity Agile Methods B C D N A The Project – Process Gap
  • 13. Processes become compositions of practices Software Engineering Process Maturity Agile Methods Project 1 Project 2 Project 3 Project X … B D N A C A Each process just takes the practices it wants. D N
  • 14. The Next Generation Process is Practice-Centric My Process New ideas say 5 % A set of practices = + From potentially many different methodologists around the world – essentially written by them Each process is just a set of practices. Teams compose practices to create their own way of working.
  • 15. Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
  • 16. There are 100’s of so-called practices… … but are really all the same kind of thing? Risk-Driven Iterative Development Use-Case Driven Development Use-Case Modeling Scrum SOA Retro- spectives Product-Line Engineering Business Process Re-Engineering Prince2 Systems Engineering Pair Programming Program Management Test-Driven Development Robustness Analysis User Stories Business Modeling Aspect Orientation PSP
  • 17. There are 100’s of so-called practices… … but are really all the same kind of thing? Scrum SOA Retro- spectives Product-Line Engineering Business Process Re-Engineering Prince2 Systems Engineering Pair Programming Program Management Risk-Driven Iterative Development Use-Case Driven Development Use-Case Modeling Test-Driven Development Robustness Analysis User Stories Business Modeling Aspect Orientation PSP
  • 18. We need a shared definition of “practice” Pragmatics A practice provides a way to systematically and verifiably address a particular aspect of a problem. A Practice has a clear beginning and an end allowing it to be separately applied. Each Practice gives value Examples of practices are Iterative development Use case driven development Project management à la Scrum Team practice incl workshops, war room, pair programming, etc. More precisely A use-case module in our AOSD book It has a beginning and an end It may be a peer practice or extend an existing practice
  • 19. There are different kinds of practice Iterative Essentials Scrum Essentials Use-Case Essentials User Stories Architecture Essentials Component Essentials Test-Driven Develop’t QA Essentials Process Essentials PSP Agile Modeling Team Essentials Unified Process Lifecycle Scrum-of -Scrums Use-Cases for Service Def’n Model- Driven Arch Comp’s for Re-Use Practice Harvesting Org Process Imp Essential UML Distributed Team Virtual Team Comp’s for .Net Measurem’t Essentials … … … … Technical Practices Cross-Cutting Practices Peer Practice Extension Practice Key:
  • 20. Processes are just collections of practices Iterative Essentials Scrum Essentials Use-Case Essentials User Stories Architecture Essentials Component Essentials Test-Driven Develop’t QA Essentials Process Essentials PSP Agile Modeling Team Essentials Unified Process Lifecycle Scrum-of -Scrums Use-Cases for Service Def’n Model- Driven Arch Comp’s for Re-Use Practice Harvesting Org Process Imp Essential UML Distributed Team Virtual Team Comp’s for .Net Measurem’t Essentials … … … … Technical Practices Cross-Cutting Practices Peer Practice Extension Practice Key:
  • 21. Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
  • 22. 40 years of process* development The Unified Process Ericsson Approach Objectory Process Late ’60s ‘ 87 –’96 IBM RUP The Rise of Practices ? ‘ 96 –’00 Agile Manifesto ‘ 07 –> ? XP, SCRUM & “Lightweight Methods” ‘ 01 –’06 Everyone's Agile CMMI EssUP CMM SW-CMM XX-CMM * Process, Method, Methodology, whatever...
  • 23. What else have we learnt? They’re hard to learn… You can get knowledge from books . . . … .or from a web-site.
  • 24. … and hard to love Every process tries to be complete As a consequence every successful process will grow until it dies under its own weight Every branded process is just a soup of ideas ”borrowed” from other processes With some new idea(s) The process is out of sync with what the team does… … and the project – process gap get wider and wider The project has to adopt an entire process No-one uses an entire process or limits themselves to practices from one process It’s no wonder no-one likes process.
  • 25. A different perspective - 40 years of practice development ‘ 87 –’96 ‘ 96 –’00 ‘ 07 –> ? ‘ 01 –’06 Use-Case Driven Development Paper, OOPSLA, 87 The Rational Objectory Process, 1997 The Objectory Process and Object-Oriented Software Engineering, Addison Wesley, 1992 The Unified Software Development Process, Addison Wesley, 1999 UML, OOPSLA, 1995 IBM Method, 1996 Catalysis, 1998 Crystal, 2004 More and more methods and processes using use cases. RUP EssUP And now a simple practice again… Use-Case Essentials Company X, Y & Z Methods
  • 26. The Practices in the Essential Unified Process Technical Practices Cross-Cutting Practices EssUP Practices EssUP practices have been successfully applied by many companies in many markets. Use Case Process Modeling Product Architecture $ Component Iteration Team
  • 27. The Practices in the Essential Unified Process Technical Practices Cross-Cutting Practices Iterative Component Architecture Use Case Modeling Process Team EssUP Practices Product Where is testing? It is Everywhere! $
  • 28. Disciplines and practices – two complementary perspectives A process organized as a set of disciplines. Each discipline containing everything from every practice about an area of a process A set of individual practices that can be composed into a process EssUP Practices Iteration Use Case Process Modeling Product Architecture $ Component Team
  • 29. Practices are ’end-to-end’ aspects of process Practices cross-cut the traditional software engineering disciplines The 8 Essential Practices describe the essence of the Unified Process EssUP Practices Use Case Process Modeling Product Architecture $ Component Iteration Team Business Modeling Requirements Analysis & Design Implmentation Test Deployment Config. / Change Mgt Project Management Environment
  • 30. Consider use-case development as a practice Use-case driven development involves specifying the system as a set of use-cases, understanding what the elements of the system need to do to enable the use cases, and verifying that the produced system fulfils the use cases. This requires Requirements, Analysis, Design and Test activities to be undertaken. Use-Case Practice
  • 31. Find the Practice – The Requirements Discipline
  • 32. Find the Practice – and Analysis and Design and Test Activities from the Requirements Discipline Activities from Analysis and Design Activities from Test
  • 33. Requirements and testing… … closing the loop and defining what “done” is. Requirements define what should be implemented Test Cases verify that the system works as specified by the Requirements Code implements the requirements Implementation Requirements Class... Pass Fail Test Case & Test Results
  • 34. Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed
  • 35. Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed Start with a lightweight, flexible definition that captures the essentials
  • 36. Practice descriptions have many dimensions Weight: Application: Light Heavy General Specific Depth: Essentials Everything Breadth: One Area Many Areas Prescription: Unconstrained Highly Constrained Ceremony: Low High Flexibility: Open Closed Add detail, prescription, ceremony, and formality by extension
  • 37. Practice separation has many benefits You can learn practices individually You can apply practices separately You can adopt the practices you want, when you want, and at the pace that suits you You can mix-and-match practices from any source You only have to change the practices that need changing Practice Separation: The key to successful, long-lasting process improvement.
  • 38. Essential Unified Process – Key characteristics A complete, useable software development process Delivered in the way that suits you on the platform that you use That’s easy to adopt and tailor  Free  Open Source  Adaptive  Easy to Use  Agile  Lightweight  Universal  Extensible  Scalable  Complete  Sufficient  Comprehensive  Recursive
  • 39. Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
  • 40. Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
  • 41. Apply card game metaphor for practice descriptions A card contains concise description of things to produce and things to do, etc. A practice is a set of cards A team/individual works on a set of instance cards * Ward Cunningham invented CRC cards, published in 1989
  • 42. The “Essentials” are in the cards
  • 43. Cards make the practices useful Cards display the essentials Cards support daily tasks Build the deck you need Annotate the cards View your cards Automated support available Detailed guidelines can easily be dipped into as needed References can be accessed if more information is needed Process becomes an invisible part of everyday project life
  • 44. Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
  • 45. Remember the team goal… Good Software Current Situation and Opportunity To produce good software, quickly!
  • 46. Three team games Use the Practices to Assemble a Process [Process Improvement Game] Use the Practices to Plan the Project [Planning Game] Use the Practices in a Project [Development Game] All implemented within Eclipse or VSTS. Good Software Current Situation and Opportunity
  • 47. To play games with the cards – you will need a Game Board Game Board Cards Slots For example - The game board for the process improvement game must allow you to describe any software process. Start here Finish here
  • 48. The game board needs slots Every project needs ...  Opportunity  Specified System  Implemented System  Executable System  Team  Project  Backlog  Way of Working  Customer Representative  Analyst  Developer  Tester  Project Lead  Understand the need  Ensure stakeholder satisfaction  Accept the system  Specify the system  Shape the system  Implement the system  Test the system  Establish the project  Steer the project  Support the team  Conclude the project People and their competencies Things to produce or to have Things to do ... whether you document them or not
  • 49. ... from three areas  Opportunity  Specified System  Implemented System  Executable System  Team  Project  Backlog  Way of Working  Customer representative  Analyst  Developer  Tester  Project Lead  Understand the need  Ensure stakeholder satisfaction  Accept the system  Specify the system  Shape the system  Implement the system  Test the system  Establish the project  Steer the project  Support the team  Conclude the project Customer Solution Endeavour People and their competencies Things to produce or to have Things to do
  • 50. Understand and enable your current practices The Game Board is initially a practice independent kernel Competencies Start here Finish here It is initially empty, it just has the slots. Use the game board to assess what you do: Lightly (rely on tacit knowledge) populate it with cards that describe what you have today (your process, your practices, or parts of it). Improve with cards from new practices . Mix in new practices and assess their impact Things to Produce Things to Do
  • 51. Play your cards to assemble your way-of-working My Process
  • 52. Some new innovations are required…. … to bring the practices to life and make them useful. Defining and using Practices in a new way. Practice Smartness Practice Usage Practice User Experience
  • 53. Bill Gates: The Road Ahead Newsweek December 19, 2005: ” How ’intelligent agents’ and mind-mappers are taking our information democracy to the next stage.”
  • 54. People want smart, interactive practices Add active guidance, review, checking and help by automation. Smart Practices come with intelligent agents and automated guidance. Architecture Essentials Iterative Essentials I help with Iterative planning Use-Case Essentials I help with use cases I help with architecture
  • 55. Smart Practices have Smart Tools: intelligent agents Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Virtual Pair Programmers Analysts Designer Tester Project Managers You learn as you work I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems
  • 56. Smart Practices have Smart Tools: intelligent agents Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Virtual Pair Programmers Analysts Designer Tester Project Managers You are in command I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems
  • 57. Smart Practices have Smart Tools: intelligent agents Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Virtual Pair Programmers Analysts Designer Tester Project Managers You focus on creative work I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems
  • 58. How it all fits together – summary this far Knowledge Base Agents and tools Cards Guidelines References Practices Start here Finish here Process Kernel I do test cases
  • 59. Practices need to embrace what’s happening Mash Ups Smart Tools Social Networking Lightweight, composable, sociable, intelligent practices
  • 60. We’ve more than enough best practices… Separate the practices from one another Combine them in innovative and exciting new ways Stop re-inventing the wheel Learn from the past Focus on collaboration and improvement Stop throwing the baby out with the bath water … let’s make them useful.
  • 61. We’ve more than enough best practices… Separate the practices from one another Combine them in innovative and exciting new ways Stop re-inventing the wheel Learn from the past Focus on collaboration and improvement Stop throwing the baby out with the bath water … let’s make them useful. Free the Practices
  • 62. This isn’t just hot air…it is available today EssUP Practices Use Case Process Modeling Product Architecture $ Component Iteration Team U P UP Lifecycle Other Practices Essential UML Domain Modeling SCRUM ... A number of separate but composable, lightweight practices are already available… Use Cases Test Cases OO Analysis J2EE Design Smart Practices Rules Engine Fact Servers Rules Language IA Platform Integrations EssWork / EssUP, RUP Rose, XDE, RSX, ReqPro, RMT, Test Manager, etc ClearCase, ClearQuest, Word, etc … some with intelligent agents… Cards Start here Finish here Start here Finish here Start here Finish here Game Boards Process Kernel Eclipse, Web 2.0, VisualStudio … and an interactive environment and community can be created.
  • 63. Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
  • 64. Changing things is hard… “ Many team and organization change and improvement efforts are lost or badly bewildered. Decades of studies have consistently shown that 50–70 percent are failing. “ Jim Clemmer, Pathways to Performance, Macmillan Canada and Prima Publishing “… there’s enough evidence of success to say that change is possible – and enough evidence of failure to say that it isn’t likely.” Peter Senge, the ‘father’ of the learning organization … and changing people is even harder.
  • 65. What methodologists thinks happens in an organization You put the process into one or two pilot projects…
  • 66. What methodologists thinks happens in an organization You put the process into one or two pilot projects… … and then roll it out to everyone else. When everybody is using it the job’s done.
  • 67. What really happens Whilst the first process is being rolled out other processes start to appear and spread. Successful ones continue to spread – others stall. When they collide “process wars” break-out.
  • 68. Harnessing the dynamics of practice adoption Practices can harness these dynamics to support long-term sustainable change. They avoid conflict and interference by enabling seamless composition.
  • 69. The Practices in the Essential Unified Process Technical Practices Cross-Cutting Practices EssUP Practices EssUP practices have been successfully applied by many companies in many markets. Use Case Process Modeling Product Architecture $ Component Iteration Team
  • 70. Different teams use different selections of practices Every team is different. Every practice adoption is different. Education services company Use Case Iteration Major Investment Bank Modeling Use Case Component Architecture A small team doing maintenance Use Case Scrum Component Team Iteration Product $ Team
  • 71. How Practices Add Value The majority of the benefit comes from changing a small number of the right practices.
  • 72. Practice separation has many benefits You can learn practices individually You can apply practices separately You can adopt the practices you want, when you want, and at the pace that suits you You can mix-and-match practices from any source You only have to change the practices that need changing Practice Separation: The key to successful, long-lasting process improvement.
  • 73. Agenda What makes a good practice? When is a best practice a well-formed practice? What is the Essential Unified Process? Making practices available today What is EssWork? Making practices useful Harnessing the power of practices The real enabler of sustainable change Wrap up
  • 74. Lessons Learned Changing everything is too much and bound to fail Evolutionary and incremental change is possible… …and practices provide the right unit of change Practice separation makes it easy to get started Always start from the essentials and only add more when needed Introduce tools and intelligent agents to support and sustain the change Practice separation and incremental practice adoption really work.
  • 75. Let’s Do Practices From the successes in modern software development Agile Methods Camp The Software Engineering Camp Process Maturity Camp In the future, an ever present but invisible process We need a new paradigm Process becomes second nature The team’s way-of-working is just a composition of Practices Practice is a First Class Citizen the unit of adoption, planning and execution of process Unified Process Examples: CMMI, Spice XP, Scrum
  • 76. The current situation – methods and processes 1 st Generation tacit Ad Hoc Knowledge in textbooks 2 nd Generation explicit Structured Knowledge in an engineered PD USDP, SA&SD, OOSE, Scrum, XP RUP, MSF, Select Perspective
  • 77. The New Era – Interactive Practices – Being Here Today 1 st Generation tacit Ad Hoc Knowledge in textbooks 2 nd Generation explicit Structured Knowledge in an engineered PD USDP, SA&SD, OOSE, Scrum, XP RUP, MSF, Select Perspective EssUP & EssWork - Beyond Process Definitions. Bringing practices, teams, and tools together Interactive Knowledge in a dynamic environment 3 rd Generation interactive EssUP in EssWork
  • 78. But we need your help Don’t be satisfied with brittle closed processes Don’t be sucked into process wars and process engineering Don’t close your mind to changes and innovations in the industry Build on the good practice you use today… … to create new and exciting ways-of-working … .and evolve the next generation of truly best practices Let’s capture and share all our practices.
  • 79. EssUP and EssWork Product Releases Sign up for updates on EssUP, EssWork and Waypointer at www.ivarjacobson.com and www.esswork.com +