References and Further Reading
Boehm, Barry W. Software Engineering Economics. Englewood Cliffs, N.J.: Prentice-Hall, 1981.
- Chapter 33 deals with factors that affect software productivity and aspects of managing and motivating software developers. Personnel attributes and human factors provide by far the largest opportunity for improving productivity.
Brooks, Frederick P., Jr. The Mythical Man-Month: Essays on Software Engineering, 20th anniv. ed. Reading, Mass.: Addison-Wesley, 1995.
- Just as nine women cannot have a baby in one month, people and time do not exhibit a simple inverse relationship on software projects. In organizations where the managers have not read The Mythical Man-Month, you may find projects staffed with many fractional people. It is a fallacy to assign an engineer to work on four projects at 25 percent time each and expect him to be as productive as if all his time was devoted to a single project.
Brooks, Frederick P., Jr. “No Silver Bullet: Essence and Accidents of Software Engineering,” Computer, Vol. 20, No. 4 (April 1987), pp. 10-19. Reprinted in Software State-of-the-Art: Selected Essays, Tom DeMarco and Timothy Lister, eds. (New York: Dorset House Publishing, 1990), pp. 14-29.
- This essay debunks the myth that the next bit of magical software technology will finally be the one to solve development problems for the long run. Brooks proposes some steps by which an organization can develop the great designers who will determine the technical excellence of software products.
Constantine, Larry L. “Leading Your Team—Wherever It Goes,” Software Development, Vol. 3, No. 1 (January 1995), pp. 26-34.
- Constantine discusses how to become a successful team leader in groups having different cultural paradigms: traditional hierarchy, independent initiative, collaborative negotiation, and alignment with a common vision.
Constantine, Larry L. “Work Organization: Paradigms for Project Management and Organization,” Communications of the ACM, Vol. 36, No. 10 (October 1993), pp. 35-43.
- Constantine presents a four-pole model of organizational paradigms and explores how to apply this framework to the tasks of building teams and leading projects.
DeGrace, Peter, and Leslie Hulet Stahl. The Olduvai Imperative: CASE and the State of Software Engineering Practice. Englewood Cliffs, N.J.: Yourdon Press/Prentice-Hall, 1993.
- This intriguing book is really about two opposing cultural views of software engineering. DeGrace and Stahl discuss approaches for selecting and deploying methods, metrics, and tools in these two types of organizations. They provide a thought-provoking perspective on different schools of software engineering thought, behavior, and values.
DeMarco, Tom, and Timothy Lister. Peopleware: Productive Projects and Teams. New York: Dorset House Publishing, 1987.
- Peopleware is a definitive resource on human issues in software development. In a highly readable style, it covers topics ranging from the factors that affect individual programmer productivity, to ways to build (and destroy) effective teams. Many ideas are presented for improving the work environment to enhance productivity and the quality of work-life. If your engineers are working odd hours to avoid interruptions, or if your project teams never seem to jell, read Peopleware immediately.
Maguire, Steve. Debugging the Development Process. Redmond, Wash.: Microsoft Press, 1994.
- Maguire candidly describes many of the errors he found project leaders making at Microsoft, and he gives concrete recommendations for how to avoid those problem situations. He presents much useful advice about how software engineers and project managers can work smarter, not harder, to achieve superior results.
McConnell, Steve. Code Complete. Redmond, Wash.: Microsoft Press, 1993.
- Chapter 31 addresses personal character issues that affect an individual’s effectiveness as a software engineer. The traits, habits, and attitudes McConnell describes for individuals lay the foundation for an organization-wide software engineering culture.
Weinberg, Gerald M. The Psychology of Computer Programming. New York: Van Nostrand Reinhold, 1971.
- Weinberg addresses aspects of programming as human performance, a social activity, and an individual activity. While software has changed a great deal in the past quarter century, human nature has not. Weinberg provides insight into the ways programmers think and behave, both on their own and in concert with others.
Weinberg, Gerald M. Quality Software Management, Volume 1: Systems Thinking. New York: Dorset House Publishing, 1992.
- This book, first of a four-volume series, includes a discussion of six subcultural patterns of behavior found in software organizations. Weinberg provides guidance to help software managers understand their cultural pattern and work within it to steer their organization from variable software development behaviors toward congruent behaviors.
Weinberg, Gerald M. Quality Software Management, Volume 3: Congruent Action. New York: Dorset House Publishing, 1994.
- Weinberg emphasizes the need for managers to act congruently: They must not only understand the concepts of good software engineering, but also practice them. Weinberg’s insights will help software managers think about their role, behaviors, and management style as they attempt to grow effective development teams.
Whitaker, Ken. Managing Software Maniacs. New York: John Wiley & Sons, 1994.
- Whitaker presents many practical tips about how to hire the right developers, lead them to success, and make the difficult decisions that result in delivering quality products on schedule. Many anecdotes from Whitaker’s extensive experience in the commercial software field provide lessons on how to get development, marketing, management, and quality assurance to work together effectively.
Yeager, Chuck, and Leo Janos. Yeager. New York: Bantam Books, 1985.
- Yeager’s autobiography contains leadership perspectives that apply to software management as well as to military command.
Yourdon, Edward. Decline and Fall of the American Programmer. Englewood Cliffs, N.J.: Yourdon Press/Prentice-Hall, 1992.
- Yourdon grabs your attention by claiming that the high costs and low quality of much American software will lead to outsourcing of software development to programmers in other countries. After this provocative introduction, he presents a solid and highly readable overview of modern software engineering issues: people, processes, methodologies, CASE, software quality assurance, metrics, reusability, and reengineering. Yourdon also is the editor of American Programmer, a monthly magazine that addresses a wide variety of contemporary topics in software development. See the July/August 1990, June 1992, July 1993, December 1994, and January 1995 issues for many good articles dealing with software teams and their cultures.