Process 1: Prepare for Development

 

The first process in building the solution is for the project team to prepare to develop the solution.

Figure 3. Prepare for development

Activities: Prepare forDevelopment

Development begins with preparation. The project team needs to set up a development and test lab, create issue-tracking procedures, and begin test preparations.

The first part of the preparation for development is preparing a development and test lab. Although teams can create individual labs, creating a shared lab with individual workspaces is more conducive to the teamwork required to deliver complex solutions.

A working lab environment allows isolated development and testing of the solution so that it has no impact on production systems. The team develops infrastructure components in the lab—including server configurations, deployment automation tools, and related hardware. Setting up separate development servers that developers can use in isolation is a best practice. It’s important for the entire team to understand that whatever is on the lab servers can become unstable and require reinstallation.

If the organization does not already have a lab environment in place, the project team must build one. The development and test lab should simulate the production environment as close as possible while not actually interacting with it. Although this can be expensive, it is crucial. Otherwise, bugs may go undetected until the solution is deployed in the production environment. Organizations can take advantage of information contained in the organization’s configuration management system (CMS) as an inventory for replicating the production environment.

The team should also prepare procedures for tracking issues and their resolutions. Not only do these procedures provide tracking and status information, they also contain information that operations and support will find invaluable after deploying the solution.

After the lab and issue-tracking procedures are in place, the team can begin test preparations: This includes reviewing the functional specification, preparing test cases, and preparing test scenarios.

The project team should not wait until project planning is finished before beginning this step. The team should set up the lab environment—development workstations, servers, and tools—as plans are being finalized and reviewed in order to avoid delaying the start of the building phase. A backup system should also be established. Thus, this building step overlaps the final processes of project planning.

The following table lists the activities involved in this process. These include:

  • Preparing the development lab.
  • Creating issue-tracking procedures.
  • Preparing to test the solution.

Table 4. Activities and Considerations for Preparing for Development

Activities

Considerations

Prepare the development lab

Key questions:

  • Can the team roles share a common lab? Remember, test should be separate.
  • Is equipment available for building a lab to simulate the production environment?
  • Does Release Management understand the current and planned environment well enough to replicate it in the lab environment?
  • Is an inventory of the hardware in the production environment necessary?
  • Is an inventory of the applications in the production environment necessary?
  • Does the organization have an existing development and test lab?
  • Will the project team use virtualization technology instead of a physical lab?

Inputs:

  • Vision/scope document
  • Functional specification, including:
    • Conceptual design.
    • Logical design.
    • Physical design.
  • Customer baseline, including:
    • Topology diagrams of the production environment.
    • Hardware and software inventory data.

Outputs:

  • Development and test lab, including:
    • Topology diagram for the lab.
    • Lab policies, procedures, and schedules.

Best practices:

  • Teams must usually share files with other teams; thus, construct a lab environment that makes it easy to share files and to access collaboration tools.
  • To avoid surprises, ensure that the lab contains hardware that represents the target hardware for the solution in the production environment.

Create issue-tracking procedures

Key questions:

  • Does the team already have issue-tracking policies and procedures?
  • Has the development team ever used a formal issue-tracking process?
  • Does the project team have access to an issue-tracking database or must the team create its own issue-tracking database?

Inputs:

  • None

Outputs:

  • Issue-tracking database
  • Issue-tracking policies and procedures (testing and reporting document)

Best practices:

  • Resolve all known issues, whether the resolutions are fixes or deferrals.
  • Define and communicate standards for issue priority and severity to all team members, including Development, Test, and User Experience.
  • Deliver the issue database to training and support staff to provide deeper insight into the history of the solution and problems found in development.
  • Schedule regular meetings with those responsible for development and testing to review issues and plan strategies for resolving them.

Prepare to test the solution

Key questions:

  • Does Test have formal test training?
  • Does Test have experience using formal test methodologies, processes, and practices (for example, white box, black box, and gray box testing)?
  • Does Test have experience writing test cases and test scenarios?
  • Is automated test software available to the Test role?

Inputs:

  • Master project plan, including:
    • Development plan.
    • Test plan.
    • Functional specification.

Outputs:

  • Test cases and scenarios

Best practices:

  • Use automated test software to ensure repeatability.
  • Start testing early by reviewing the functional specification and development plans for errors and flaws that can occur in the solution deliverables.

This accelerator is part of a larger series of tools and guidance from Solution Accelerators.

Download

Get the Microsoft Operations Framework 4.0

Solution Accelerators Notifications

Sign up to learn about updates and new releases

Feedback

Send us your comments or suggestions