Monday, December 11, 2006

OOP 14

Art of Software Project Management
3 Variables:
  1. Features (Scope)
  2. Quality
  3. Time

Project teams often fail to manage the tradeoffs of the 3 variables.

Can you exchange more people for less time? Remember The Mythical Man Month, by Brooks?

http://en.wikipedia.org/wiki/The_Mythical_Man-Month

If Done = Features X Quality, what is Done's tradeoff with time?

How long will it take to do X?

Everyone is thinking (not doing anything) about something that doesn't exist yet.

Collective optimism augments the responsible developer's ego to arrive at an unrealistic timeframe.

Would you rather have 10 things 100% done or 20 things 50% done?

How do you measure done? Doneness is a bit intangible.

How do you measure bug density?

When measuring each developer's doneness, don't forget to account for the integration, compile, and testing time.

Drive-To-Release includes integration, compiling, testing, and hopefully a url where you can go and run the code to date.

Why do you get so much productivity in the last 24 hours before a due date?

  • Requirements
  • Use Cases - problems the user needs solved

Concrete use cases keep the design team grounded.

Chad Salinas at Stanford dot edu