![]() |
|
An e-newsletter published by |
October 2007, Vol. 4 No. 8 |
| Welcome to Food for Thought™, an e-newsletter from Software Quality Consulting. I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking this Forward Email link. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link. If you don't wish to receive this newsletter, click the SafeUnSubscribe™ link at the bottom of this newsletter, and you won’t be bothered again. Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to info@swqual.com. |
In This Months’ Topic, I discuss practical techniques to improve your estimating and scheduling skills…
|
|
Estimating and Scheduling for Dummies Part II - Estimating What is it about schedules that cause seemingly rational people to behave so irrationally? How many times has this happened to you…
So you make up a bogus schedule that you know can’t be met. The project starts and eventually encounters problems (what a surprise!). Features are cut and testing time is reduced. The software is released very late, with far too many bugs, and doesn’t have all the promised features. Needless to say, your boss and your customers are not happy. The Games We Play In my recent e-newsletter on Mission Critical Software, I discussed the incredible accomplishments of the Space Shuttle Team in developing highly reliable software for the on-board computers. One of the basic tenets of the Space Shuttle development team was: To deliver grown-up software, As Watts Humphrey [2] observed:
Of all the things software development organizations do, scheduling is one where we rarely behave like grown-ups. Ed Yourdon [1] identified some of the childish scheduling games we play:
People often make commitments to customers to deliver something without consulting the development and test organizations. As a result, the project team has to develop a schedule by working backwards from the end date. This is what I call a “scheduled-backwards” project. On a typical scheduled-backwards project:
What happens on scheduled-backwards projects? Eventually, the schedule slip can’t be ignored so the Project Manager cuts features and cranks up coding. Whatever process the development team was using is abandoned. Design Reviews are cancelled and testing time is drastically cut. Does this sound familiar? The result is everyone loses!
I think it is time to establish some basic scheduling principles… Scheduling Laws of Nature Here are some basic principles that always apply for schedules:
Now that we have identified some problems and basic principles, let’s look at examples of good scheduling skills. Good Scheduling Skills As illustrated in the diagram below…
Once a schedule is created, there WILL BE GAPS between what is desired and what can be accomplished. These gaps result from factoring in targets and commitments. Beware! When a schedule aligns perfectly to the targets and commitments, it usually indicates that this is a scheduled-backwards schedule. Managing the GAPS - the difference between what can be done and what the business would like - is what Project Management is supposed to be about. Good project managers are expert at reconciling these differences and reaching reasonable compromises… Scheduling Best Practices Here are a few examples of scheduling best practices… |
|||||||||
|
Summary As Fred Brooks observed:
Applying basic Principles of Scheduling listed above with the Estimating techniques discussed last month can result in a significant improvement in your ability to become a more Predictable Software Development organization… ‘Til next time… |
Every month in this space you’ll find additional information related to this month’s topic.
|
Every month you’ll find news here about local and national events that are of interest to the software community…
|
Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development™ – so that organizations can consistently deliver quality software with promised features in the promised timeframe. To learn more about how we can help your organization, visit our web site or send us an email. |
I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback… Thanks, |