You are previewing Software Project Management For Dummies®.
O'Reilly logo
Software Project Management For Dummies®

Book Description

  • The increase in project outsourcing has forced traditional programmers to take on the role of project managers and quickly learn how to manage software projects

  • The author discusses all of the essentials in widely accepted project management methodology, from managing programmers to assessing and eliminating risk

  • The book covers the iterative development model, using Microsoft Project 2003, as well as a variety of methodologies including eXtreme, open source, SQA testing, software life cycle management, and more

  • The companion Web site contains tools, case studies and other resources to help even novices get up and running

Table of Contents

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