Software Project Survival Guide

Software Project History Template

Introduction

Describe the software’s purpose, customer, vision statement, detailed objectives, and other general information.

Historical Overview

For each phase, describe the work products produced, milestones, major risks addressed, schedules, staffing levels, and other project planning information.

Describe the following phases:

  • User-interface prototyping and requirements gathering
  • Architectural design
  • Quality assurance planning
  • General stage planning
  • Activities from detailed design through release (including detailed design, construction, system testing, and stage releases) for each stage 1 – n
  • Final software release

Project Data

Describe the organizational structure used, including the executive sponsor, project participants, their roles, and their levels of participation over the course of the project.

The Software Project History should also contain the following hard data about the project:

  • Actual schedule and effort as of the release date
  • Time-accounting data as of the release date
  • Number of subsystems as of the release date
  • Lines of source code as of the release date
  • Lines of reused code as of the release date
  • Amount of media (sound, graphics, video, and so on)
  • Defect count as of the release date
  • Number of changes proposed and accepted as of the release date
  • Graph showing each schedule estimate compared to the actual schedule over time
  • Graph showing each effort estimate compared to the actual effort over time
  • Graph of project’s code growth by week
  • Graph of project’s open and closed defect count by week

Lessons Learned

Describe the lessons learned on the project.

Planning.Were the plans useful? Did the project team adhere to the plans? Was the quality of the project personnel sufficient? Was the number of personnel in each category sufficient?

Requirements.Were the requirements complete? Were they stable or were there many changes? Were they easy to understand, or were they misinterpreted?

Development.How did the design, coding, and unit testing work out? How did the daily build work? How did software integration work? How did the releases work?

Testing.How did the test planning, test case development, and smoke test development work? How did automated testing work?

New Technology.What impacts did new technology have on costs, schedules, and quality? Did managers and developers interpret these impacts the same way?