Scheduling
Notes for chapter 9 of "Rapid Development" by Steve McConnell.
What's does scheduling have to do with Rapid Development? It has to do with creating an environment that isn't characterized by hasty, error-prone decision making and is conducive to effective planning, thoughtful design, and time-saving quality assurance.
Note: time planning is not to find a short-cut solution to the task, which always leads to a nasty outcome embrassing yourself, instead, it is to look for a effective way to the task with better quality.
1. Overly optimistic scheduling
This is a tradition in software development.
WinWord example: Bill Gates wanted it to be done in 12 months, it ended up with 5 years. The aggressive schedule came out with 4 project lead, 3 quitted because of schedule pressure, and 12 months to stabilize the product(normally 3 month).
Reasons for overly optimistic scheduling:
- External deadline;
- Manager or customers' refusal;
- Manager/developer underestimate the oost;
- Management/sales underestimate;
- New features piled up;
- Poorly estimation
Effects:
- Schedule accuracy;
- Quality of project planning;
- Adherence to plan;
- Underscoping the project;
- Project focus;
- Customer relations;
- Premature convergence;
Excessive schedule pressures on manager and developers.
- Motivation;
- Gambling;
- Creativity;
- Burnout;
- Turnover;
- Long-term rapid development;
- Relationship between developers and managers;
The bottom line: It just doesn't work.
2. Beating schedule pressure
Schedule pressure produces damaging. short-term thinking on 2 levels:
- Local level, short-cut-taking on specific projects and damage them;
- Global level, fire-fighting mentality about schedule pressure itself.
3 factors causing the pressure:
- Wishful thinking
- Little awareness of the software estimation tory or the real effect of overly optimistic scheduling
- Poor negotiating skill: developers are good at estimation, but poor at defending their estimate.
How to negotiate effectively? principled negotiation: face the brutal facts, and take win-win alternatives, keep the schedule, cost, and product in balance.
- Separate the People from the Problem: improve the relationship with ur manager/customer and be cooperative;
- Focus on interests, not positions;
- Appeal to true development speed: be firmly connected to reality and realistic schedule
- Appeal to increasing the chance of success;
- Invoke your organization's track record: not to make same mistakes again?!
- Invent options for mutual gain;
- Product: +/- features
- Resources: +staffing, tools, expense
- Schedule: coarse estimates, set goad instead of deadline, staged delivery.;
- Management: overtime pay, bonus, etc
- Insist on using objective criteria
- don't negotiate the estimate itself: talk about the input,.
- insist that the estimate be prepared by a qualified party.
- insist on a rational estimation process: nail down the details, don't provide unrealistic precision, reestimate after changes.
- weather the storm: endure the thunderstorm of a unwelcome estimate earlier, the better.
0 Comments:
Post a Comment
<< Home