Description
"If you're looking for solid, easy-to-follow advice on estimation, requirements gathering, managing change, and more, you can stop now: this is the book for you."
--Scott Berkun, Author of The Art of Project Management
What makes software projects succeed? It takes more than a good idea and a team of talented programmers. A project manager needs to know how to guide the team through the entire software project. There are common pitfalls that plague all software projects and rookie mistakes that are made repeatedly--sometimes by the same people! Avoiding these pitfalls is not hard, but it is not necessarily intuitive. Luckily, there are tried and true techniques that can help any project manager.
In Applied Software Project Management, Andrew Stellman and Jennifer Greene provide you with tools, techniques, and practices that you can use on your own projects right away. This book supplies you with the information you need to diagnose your team's situation and presents practical advice to help you achieve your goal of building better software.
Topics include:
- Planning a software project
- Helping a team estimate its workload
- Building a schedule
- Gathering software requirements and creating use cases
- Improving programming with refactoring, unit testing, and version control
- Managing an outsourced project
- Testing software
Jennifer Greene and Andrew Stellman have been building software together since 1998. Andrew comes from a programming background and has managed teams of requirements analysts, designers, and developers. Jennifer has a testing background and has managed teams of architects, developers, and testers. She has led multiple large-scale outsourced projects. Between the two of them, they have managed every aspect of software development. They have worked in a wide range of industries, including finance, telecommunications, media, nonprofit, entertainment, natural-language processing, science, and academia. For more information about them and this book, visit http://www.stellman-greene.com.
Table of Contents
Preface
1. Introduction
Tell Everyone the Truth All the Time
Trust Your Team
Review Everything, Test Everything
All Software Engineers Are Created Equal
Doing the Project Right Is Most Efficient
Part I: Tools and Techniques
Part II: Using Project Management Effectively
Part One. Tools and Techniques 1
Software Project Planning
Understand the Project Needs
Create the Project Plan
Diagnosing Project Planning Problems
3. Estimation
Elements of a Successful Estimate
Wideband Delphi Estimation
Other Estimation Techniques
Diagnosing Estimation Problems
4. Project Schedules
Building the Project Schedule
Managing Multiple Projects
Use the Schedule to Manage Commitments
Diagnosing Scheduling Problems
5. Reviews
Inspections
Deskchecks
Walkthroughs
Code Reviews
Pair Programming
Use Inspections to Manage Commitments
Diagnosing Review Problems
6. Software Requirements
Requirements Elicitation
Use Cases
Software Requirements Specification
Change Control
Introduce Software Requirements Carefully
Diagnosing Software Requirements Problems
7. Design and Programming
Review the Design
Version Control with Subversion
Refacto