A PlanDriven Process How and Why to Fake it - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

A PlanDriven Process How and Why to Fake it

Description:

some company or industry standard. Intent to certify or remain certified at some CMM level ... artifacts as if' you were doing things in a plan driven fashion. ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 27
Provided by: philippe5
Category:

less

Transcript and Presenter's Notes

Title: A PlanDriven Process How and Why to Fake it


1
A Plan-Driven ProcessHow and Why to Fake it
  • Philippe Kruchten
  • _at_ USC, on March 18th, 2004

2
Presenter
  • Philippe Kruchten, Ph. D., P. Eng.
  • Dept. of Elec. Comp. Eng.
  • University of British Columbia
  • 2356 Main Mall
  • Vancouver BC V6T1Z4
  • pbk_at_ece.ubc.ca
  • kruchten_at_ieee.org

3
Fitting in a Plan-Driven Environment
  • System engineering waterfall approach
  • Necessity to comply to
  • IEEE Standards
  • ISO 12207
  • some company or industry standard
  • Intent to certify or remain certified at some CMM
    level

4
Fake it.
  • Do the right thing, e.g., use appropriate agile
    practices
  • Present enough of an external façade to the
    outside world to meet the requirements
  • Present management artifacts as if you were
    doing things in a plan driven fashion.
  • Tailor the external demands to the maximum
    extremity feasible.
  • in particular, tailor
  • Document templates
  • Level of precision
  • Frequency of updates (no early freezing)
  • Adjust the jargon
  • Produce
  • High level plan
  • Plans by iteration (or cycle, or sprint, )
  • Inform and set the expectations right for the
    external world

5
Example IEEE Standards
  • Tailored software development plan 10581998
  • Section 6.1 introduce your agile process
  • Section 7.4 Test-first
  • Section 7.5 pair programming
  • Section 7.6 introduce the scrum
  • Section 7.8 introduce retrospective
  • etc
  • The standards do not tell you HOW you have to do
    the work. The plans can be as flexible as you
    want or need.
  • But set up the right expectations.

6
Scaling UP the Agile processes?
  • How large can I expand the team and still be
    agile?
  • How long ?
  • How many attributes of agility can I drop and
    still be agile?
  • Which practices can I scale up?
  • Which practices I cannot use on large projects?
  • Or should we
  • Understand the ideal conditions of agility
  • Scale down projects in a way that establishes
    these ideal conditions of agility

If the mountain will not go to Mahomet, let
Mahomet go to the mountain. (Proverb)
7
Agile Process Sweet Spot
  • High bandwidth communication
  • Small team (10-15), Collocated, Face to face (as
    opposed to document based)
  • Customer on site
  • a customer representative, domain literate and
    empowered to make decisions
  • Short lifecycle (weeks or months, not years)
  • Powerful development environment
  • Rapid development cycle, though automation
  • Continuous integration (builds)
  • Automated test
  • Iterative
  • Accommodating change, refactoring
  • Business applications (rather than technical,
    embedded, real-time)
  • New development (rather than maintenance)
  • Availability of test regression suite ?

8
The Bitter Spot (?)
  • Large team
  • Distributed team
  • No empowered customer on site
  • Long development cycle
  • Inefficient development environment (low level of
    automation)
  • Different cultures
  • Low communication bandwidth, reliance on
    documents
  • Waterfall
  • Aversion to change
  • Try to follow a fixed plan

9
Large Project
  • Large projects are not going away
  • Tend to
  • Heavy early planning (and desperately try to
    follow)
  • Relying solely on written artifacts
    (workproducts),
  • including in dialog with customer
  • And in following a defined process
  • Waterfall approach still dominant paradigm
  • Easy on management
  • comforting, false sense of rationality, of
    determinism
  • Similar to other engineering disciplines

10
An Exemplar Large Project
  • Avoid the marginal conditions (go from 12 to 18)
  • Do not compare a bad large project with a good
    small and agile project
  • 200 people or more
  • Distributed
  • Different organizations/companies
  • 2 ½ years before first delivery
  • Iterative lifecycle
  • Good, skilled people
  • Access to customer
  • Access to efficient programming environment
  • New system, architecture not set

