| |
| |
Introduction | |
| |
| |
About This Book | |
| |
| |
Who Should Read This Book? | |
| |
| |
How This Book Is Organized | |
| |
| |
| |
Starting Your Software Project | |
| |
| |
| |
Planning Your Software Project | |
| |
| |
| |
Executing Your Software Project Plan | |
| |
| |
| |
Controlling Your Software Project | |
| |
| |
| |
Closing Your Software Project | |
| |
| |
| |
The Part of Tens | |
| |
| |
Appendix | |
| |
| |
Icons Used in This Book | |
| |
| |
Where to Go from Here | |
| |
| |
| |
Starting Your Software Project | |
| |
| |
| |
Examining the Big Picture of Project Management | |
| |
| |
Defining Software Projects | |
| |
| |
Defining Software Project Management | |
| |
| |
Comparing Projects and Operations | |
| |
| |
Examining Project Constraints | |
| |
| |
Understanding Universal Constraints (Time, Cost, and Scope) | |
| |
| |
Managing time constraints | |
| |
| |
Managing cost constraints | |
| |
| |
Managing the scope | |
| |
| |
Controlling Scope Creep | |
| |
| |
Making Sense of Project Success (Or Failure) | |
| |
| |
Starting and Finishing Software Projects | |
| |
| |
Understanding What Makes Software Project Management So Special | |
| |
| |
Breaking Moore's Law | |
| |
| |
Dealing with Moore | |
| |
| |
Dealing with the first-time, first-use penalty | |
| |
| |
| |
Initiating a Software Project | |
| |
| |
Identifying the Project Purpose | |
| |
| |
Talking to the stakeholders | |
| |
| |
Reaching project consensus | |
| |
| |
Dealing with Politics | |
| |
| |
Moving from Here to There | |
| |
| |
Initiating the project | |
| |
| |
Planning the project | |
| |
| |
Examining project planning approaches | |
| |
| |
Executing the project | |
| |
| |
Controlling the project | |
| |
| |
Closing the project | |
| |
| |
Living with Stakeholders | |
| |
| |
Loving your project team | |
| |
| |
Loving your project sponsor | |
| |
| |
Balancing stakeholder expectations | |
| |
| |
Completing a Project Feasibility Study | |
| |
| |
What feasibility studies do (and don't do) | |
| |
| |
Finding a feasibility consultant | |
| |
| |
Understanding How Executives Select Projects | |
| |
| |
Using the benefit comparison selection model | |
| |
| |
Using a scoring model | |
| |
| |
Facing a murder board | |
| |
| |
Finding a project's ROI | |
| |
| |
Writing the Product Description | |
| |
| |
Making Your Project Wish List | |
| |
| |
Finding the ideal tools | |
| |
| |
Building a dream team | |
| |
| |
Finding a preferred vendor | |
| |
| |
Recognizing Doomed Projects | |
| |
| |
| |
Creating the Software Scope | |
| |
| |
Understanding Product Scope and Project Scope | |
| |
| |
Completing stakeholder analysis | |
| |
| |
Interviewing stakeholders now to avoid surprises later | |
| |
| |
Managing Stakeholder Objectives | |
| |
| |
Knowing the sources of common conflicts | |
| |
| |
Resolving common conflicts | |
| |
| |
Building the Software Scope | |
| |
| |
Dealing with regulations and options | |
| |
| |
Dealing with project constraints | |
| |
| |
Getting to the signature | |
| |
| |
Creating the Project Scope | |
| |
| |
Knowing what the project scope statement must include | |
| |
| |
What a project scope doesn't include | |
| |
| |
Creating a Work Breakdown Structure | |
| |
| |
Creating your very own WBS | |
| |
| |
Making updates to the WBS | |
| |
| |
Using a code of accounts | |
| |
| |
| |
Planning Your Software Project | |
| |
| |
| |
Planning for Communications | |
| |
| |
The Importance of Communicating Effectively | |
| |
| |
Ensuring accurate communication | |
| |
| |
How not to communicate | |
| |
| |
Care and Feeding of Nerds | |
| |
| |
Avoiding Communication Breakdowns | |
| |
| |
Facing the risks of communication meltdowns | |
| |
| |
Managing communications across the enterprise | |
| |
| |
Calculating the Communication Channels | |
| |
| |
Building an Effective Communication Management Plan | |
| |
| |
Knowing the six things every communication plan needs | |
| |
| |
The communication responsibility matrix: Determining who communicates to whom | |
| |
| |
Setting up ten-minute meetings | |
| |
| |
Defining Who Needs What Information | |
| |
| |
What executives want to hear | |
| |
| |
What functional managers need to hear | |
| |
| |
What your project team needs to hear | |
| |
| |
What you need to hear | |
| |
| |
Defining When Communication Is Needed | |
| |
| |
Creating a communication schedule | |
| |
| |
Hosting team and stakeholder meetings | |
| |
| |
Defining Communication Modalities | |
| |
| |
Modalities for formal communication | |
| |
| |
Modalities for informal communication | |
| |
| |
Automating communications | |
| |
| |
| |
Planning for Software Project Risks | |
| |
| |
Identifying Pure and Business Risks | |
| |
| |
Dealing with pure risks in software projects | |
| |
| |
Assessing business risks | |
| |
| |
Accepting everyday technology risks with your software project | |
| |
| |
Determining Stakeholder Risk Tolerance | |
| |
| |
Mitigating Risks Early On | |
| |
| |
Managing Risks in Your Organization | |
| |
| |
Identifying risks | |
| |
| |
Ranking risks | |
| |
| |
Relying on Quantitative Analysis | |
| |
| |
Creating a Contingency Reserve | |
| |
| |
Using Software Models for Risk Management | |
| |
| |
Using the waterfall model | |
| |
| |
Using the spiral model | |
| |
| |
Using the V model | |
| |
| |
Using the scrum development model | |
| |
| |
Preparing a Risk Response Plan | |
| |
| |
Avoiding risks | |
| |
| |
Transferring risks | |
| |
| |
Mitigating risks | |
| |
| |
Accepting the risks | |
| |
| |
Examining Risk Responses and Impacts | |
| |
| |
Handling the ripple effect of risk response | |
| |
| |
Getting to say, "I told you so!" | |
| |
| |
| |
Planning for Software Quality | |
| |
| |
Defining Quality | |
| |
| |
Referring to the product scope | |
| |
| |
Referring to the project scope | |
| |
| |
Avoiding gold-plated software | |
| |
| |
Examining quality versus grade | |
| |
| |
Working with a Quality Policy | |
| |
| |
Working ISO programs | |
| |
| |
Getting a Total Quality Management workout | |
| |
| |
Slipping into the sixth sigma | |
| |
| |
Using homegrown, in-house quality solutions | |
| |
| |
Balancing Time, Cost, and Quality | |
| |
| |
Examining optimal quality | |
| |
| |
Considering quality when making changes | |
| |
| |
| |
Building the Project Team | |
| |
| |
Determining Your Project Needs | |
| |
| |
Revisiting the work breakdown structure | |
| |
| |
Creating a roles and responsibilities matrix | |
| |
| |
Finding the Talent | |
| |
| |
Asking the Right Questions (In the Right Way) | |
| |
| |
Asking questions that facilitate resource management | |
| |
| |
Asking questions that facilitate leadership potential | |
| |
| |
Finding a star | |
| |
| |
Working with organizational structures | |
| |
| |
Determining Who Is Really in Charge | |
| |
| |
Functioning in a functional organization | |
| |
| |
Mixing it up in a matrix | |
| |
| |
Prospering in the projectized structure | |
| |
| |
Cooling in a composite structure | |
| |
| |
Hosting Your First Project Team Meeting | |
| |
| |
Working with Organizational Policies | |
| |
| |
| |
Creating Project Time Estimates | |
| |
| |
Organizing Information Before You Build a Timeline | |
| |
| |
Understanding the Importance of a Project Network Diagram | |
| |
| |
Preparing to Create Your PND | |
| |
| |
Determining What May Happen - and When | |
| |
| |
Factoring in external dependencies | |
| |
| |
Putting together all the pieces | |
| |
| |
Relying on network templates | |
| |
| |
Identifying subnets and fragnets | |
| |
| |
Using Historical Information to Complete Inexact Activity Time Estimates | |
| |
| |
Identifying Activity Duration Influencers | |
| |
| |
Documenting project assumptions | |
| |
| |
Documenting project constraints | |
| |
| |
Considering the project risks | |
| |
| |
Considering resource requirements and capabilities | |
| |
| |
Anticipating the first-time, first-use penalty | |
| |
| |
Making the Project Duration Estimate | |
| |
| |
Creating a rough order of magnitude estimate | |
| |
| |
Creating an analogous estimate | |
| |
| |
Creating a parametric estimate | |
| |
| |
Estimating Do's and Don'ts | |
| |
| |
Using PERT for the Most Accurate Estimates | |
| |
| |
Knowing What to Say if the Boss Wants an Estimate Now | |
| |
| |
Understanding the Way PND Paths Interact | |
| |
| |
Calculating the critical path | |
| |
| |
Calculating float | |
| |
| |
Applying float to the project | |
| |
| |
Creating the Project Schedule | |
| |
| |
Working with the project calendar | |
| |
| |
Working with a resource calendar | |
| |
| |
Using resource-leveling heuristics | |
| |
| |
Crashing and fast tracking your project | |
| |
| |
| |
Building Your Project Budget | |
| |
| |
Creating Cost Estimates | |
| |
| |
Using the right resources (and using them wisely) | |
| |
| |
Creating a rough estimate | |
| |
| |
Creating a budget estimate | |
| |
| |
Creating a definitive estimate | |
| |
| |
Creating an Accurate Estimate | |
| |
| |
Considering Project Profitability | |
| |
| |
Planning for Contingencies | |
| |
| |
Controlling Project Costs | |
| |
| |
Understanding accounting blue dollars | |
| |
| |
Understanding work-for-hire accounting | |
| |
| |
Following simple strategies to manage project expenses | |
| |
| |
Having More Project than Cash | |
| |
| |
Completing root cause analysis | |
| |
| |
Reducing the project scope | |
| |
| |
Begging for cash | |
| |
| |
Recognizing Budgetary Problems Before You Get to the Root Cause Analysis Stage | |
| |
| |
Dealing with a Budget Problem that Your Bosses Know about (But Haven't Addressed) | |
| |
| |
| |
Executing Your Software Project Plan | |
| |
| |
| |
Working the Project Plan | |
| |
| |
Authorizing the Project Work | |
| |
| |
Creating a work authorization system | |
| |
| |
Using a project management information system | |
| |
| |
Ensuring Quality in Execution | |
| |
| |
Understanding the Interoperability of the Quality Management Plan | |
| |
| |
Following Quality Assurance | |
| |
| |
Following the Quality Policy | |
| |
| |
Managing Software Project Risks | |
| |
| |
Gathering the ingredients for a solid risk management plan | |
| |
| |
Examining typical risks | |
| |
| |
Getting a plan together | |
| |
| |
Gathering information to identify real risks | |
| |
| |
Monitoring and Controlling Risks | |
| |
| |
Managing Secondary and Residual Risks | |
| |
| |
Documenting Risk Management Effectiveness | |
| |
| |
| |
Working with Project People | |
| |
| |
Examining the Phases of Team Development | |
| |
| |
Understanding the life cycle of a typical project team | |
| |
| |
Making a team out of a group of people | |
| |
| |
Training the project team | |
| |
| |
Doing Some Fun Team-Building Exercises | |
| |
| |
Managing Project Conflicts | |
| |
| |
Dealing with stakeholders | |
| |
| |
Dealing with project team members | |
| |
| |
Documenting project conflicts and resolutions | |
| |
| |
Using Your Super Magic Project Manager Powers | |
| |
| |
Forcing a decision | |
| |
| |
Relying on expert power | |
| |
| |
Using coercive power | |
| |
| |
Rewarding the project team | |
| |
| |
You and Your Positional Power | |
| |
| |
| |
Procuring Goods and Services | |
| |
| |
Finding a Vendor | |
| |
| |
Using RFIs to solicit vendors | |
| |
| |
Hosting a bidders' conference | |
| |
| |
A day in the life of a bidders' conference | |
| |
| |
Setting up criteria for RFPs | |
| |
| |
Selecting the Vendor | |
| |
| |
Considering market conditions | |
| |
| |
Using a screening system | |
| |
| |
Using the help of others | |
| |
| |
Implementing a weighting system | |
| |
| |
Negotiating for the Best Solution | |
| |
| |
Starting with price | |
| |
| |
Considering time, cost, and quality issues | |
| |
| |
Administering Contracts | |
| |
| |
Selecting the contract type | |
| |
| |
Writing the terms and conditions | |
| |
| |
Creating the statement of work | |
| |
| |
Solving problems and compromising | |
| |
| |
Closing the Vendor Contract | |
| |
| |
Auditing the goods and services | |
| |
| |
Signing off for the procured goods and services | |
| |
| |
| |
Controlling Your Software Project | |
| |
| |
| |
Managing Changes to the Software Project | |
| |
| |
Introducing the Controlling Process Group | |
| |
| |
Controlling the Project Scope | |
| |
| |
Examining the project scope | |
| |
| |
Creating and following a change control system | |
| |
| |
Determining the value of the proposed change | |
| |
| |
Correcting mistakes | |
| |
| |
Controlling Project Costs | |
| |
| |
Managing project cost variances | |
| |
| |
Estimating the cost of change | |
| |
| |
Forecasting variance | |
| |
| |
Controlling the Project Schedule | |
| |
| |
Managing project time variances | |
| |
| |
Estimating impact of change on the project schedule | |
| |
| |
Forecasting schedule variances | |
| |
| |
| |
Using Earned Value Management in Software Projects | |
| |
| |
Defining Earned Value Management | |
| |
| |
Understanding what earned value is (and isn't) | |
| |
| |
Discovering the other pieces of the EV formula | |
| |
| |
Determining a project's worth | |
| |
| |
Discovering the Earned Value Management Formulas | |
| |
| |
Playing with Values | |
| |
| |
Calculating your PV | |
| |
| |
Calculating earned value | |
| |
| |
Calculating your AC | |
| |
| |
Creating a new EAC | |
| |
| |
Determining the estimate to complete the project | |
| |
| |
Uh-oh! What's your variance? | |
| |
| |
Finding your cost and schedule performance indexes | |
| |
| |
| |
Tracking Project Performance | |
| |
| |
Planning Project Metrics | |
| |
| |
Establishing project goals | |
| |
| |
Planning for project metrics | |
| |
| |
Determining realistic project milestones | |
| |
| |
Implementing a Tracking Plan | |
| |
| |
Using project baselines | |
| |
| |
Stressing accuracy in reporting | |
| |
| |
Using a Project Management Information System | |
| |
| |
Tracking Project Performance | |
| |
| |
Using earned value management | |
| |
| |
Creating Pareto charts | |
| |
| |
Creating control charts | |
| |
| |
Communicating Project Performance | |
| |
| |
Relying on the communication management plan | |
| |
| |
Automating project communications | |
| |
| |
Hosting status meetings | |
| |
| |
Sharing good and bad news | |
| |
| |
| |
Closing Your Software Project | |
| |
| |
| |
Finalizing the Project Management Processes | |
| |
| |
Closing the Software Project | |
| |
| |
Completing quality control | |
| |
| |
Completing scope verification | |
| |
| |
Closing Out Vendor Contracts | |
| |
| |
Auditing vendors' work and deliverables | |
| |
| |
Paying the bills | |
| |
| |
Completing the Project (Or at Least Transferring It to Someone Else) | |
| |
| |
Celebrating! | |
| |
| |
Releasing project team members from the project team | |
| |
| |
Case Study: Completing a Project Post Mortem | |
| |
| |
| |
Documenting Your Software Project | |
| |
| |
Using Teamwork When Writing Documentation | |
| |
| |
Completing the Lessons Learned Documentation | |
| |
| |
Getting your historical information together at the beginning of a project | |
| |
| |
Creating a lessons learned spreadsheet at the beginning of the project | |
| |
| |
Organizing Your Lessons Learned Document | |
| |
| |
Organizing the summary of your document | |
| |
| |
Organizing the meat of the document | |
| |
| |
Organizing your references, contributors, and resources | |
| |
| |
Documenting the project's successes | |
| |
| |
Documenting the project's failures | |
| |
| |
Documenting the better approach | |
| |
| |
Offering advice for future project managers | |
| |
| |
Creating the User Manual and Help System | |
| |
| |
Using the project scope as a reference | |
| |
| |
Establishing operational transfer | |
| |
| |
Avoiding helpless help systems | |
| |
| |
| |
The Part of Tens | |
| |
| |
| |
Ten Ways to Make Your Software Project Crash and Burn | |
| |
| |
Failing to Plan | |
| |
| |
Ignoring Risk Management | |
| |
| |
Letting Your Ego Lead the Project | |
| |
| |
Letting Your Iron Triangle Melt | |
| |
| |
Hiding from the Project Team | |
| |
| |
Hovering over the Project Team | |
| |
| |
Creating Unrealistic Schedules | |
| |
| |
Consistently Being Inconsistent | |
| |
| |
Doing Nothing | |
| |
| |
Being a Wimp | |
| |
| |
| |
Ten Ways to Make Any Software Project Better | |
| |
| |
Asking the Right Questions | |
| |
| |
Being a Good Communicator | |
| |
| |
Showing Your Leadership Skills | |
| |
| |
Creating the Right Project Plan | |
| |
| |
Finding the Correct Sponsor | |
| |
| |
Recognizing Failure Before It Arrives | |
| |
| |
Planning, Planning, and a Little More Planning | |
| |
| |
Documenting Your Project Even if You Don't Want To | |
| |
| |
Hosting a Successful Project Meeting | |
| |
| |
Establishing Project Rules Before the Project Begins | |
| |
| |
Communicating Good and Bad News | |
| |
| |
| |
Formal Project Management Training and Certification | |
| |
| |
Getting Up Close and Personal with the Project Management Institute | |
| |
| |
Finding Out Whether the Project Management Professional Certification Is for You | |
| |
| |
Understanding what a PMP certification says to others | |
| |
| |
Understanding what the PMP certification gets you | |
| |
| |
Getting started | |
| |
| |
What Is the CAPM Certification? | |
| |
| |
Deciding between the PMP and the CAPM | |
| |
| |
Index | |