Pitfalls of Modern Software Engineering [PMSE] by Bruce F. Webster

Copyright 1995, 2007 by Bruce F. Webster. All rights reserved.

Version 0.10 — Last update: 06/18/07

[Back to Political Pitfalls] [up to Part I] [Forward to XXX]

I will govern according to the common weal, but not according to the common will.
— King James I of England (1621)

Technical managers are the women and men in the middle. They serve as a buffer between the requirements of upper management and the efforts of developers. When things work out well, it’s a wonderful job; but when problems arise, it can seem pretty thankless. Technical management is a job that offers strong temptations to err in different directions.

The pitfalls in this chapter deal specifically with technical management of modern software engineering projects, that is, those that rely upon current technologies and/or methodologies. These pitfalls tend to be rooted in three general temptations:

  • wanting to look good to and get along with upper management
  • wanting to trust that your developers are doing as well as they tell you they are
  • wanting to believe that things are progressing as fast as they appear to be

Managers and developers often assume that using a given technology or methodology (“the TOM”) will eliminate, or at least ease, various development bottlenecks. That may very well happen but only with sufficient education in TOM-specific techniques and issues as well as increased discipline in software engineering practices.

In short, modern software engineering requires more discipline, more management, and more training than classic software engineering does. But if you see to these needs and avoid the pitfalls in this chapter, the payoff will be much greater.

Pitfalls in this chapter:

Conclusion

Much has been said so far about the need to train and educate developers for object-oriented development. There is an equal — perhaps an even greater — need to train and educate technical managers, both in object-oriented development and in how to manage modern software engineering projects.

To be a successful manager of modern software engineering projects, you must be able and willing to do these three things:

  • correctly set and manage the expectations of upper management
  • correctly evaluate the skills and progress of your individual developers
  • correctly judge the current state of the project and the required time to completion

That’s a piece of cake, right? All it takes is a lot of studying, a lot of practice, and a lot of experience. Several books and other resources to help you with your studying are listed in the Bibliography; the rest is up to you and your team.

References

Boehm, Barry W. “Software engineering,” IEEE Transactions on Computers. C-25(12), December 1976.
Boehm, Barry W. and Philip N. Papaccio, “Understanding and controlling software costs,” IEEE Transactions on Software Engineering. 4(10), October 1988.
Booch, Grady. “The Booch method: process and pragmatics” in Carmichael, Andy (ed.), Object Development Methods. New York: SIGS Books, 1994.
Brooks, Frederick P., Jr. The Mythical Man-Month. Reading, Mass: Addison-Wesley, 1979.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Fark
  • Reddit
  • Slashdot

Leave a Reply

You must be logged in to post a comment.