11
The Ideal Large ProjectAgile?
  • High bandwidth communication
  • How to achieve beyond 15?
  • Customer
  • How to make it available to 150 people
  • Focus on results
  • How to focus on something getting out in 2 years?
  • Some level of planning and explicit documentation
    will be necessary
  • Break-down the 200 people in
  • 10 teams of 15
  • Establish the conditions of optimal agility
  • Use the 50 others to fill the space in between,
    act as the glue
  • Communication
  • Customer role

12
Setting up the Large ProjectInceptionElaboration


Inception

Elaboration


LCA Milestone
Management team
Management team
Superstructure teams
Architecture

Architecture

team

team

Initial team

Initial team

Prototyping

Prototyping

team

team

Agile teams
time
13
Setting up the Large ProjectConstructionTransiti
on
  • Create 2 types of team
  • Feature teams
  • User oriented
  • Infrastructure teams
  • Provider of common services to feature teams




Construction
Transition
Elaboration



Management team
Management team


Management team

Management team

Architecture team

Architecture team

Feature team 1
Architecture


Architecture
Feature team
1


team

team

Feature team 2

Feature team 2

Prototyping

Prototyping

Feature team 3

Infrastructure

Feature team 3

Infrastructure

team

team

team A

team A

Infrastructure

Infrastructure

team B

team B

integration team

integration team

14
Increased level of ceremony





Construction

Transition
Elaboration
Inception



Management team

Management team

Management team
Management team

  • Feature teams
  • Infrastructure teams
  • glue
  • More planning
  • More documentation
  • Less agility

Architecture team

Architecture team

Feature team 1

Architecture

Feature team
1
Architecture


team

team

Initial team

Initial team

Feature team 2

Feature team 2

Prototyping

Prototyping

Feature team 3

Infrastructure

Feature team 3

Infrastructure

team

team

team A

team A

Infrastructure

Infrastructure

team B

team B

integration team

integration team

15
Where are we?
  • Feature teams and infrastructure teams
  • Organized as agile projects
  • Added a project superstructure to reproduce ideal
    conditions
  • Architecture team
  • Integration team
  • Project management team
  • Increase in level of ceremony
  • More planning involved than with a single agile
    project
  • Keep feedback loop from iterations, react to
    change
  • Not a plan first and then execute to plan

16
Issues with a Federation of Teams
  • Dependencies between teams
  • Teams are customer for each other
  • May need brokering by architecture team to
    avoid too much one-to-one communication
  • Stovepipes
  • Teams as small fiefdoms, building and empire and
    reinventing the wheel
  • Architecture team participate in design reviews,
    planning sessions
  • Imbalance staff and skills
  • Identified by architects, or raised up by team
    lead
  • Communication breakage
  • Too much staff too early
  • Long cycle lack of feedback loop?
  • Rotation of staff, and circulation of architect
  • moral equivalent of pair programming
  • Spreading the culture

17
Dual Rhythm
Example
  • Long cycle
  • Lack of feed back
  • Team lose track of ultimate goal
  • Need intermediate, tangible goals
  • Dual beat

Weekly/biweekly scrum
System increment beat 6 months
Daily scrum
Team increment 1 month
18
Organizing Project Documentation
  • Progressively introducing more explicit
    documentation
  • More efficient use of staff (e.g., architecture
    team)
  • Greater visibility
  • Software (/System) Architecture
  • Project level backlog, Risks and issues
  • Requirements vision and key use cases
  • Key interfaces
  • Recommended practices, project standards (the
    actual concrete process)
  • Reusable elements
  • Overall project plan

