<<Project Name>>

Development Plan

 

Customer Name

 

 

 

Directions for using template:

Read the Guidance (Arial blue font in brackets) to understand the information that should be placed in each section of this template. Then delete the Guidance and replace the placeholder within <<Begin text here>> with your response. There may be additional Guidance in the Appendix of some documents, which should also be deleted once it has been used.

 

Some templates have four levels of headings.  They are not indented, but can be differentiated by font type and size:

You may elect to indent sections for readability.

 

 

 

 

Author

 

Author Position

 

Date

 

 

 

 

 

Version: 1.0

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ó 2002 Microsoft Corporation. All rights reserved.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Microsoft and Visual Basic are either registered trademarks or trademarks of Microsoft in the United States and/or other countries.

 


 

Revision & Sign-off Sheet

Change Record

Date

Author

Version

Change Reference

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reviewers

Name

Version Approved

Position

Date

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Distribution

Name

Position

 

 

 

 

 

 

 

 

 

Document Properties

Item

Details

Document Title

Development Plan

Author

 

Creation Date

 

Last Updated

 

 


 


Table of Contents

Summary

Development Objectives

Overall Delivery Strategy

Tradeoff Approach

Key Design Goals

Development and Build Environment

Guidelines and Standards

Naming

Coding

Versioning and Source Control

Daily Build Process

Roadmap

Components

Component Descriptions

Component Teams

Component Design

Component Acquisition and Development

Component Quality

Configuration and Development Management Tools

Tool 1

Description

Team

Risk Management

Tool 2

Description

Team

Risk Management

Reuse

Design Patterns

Development Team Training

Development Team Support


 

 


 

[Introduction to the Template

 

Description: The Development Plan describes the solution development process used for the project. This plan compliments the functional specifications that provide the technical details of what will be built. This plan provides consistent guidelines and processes to the teams creating the solution.

 

Justification: Documenting a development process indicates that the team has discussed and concluded on a consistent structure and direction to be used during the development process. This documentation allows developers to be productively focused on creating the solution. Development guidelines and standards promote meaningful communication among the team(s), as they will reference a common approach and processes. It also facilitates reuse among different groups and minimizes the dependency upon one individual or group.

 

{Team Role Primary: Development; The Development Role manages the process of creating the development plan. The focus of the Development Role during this process is to consider how key aspects of the development process should be undertaken. This may include incorporating existing standards and protocols (coding standards, architecture references, etc.) that are required by participating organizations. It may also include establishing trade-off priorities and budget restrictions.

 

Team Role Secondary: Program Management provides input to the overall delivery strategy, key design goals, and trade-off approach. As Program Management is responsible for managing the overall solution design, it must verify that the development plan can meet the goals and requirements of the entire solution and that key development goals and processes are captured and prioritized appropriately. Test needs to understand the development approach and how they will work with the development team. Test will need details on the daily build process and the order in which components will be built in order to develop a viable test plan.}]


 

Summary

[Description: Provide an overall summary of the contents of this document.

 

Justification: Some readers may need to know only the highlights of the plan, and summarizing creates that user view. It also enables the full reader to know the essence of the document before they examine the details.]

<<Begin text here>>

 

Development Objectives

[Description: The Development Objectives section defines the primary drivers that were used to create the development approach and the key objectives of that approach. 

 

Justification: Identifying the drivers and development objectives signals to the customer that Microsoft has carefully considered the situation and created an appropriate development approach.]

<<Begin text here>>

 

Overall Delivery Strategy

[Description: The Overall Delivery Strategy section describes the overall approach to delivering the solution. Potential approaches could be a staged delivery, “depth-first,” “breadth-first,” “features then performance,” etc.

 

Justification: Considering and concluding on delivery options demonstrates that the team has assessed the business and technology environments and matched those with an appropriate delivery strategy.

 

{Team Role Primary: Product Management contributes to the overall delivery strategy since it must align with customer expectations. Program Management provides direction for the overall delivery strategy based on the content of the vision/scope document. Development provides input to the overall delivery strategy based on the content of the functional specifications documents.

 

Team Role Secondary: Test uses the overall delivery strategy to structure their test plan.}]

<<Begin text here>>

 

Tradeoff Approach

[Description: The Tradeoff Approach section defines the approach that will be taken for making design and implementation trade-off decisions (e.g. trade features for schedule, trade features for performance, etc.).

 

Justification: The content of this section sets the guidance for making trade-offs throughout the project. These trade-offs should be established up front with the customer and then be reassessed throughout the life of the project.]

<<Begin text here>>

 

Key Design Goals

[Description: The Key Design Goals section identifies the key design goals and their priority. Examples of design goals include:

 

 

Justification: Identifying and prioritising design goals ensures that the team has carefully considered the business requirements and converted those into a framework that provides context for the overall development strategy.]

<<Begin text here>>

 

Development and Build Environment

[Description: Te Development and Build Environment section describes the development and build environment and how it will be managed. Include information on such things as source code control tools, design tools requirements, OS, or other on-board software installed. You may put the description of the environment infrastructure in the Deployment plan instead.

 

Justification: A plan for creating the development and build environment will ensure that it will be put in place before development begins. A plan for managing the environment ensures that it is stable and supportive to the development and build processes.

 

{Team Role Primary: Release Management is responsible for ensuring that the development and build environment aligns with the existing and planned infrastructure. In situations where release provides specific input into the development plan, then traceability of this input must be mapped back to the deployment plan.

 

Team Role Secondary: Development will verify that the development and build environment meets the needs for their tools.}]

<<Begin text here>>

 

Guidelines and Standards

