Developing Great Software - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Developing Great Software

Description:

A 'game' designed to answer questions about productivity ... Peer Review (Walkthroughs, inspections, ...) Growing Productive Teams. A Jelled Team ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 27
Provided by: mikem93
Category:

less

Transcript and Presenter's Notes

Title: Developing Great Software


1
Developing Great Software
  • Lecture 6 July 5,2001
  • Peopleware

2
Once upon a time
  • About 10 years ago, somebody told me that I would
    be obsolete in one year. Something called Case
    was going to replace me.
  • Needless to say it didnt happen
  • Could Programmers be Obsolete in the future?

3
If I was in the fast food business
  • Would want the business to
  • Squeeze out error. Make the machine run as smooth
    as possible
  • Take a hard line about people goofing off
  • Treat workers like interchangeable machines
  • Do things by the book
  • Eliminate experimentation

4
Peopleware says
  • Encourage error. Learn from it
  • Creative people need to goof off at times.
    Software is a creative process
  • Managers that treat people like humans (not
    parts) often reap great productivity
  • Being reactive all the time (concentrating on
    immediate) discourages our inventiveness

5
Parkinsons Law
  • Writing in 1954, British Author C. Northcote
    Parkinson introduced the notion that work expands
    to fill the time allocated to it.
  • In other words, we delay many projects until the
    last minute and then we work feverishly to finish
    them. Even if we start a project early enough, it
    may take all of our time to complete it.
    Regardless, there is a lack of efficiency and
    effectiveness.
  • Managers take advantage of this law by setting
    unreasonable delivery dates

6
Seven false hopes of Software Management
  • 1. New Methodology
  • 2. Silver Bullet Tool
  • 3. Technology is passing us by
  • 4. Changing Programming Languages
  • 5. Backlog will force productivity
  • 6. Automate away the developers
  • 7. Put more pressure on workers

7
Peopleware says
  • 1. There are no Silver Bullets
  • 2. Same as answer 1
  • 3. The discipline of Software Engineering is
    fairly constant (Requirements, ). The hard part
    is in that arena, not technology
  • 4. 5 gain at most
  • 5. Its a myth
  • 6. Human communication towards solving problems
    cant be automated
  • 7. They wont theyll enjoy it less

8
Office Environment
  • Is this your environment?

9
Does this also describe your situation?
  • I get my best work done in the early morning,
    before anybody else arrives
  • In one late evening, I can do two or three days
    worth of work
  • The number 1 problem from a survey stated that
    noise was the biggest problem.

10
Peopleware Code Games
  • A game designed to answer questions about
    productivity
  • 600 Developers from 92 companies participated

11
Individual Graphs
  • Count on best people being 2.5 times better than
    median performer
  • Count on the half that are better-than-median
    outdoing the other half by 21
  • Count on Best people outperforming worst by 101

12
Coding Game Rules
  • A pair (from same company) works on a benchmark
    coding and testing task
  • Participants work in their own work areas
  • Both pair members perform exactly the same work
    (Design, Code , Test)
  • They can use langauge of choice

13
Conclusions
  • They determined that your pair-mate was
    critical. If he/she did well, you did well. If
    they did bad, you were brought down also.
  • The study pointed out that the best performers
    tended to be clustered in the best-performing
    teams

14
Conclusions Continued
  • They determined that workplace and performance
    had a high correlation. Look at the graph below.

15
What did they prove?
  • Better people tend to gravitate towards better
    workplace or does a better workplace mean better
    people?

16
How Developers spend their time
17
Flow Time
  • During single-minded work time, people are
    ideally in a state called flow
  • Flow is deep nearly meditative involvement
  • Usually you are unaware of time
  • General sense of euphoria
  • Can be broken by a single interruption

18
What can you do
  • Close your door!!!
  • Turn off the phone
  • Gently remind your cube mates to be quiet
  • Find some alternative work times

19
The Right People
  • More than anything Great Software requires the
    Right People. The magic formula
  • Get The Right People
  • Make them Happy so they dont want to leave
  • Turn them loose!

20
Getting the Right People
  • Make Sure there is a good fit.
  • Team interview
  • Hold an audition

21
Make them Happy
  • Turnover is a huge problem
  • Retraining Costs
  • Demoralizing effects
  • Why do people leave
  • People view themselves as independent contracters
  • Management treats them like parts

22
Peoplewares view on Methodology
  • A Methodology is a general systems theory of how
    a whole class of thought-intensive work ought to
    be conducted.
  • Comes in the form of a fat book that specifies
    how things should be done
  • Small m methodology is a basic approach that one
    takes to getting a job done.

23
Dont make Methodology an enforcement issue
  • Methodologies seek to force convergence through
    statue. There is usually backlash
  • Better ways to achieve convergence are
  • Training (Show people why something is good)
  • Tools Get some automated aids (VSS, )
  • Peer Review (Walkthroughs, inspections, )

24
Growing Productive Teams
  • A Jelled Team
  • Jelled Team is a group of people so strongly knit
    that the whole is greater than the sum of the
    parts
  • What not to do
  • PeopleWare Pg. 125

25
Signs of a Jelled Team
  • T-Shirts
  • Low Turnover
  • Strong Sense of Identity
  • Sense of Eliteness
  • Obvious enjoyment in their work
  • The Mariners are a great example

26
Ways to make a Crappy team
  • Defensive Management
  • Bureaucracy
  • Physical Seperation
  • Fragmentation of Peoples time
  • Quality reduction of product
  • Phony deadlines
  • Clique control
Write a Comment
User Comments (0)
About PowerShow.com