19
Iterations and Demonstrable Progress
Uncertainty in Stakeholder Satisfaction Space
Initial State
Initial Plan
Emergence of Requirements, Architecture, Design,
Plans, and Product
20
Examples
  • Ship System 2000 (FS2000)
  • Central software architecture team
  • Iterative development
  • Architecture gt blueprint for organization
  • Canadian Air Traffic Control system (CAATS)
  • Went further than SS200
  • Customer on-site large team of actual users of
    ATC
  • Start prototyping with a small team arch. team
  • Architecture team split at end LCA milestone
  • Played role of facilitator, communication vertex
  • Integration team
  • Progressive introduction of explicit
    documentation

21
Examples (cont.)
  • Rational Softwares Product Group
  • Team of teams (700 total)
  • Distributed 7 sites around the globe
  • Varied culture (acquisition)
  • Centralized
  • Architecture
  • Product definition, with local rep
  • Integration (installer, licensing, etc.)
  • Dual rhythm
  • Major beat 6 months
  • Internal beat monthly

22
A different kind of project management support
  • Single prioritization scheme
  • Virtual SCRUM
  • Bring
  • Requirements (user stories, use cases, etc.)
  • Problems (bugs reports, etc.)
  • Issues (tactical things)
  • Tasks (and other time consumers)
  • Risks
  • Business constraints
  • Resources
  • Process
  • under one single tool to support project managers
    and practitioners
  • Visibility of results, progress, metrics to all

23
Different project management support
  • Scheduling and WBS
  • Earned value
  • Replaced by
  • Tactical backlog support
  • Virtual Scrum
  • Some new players in this space
  • Osellus, Toronto IRIS
  • Ensemble Systems, Richmond BC TaskWorkbench
  • F4 Tech, Boulder, CO ???
  • Big, Seattle area company.

24
Summary
  • Large projects set up as as a federation of agile
    teams
  • Two levels of
  • Communication
  • Organization
  • Project beat
  • Software architecture serves as the blueprint for
    the team structure
  • Emerges during elaboration with a small team
    (or two)
  • Then Architecture Integration teams add
    communication glue
  • Serve as customers
  • Facilitate communication
  • Balance skills, load
  • Foster reuse
  • Assemble final product
  • Gradual introduction of explicit documents
  • Where they support effective communication,
    reduce ambiguity, spread common culture

25
References and further reading
  • P. B. Kruchten, The Rational Unified Process An
    Introduction, 2 ed. Boston Addison-Wesley, 2000.
  • B. W. Boehm, D. Port, M. Abi-Antoun, and A.
    Egyed, "Guidelines for the Life Cycle Objectives
    (LCO) and the Life Cycle Architecture (LCA)
    deliverables for Model-Based Architecting and
    Software Engineering (MBASE)," USC, Los Angeles,
    USC Technical Report USC-CSE-98-519, 1999.
  • K. Schwaber and M. Beedle, Agile Software
    Development with SCRUM. Upper Saddle River, NJ
    Prentice-Hall, 2002.
  • L. Brownsword and P. Clements, "A Case Study in
    Successful Product Line Development," Software
    Engineering Institute, CMU/SEI-96-TR-035, 1996.
  • T. Paine, P. Kruchten, and K. Toth, "Modernizing
    Air Traffic Control through Modern Software
    Methods," in 38th Annual Air Traffic Control
    Association Conference. Nashville, Tenn. ATCA,
    1993.
  • P. Kruchten, "Iterative Software Development for
    Large Ada Programs," in Proc. Ada-Europe
    conference, Montreux, Switzerland, vol. LNCS
    1088, A. Strohmeier, ed. Springer-Verlag, 1996,
    pp. 101-110.
  • P. Kruchten and C. J. Thompson, "An
    Object-Oriented, Distributed Architecture for
    Large Scale Systems," in Proc. of Tri-Ada'94,
    Baltimore, November 1994 ACM.
  • P. Kruchten, "The Software Architect, and the
    Software Architecture Team," in Software
    Architecture, P. Donohue, ed. Boston Kluwer
    Academic Publishers, 1999, pp. 565-583.

26
Thank you
Write a Comment
User Comments (0)
About PowerShow.com