Discover the fundamental techniques for managing and leading software projects
This book bridges the communication gap between project managers and software developers working toward the common goal of developing successful software products and software systems. It provides the insights, methods, tools, and techniques necessary to understand the basic principles of software project management: planning and estimating, measuring and controlling, leading and communicating, and managing risk. It introduces software development methods, from?traditional (hacking, requirements to code, and waterfall) to iterative (incremental build, evolutionary, agile, and spiral), and illustrates and emphasizes how to tailor the development process to specific projects.
By reading this text and working through the exercises provided in each chapter, readers will learn how software projects differ from other kinds of projects (i.e., construction, agricultural, manufacturing, administrative, and traditional engineering projects), and how the methods and techniques of project management can be modified and adapted for software projects.
Three appendices contain a glossary of terms, which is based on and augments IEEE Standard 610; suggestions for term projects; and an annotated template for preparingsoftware project management plans. Additionally, a URL listed in the Preface directs readers to a Web site that provides supporting materials for the text.
Clearly written and easy to follow, this book serves as an accessible textbook for advanced undergraduate- and graduate-level software engineering courses, as well as a valuable reference for software developers and software project managers.
About the Author
Richard E. (Dick) Fairley, PhD, is founder and Principal Associate of Software Engineering Management Associates (SEMA), a firm specializing in consulting services and training in software systems engineering, software project management, cost estimation, project planning and control techniques, risk management, and process assessment and improvement. He is also an Adjunct Professor of Computer Science and Engineering at Colorado Technical University in Colorado Springs, Colorado. He is a former associate dean, department head, director of software engineering, and professor of computer science at the OGI School of Science and Engineering in Beaverton, Oregon. Dr. Fairley has designed and implemented educational programs in universities and in industry, headed research programs in software engineering, and lectured to and consulted with many companies worldwide.