[Description: The Guidelines and Standards section lists and provides references to all standards and guidelines to be used by the project. Add addition sub-sections as needed for the project.

 

Justification: Establishing guidelines and standards before development work begins ensures that all development team members are made aware of the expectations placed upon them.]

Naming

[Description: The Naming section lists and provides references to the naming conventions used for the project.]

<<Begin text here>>

 

Coding

[Description: The Coding section lists and provides references to the coding conventions used for the project.]

<<Begin text here>>

 

Versioning and Source Control

[Description: The Versioning and Source Control section describes how versioning and source control will occur. This should include identification of the specific tool that will be used and how developers are expected to use it.

 

Justification: Establishing these processes before development work begins ensures that all development team members are made aware of the expectations placed upon them.]

<<Begin text here>>

 

Daily Build Process

[Description: The Daily Build Process section describes the incremental and iterative approach for developing code as well as for “builds” of hardware and software components. It also describes how the daily build process will be implemented.

 

Justification: The daily build process ensures the stability of the total solution, through the use of ample test data, before it is released into production. Frequent builds provide validation that all of the code is compatible and allows the various sub-teams to continue their development and testing iterations.

 

{Team Role Primary: Development drives the daily build process. This should be based on well-defined, documented processes in conjunction with versioning and source control.

 

Team Role Secondary: Test needs to understand the daily build process and specifically how they will receive updated builds. This information will be incorporated into the Test plan. Release Management provides input to the daily build process since they are responsible for the infrastructure that makes the builds possible.}]

<<Begin text here>>

 

Roadmap

[Description: The Roadmap section describes the order in which the solution components will be delivered.]

<<Begin text here>>

 

Component

Description

Critical Dates

Team (Owner)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Components

[Description: The Components section provides a high-level description of the set of solution components and how they will be developed.

 

Justification: This section provides the work breakdown structure for the development process. It ensures that all development team members are clear on their role and responsibilities, the methods to be used for their tasks, and how the tasks results will be assessed for quality.]

 

Component Descriptions

[Description: The Component Descriptions section describes all key components in the solution, including their purpose, history, and references to their specifications.]

<<Begin text here>>

Component Teams

[Description: The Component Teams section identifies who will be responsible for developing each component.]

<<Begin text here>>

Component Design

[Description: The Component Design section provides an outline of the design process for each component.]

<<Begin text here>>

Component Acquisition and Development

[Description: The Component Acquisition and Development section identifies any components that are to be acquired, identifies their sources, and shows how they fit into the solution. It also describes the processes and the procedures used to integrate acquired and built solution components together.]

<<Begin text here>>

Component Quality

[Description: The Component Quality section describes the measures for ensuring that all components meet quality expectations. It includes a description of the following processes:

 

<<Begin text here>>

 

Configuration and Development Management Tools

[Description: The Configuration and Development Management Tools section identifies all the development tools the team will employ over the project’s lifespan. This should include tools for all phases and dimensions of the project (development, testing, documentation, support, operations, deployment, etc.)

 

Justification: All team members should consistently apply the development tools. Selecting the tools during the planning phase ensures this consistency.]

<<Begin text here>>

 

Sample tool table:

 

 

Microsoft Internet Explorer

Microsoft Internet Information Server

Microsoft COM+

Microsoft SQL Server

User Service Components

Tools: VisualStudio.Net, Visual Basic 6.0,
Visual C++ 6.0

Technology:  DHTML, VBScript, ActiveX Controls

Tools: VisualStudio.Net

Technology:  ASP.Net, VBScript

Not Applicable

Not Applicable

Business Service Components

Tools: Visual Basic 6.0

Technology: ActiveX Controls

Not Applicable

Tools: Visual Basic 6.0

Technology: COM, ActiveX Data Objects (ADO)

Not Applicable

Data Service Components

Not Applicable

Not Applicable

Tools: Visual Basic 6.0

Technology: COM, ActiveX Data Objects (ADO)

Tools: Visual Studio 6.0

Technology: SQL, Stored Procedures

Deployment Tools

Sysprep

 

 

Erwin

Testing Tools

AppCenter Test

AppCenter Test

AppCenter Test

AppCenterTest

 

 

Tool 1

Description

[Description: The Description section provides a description of Tool 1 and its application.]

<<Begin text here>>

 

Team

[Description: The Team section identifies who will be utilizing the tool.]

<<Begin text here>>

 

Risk Management

[Description: The Risk Management section identifies the risks associated with this tool and any necessary plans to reduce or mitigate the risks.]

<<Begin text here>>

 

Tool 2

Description

[Description: The Description section provides a description of Tool 2 and its application.]

<<Begin text here>>

 

Team

[Description: The Team section identifies who will be utilizing the tool.]

<<Begin text here>>

 

Risk Management

[Description: The Risk Management section identifies the risks associated with this tool and any necessary plans to reduce or mitigate the risks.]

<<Begin text here>>

 

Reuse

[Description: The Reuse section describes the overall approach for reusing solution components.]

<<Begin text here>>

 

Design Patterns

[Description: The Design Patterns section identifies the design patterns (templates) the team will use for this project and it identifies their sources. The team may acquire design patterns from both external and internal sources and they may create new design patterns.]

<<Begin text here>>

 

Development Team Training

[Description: The Development Team Training section identifies the training necessary for the development team to ensure members will be successful developing the solution.

 

Justification: Planning for any necessary training early in the project will ensure that sufficient time and resources are budgeted. This planning will also identify project tasks (training) that must occur before development work begins.]

<<Begin text here>>

 

Development Team Support

[Description: The Development Team Support section identifies the various types of support the development team will require, the sources of that support, the amount of support of each type they will require, and the estimated schedule for support.

 

Justification: The early identification of support requirements will ensure that they are in place before development work begins.]

<<Begin text here>>