Team Software Project (TSP) July 17, 2007 Cycle 2 Launch Teams, Leadership & Death Marches 7/17/2007 SE 652- 2007_7_17_Peopleware_DeathMarch.

Download Report

Transcript Team Software Project (TSP) July 17, 2007 Cycle 2 Launch Teams, Leadership & Death Marches 7/17/2007 SE 652- 2007_7_17_Peopleware_DeathMarch.

Team Software Project (TSP)
July 17, 2007
Cycle 2 Launch
Teams, Leadership &
Death Marches
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
1
Due today
Cycle 2 Launch:
Cycle 2 Project Plan
Cycle 2 Measurement Plan
Updated Cycle 2 Project & Process docs based on Cycle 1 experience & audit
Presentation of Features & Measurement Constructs
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
2
Remaining Lectures Plan/Discussion
July 17 – Cycle 2 Launch
Cycle 2 Launch, Project & Measurement Planning
Peopleware Topics: Management, Teams, Open Kimono, Quality, Hiring/Morale,
Death March Projects (time permitting)
July 24 – Cycle 2 Requirements Complete
Cycle 2 Requirements
Death March Projects continued
Process topics – CMMI, TL-9000, ISO
July 31 – Cycle 2 Implementation Complete
System Test Plan Baselined
Cycle 2 Design & Implementation
Process topics – CMMI Details
August 7 – Cycle 2 Test Complete
Cycle 2 Test Complete
Other topics TBD
August 14 - Course Review
Cycle 2 Post-Mortem Complete
Course Review
Final
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
3
Team Cycle 2 Presentations
Peopleware
Production vs. Development Objectives
Production
Development
Squeeze out errors
Occasional mistakes natural & healthy
No goofing on the job
Self motivation, want creativity, …
Interchangeable workers
Not interchangeable, want uniqueness
Optimize steady state
Project always in a state of flux
Standardize procedures
Some standardization, but …
Eliminate experimentation
Selective experimentation is good
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
6
Thinking Time
Brainstorming
Investigating new methods
Avoiding tasks
Reading
Training
Goofing off
When time pressure is greatest, need to learn to do work less of the time and think
about the work more…why?
Industry tends to focus on doing something …. Anything!
Development stat: 5% of project staff time spent on planning, investigating, new
methods, training, reading books, estimating, budgeting, scheduling &
allocating personnel combined!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
7
View of Management
Management about getting people to work harder
Even (especially) at expense of personal lives
Management is about “kicking ass”
Parkinson’s Law:
“work expands to fill the time allotted to it”
Software Development Corollary:
Only way to get work done is to set an impossibly optimistic delivery date
Development workers tend to be self motivated
Treating people as Parkinsonian workers only demeans & demotivates
In fact, bad estimates are a major source of demotivation
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
8
Management’s True Role
If management’s role is not to look over people’s shoulders & kick …
What is it’s role?
A manager’s function is not to make people work, but to make it possible
for people to work.
What about leadership?
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
9
Overtime
Productivity improvement methods
Work associates harder
Mechanize product development
Compromise quality
Standardize procedures
Side effects:
Reduces job satisfaction
Increases turnover
Example: Data General Eagle project (Soul of a new machine)
Incredible achievement, entire team quit afterwards
Assertion: people under time pressure don’t work better, they just work faster!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
10
Quality
Associate self-esteem
Quantity vs. quality?
Workers under extreme time pressure sacrifice quality
Lack of trying?
No! Lack of options!
Myth: some markets don’t give a damn about high quality
Truth: quality, far beyond that required by the end user is a means to higher
productivity
Crosby – “letting builder set a satisfying quality standard will result in a
productivity gain sufficient to offset the cost of the improved quality.”
Note: “quality – if time permits”, assures no quality at all will sneak into product
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
11
Silver Bullet Myths
New trick will send productivity soaring!
Other projects seeing gains of 100% - 200%!
Technology moving so swiftly that you are being passed by!
New languages can give you huge gains!
Due to incoming project backlog, need to double productivity ASAP!
Isn’t it time to automate the software development?
People will work better under a lot of pressure!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
12
Open Kimono
Trust
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
13
Team Exercise
Prisoner’s Dilemma
Two people have been arrested separately, and are held in separate cells. They are not allowed to communicate.
Each is told the following:
We have arrested you and another person for committing this crime together.
If you confess, and the other person confesses, we will reward your assistance to us, and your sparing us the
expense of a trial, by sentencing you both fairly lightly: 2 years of prison.
If you don't confess, and the other person also doesn't confess, we will not be able to convict you, but we will
be able to hold you here and make you as uncomfortable as we can for 30 days.
If you confess, and the other person does not, we will show our appreciation to you by letting you go free. We
will then take your testimony, in which you will implicate the other person as your accomplice, and put that
person in prison for 40 years.
If you don't confess, and the other person does, that person's testimony will be used to put you in prison for 40
years; your accomplice will go free in exchange for the testimony.
Each of you is being given the same deal. Think about it.
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
14
Open Kimono Management
Take no steps to defend against people you put into positions of trust
& all of the people working for you are in positions of trust
Response: teams typically respond by living up to that trust
Non-Open Kimono
Check-up / Parkinsonian patrol
Open Kimono
Off-premise development meetings w/o supervision
The best managers take chances on their people
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
15
“Most organizations don’t set out consciously to kill teams …
They just act that way.”
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
17
Death March Projects
From Death March by Edward Yourdon
Death March
Odds of a software project delivering on its committed schedule, budget &
capabilities is extremely poor
Average Project
6-12 months behind schedule
50-100% over budget
But Why?
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
19
How Do We Get Here?
Start:
High risk factors:
• Optimism
• Wishful thinking
Unrealistic schedule & budget
Realistic plan, but then it goes downhill
e.g. user adds requirements
Results:
Overtime
Wasted weekends
Emotional & physical burnout before the end
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
20
Key Takeaway
Confronted with joining a Death March project,
Recognize & understand your own motivations, so
you can make a rational decision to join the team or look elsewhere for
your next job.
You always have options!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
21
Death March Defined
Project where an unbiased objective risk assessment (including technical,
interpersonal & legal risks) determines the likelihood of failure at
greater than 50%.
Death March projects are the norm, not the exception!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
22
Common Root Causes
Compressed schedule (e.g. < ½ time estimated by a rational process)
½ Staff of what a comparable project typically requires
½ Budget & associated resources
Twice the functionality, feature & performance requirements given
schedule, staff & budget constraints
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
23
Types of Death March Projects
Size
Small
< 10 people
3-6 months
Most common & greatest chance of success
How: small, tight knit, motivated group can totally sacrifice their personal lives, provided …
They know the hardships (nights & weekends) will end in a few months
Medium
20-30 people
1-2 years
Little chance of success
Large
100-300 people
3-5 years
No chance of success
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
24
Reasons
Politics … ugly politics!
Naïve promises
Hysterical Optimism
e.g. Everyone in organization desperately wants to believe that a complex project, never
before completed in < 3 years, can somehow be finished in 9 months.
Naïve optimism of youth
No problem, we can do it in a weekend!
Start-up mentality of fledgling, entrepreneurial companies
Intense competition
Markets
Technologies
Government regulations
Unexpected &/or unplanned crises
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
25
Questions?
Why would anyone in his/her right mind agree to work on a death march
project?
If a colleague of yours was to take on the task of managing a death march
project, what is the one thing you would advise him/her to do?
To not do?
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
26
Reasons for signing up
High Risk / High Reward (e.g. Microsoft example)
“Mt Everest” syndrome
For the challenge!
Noble failures may promise glory even if not successful (e.g. Go)
But watch for … pre-determined failures and “so what” value props
Unemployment
Pre-requisite of promotion or future advancement
Bankruptcy
Revenge!
Escape normal company bureaucracy (e.g. skunkworks, Apple’s Mac)*
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
27
Politics
The often internally conflicting interrelationships among people in a society.
Intrigue or maneuvering within a political unit or group in order to gain
control.
Source: The American Heritage® Dictionary of the English Language, Fourth Edition
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
28
Politics
Politics are normal
Death March politics tend to be more intensive & unhealthy
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
29
Identifying Stakeholders
Why?
Need to know friend from foe
Owner (potential friend)
Customer
Shareholders
Stakeholders
Champions
Probably more important to project’s success than any technology or methodology
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
30
Happiness
Death March Project Types
Kamikaze
Mission
Impossible
Suicide
Ugly
Success Probability
Happiness Gauge
Would you do this again?
Mission Impossible
High team morale, thrive on challenge, dream of rewards of success
Kamikaze
Go type project, happiness derived from technology or team dynamics
Ugly
Low team morale, heavy duty politics
Suicide
Everyone doomed, everyone miserable
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
31
Negotiations
Negotiations at start of projects tend to be irrational
Why?
Negotiations at 1-2 months prior to deadline tend to be more rational
Customer realizes original deadline, budget & functionality won’t be achieved
But, it’s too late for some project members (e.g. project leader)
“You need to understand your own management’s negotiating stance, if they
love to play roll over, you have to keep them well away from the project.”
Doug Scott
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
32
Mitigation Tactics
Commercial Estimation Tools
50+ available (e.g. SLIM, Checkpoint, Estimacs)
Best estimates, +/- 10%, but Death March projects typically off by 1000%!
Systems Dynamics Models
Prediction of impact from constraint changes
e.g. Overtime: initially output increases, then errors increase & output decreases
Prototyping & Timeboxing
Acceptable Trade-offs
Pose alternatives
80/20 rule
“everybody wants things good, wants them fast & wants them cheap … pick two”
Balancing Time, Resources, Capability
10% change in one variable, change another variable 10%
What happens if greater than 10% change?
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
33
Negotiation Games
Negotiation is a game
Safety factor in most projects is?
But, for Death March projects …
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
34
Basic Negotiation Games
Doubling & add some
Bosses know this one, so they halve it.
But, actually sound logic behind this one
Reverse Doubling
Client / customer gets one estimate
Development team another
Price is Right? (or Guess the # I’m thinking of)
Benefits for boss?
Double Dummy Spit
The X Plus Game
Spanish Inquisition
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
35
Advanced Negotiation Games
Low Bid / What are they prepared to pay
Gotcha!
Smoke & Mirrors / Blinding with science (GIGO rule)
False Precision
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
36
Tactics
Not playing along is risky, but negotiation games can be countered
First, recognize the game
e.g. Price is Right, response “what do you think is a good estimate”
Delay
Use data, sound estimation practices & comparable examples
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
37
You are leading a Death March Project
How do you survive?
People
Choose your own team (if possible)
Superstars?
Well honed Mission Impossible team
Well prepared mere mortals
Pot luck
Prepare for some overtime
Preferably short sprints
Reward the team well if project succeeds
Focus on building a loyal, cohesive & cooperative team
Commitment
Motivation
Rewards
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
39
Teams
Open & honest Communication
Assume no secrets & you won’t get burned
Share everything you can
For stuff you can’t share, say so!
Remember the Peopleware lessons
You need every productivity improving factor you can get
Overall,
Talented people,
Cohesive teams &
Decent working conditions give you the greatest chance of success
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
40
Death March Approaches
Key:
You can’t do everything, so …
Don’t put together a plan or processes that assume you can
(e.g. waterfall)
Solution:
Triage!
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
41
Requirements Management
Ultimately a crisis will occur & reality will hit
Several scenarios could occur:
Fire project manager
Renegotiate schedule
Renegotiate functionality (at which point most WIP gets thrown away)
Alternatively, plan at start
80/20 Rule
Key is to choose the “right” 20%
Approach:
Prioritize (subtly) requirements into must do, should do, could do
At start, identify what will ultimately be thrown away & avoid spending energy on those
items
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
42
Death March Processes
Back to basics
Manage requirements
Initial baseline
Changes – high threshold & very visible
Don’t try out new tools & processes
Agree on & formalize some important processes, then follow them
e.g. source code control, change management, requirements management
Leave other processes ad hoc
Pay careful attention to risk management
e.g. Top 10 list
7/17/2007
SE 652- 2007_7_17_Peopleware_DeathMarch
43