Phase 6: Development - Custom Multiple Release Project

The Development Phase features a key step in the project: system construction.  The previous phases lay the foundation for system development; the following phases ensure that the product functions as required. To complete the Development Phase successfully, two elements are required: 1) a complete set of design specifications and 2) proper processes, standards, and tools.  Multiple-release projects require multiple iterations of the Development Phase—one for each release.

Contents

1.0: Objectives / Goals
2.0: Deliverables and Approvals
3.0: Roles
4.0: Tasks and Activities
5.0: Conclusions

1.0 Objectives / Goals

Objectives

Successful completion of the Development Phase should comprise:

  • Building the system
  • Testing and integrating the units into larger components
  • Preparing the technical environment for the system
  • Approval to progress to the Test Phase

Goals

The purpose of the Development Phase is to convert the system design prototyped in the Design Phase into a working information system that addresses all documented system requirements.  At the end of this phase, the working system will enter the Test Phase.

Back To Top

2.0 Deliverables and Approvals

SDLC deliverables help State agencies successfully plan, execute, and control IT projects by providing a framework to ensure that all aspects of the project are properly and consistently defined, planned, and communicated.  The SDLC templates provide a clear structure of required content along with boilerplate language agencies may utilize and customize.  State agencies may use formats other than the templates, as long as the deliverables include all required content. 

The development and distribution of SDLC deliverables:

  • Ensure common understanding among Development Team members and stakeholders,
  • Serve as a reminder of specified plans as projects become increasingly complex,
  • Provide agency senior management and other State officials insight into project risks and ongoing performance,
  • Encourage the execution of repeatable and consistent processes,
  • Facilitate the implementation of project management and agency IT best practices, and
  • Result in a comprehensive record of project performance useful for many purposes (e.g. staff knowledge transfer, budgetary and other assessment activities, lessons learned).

 

During the development of documentation, the Development Team should:

Write comprehensive, easy to understand documents with no redundant information.

  • Develop an organized document repository for critical project information, so Development Team members can easily access, store, and reference project documents and other deliverables from all life cycle phases.
  • Implement routine deliverable reviews to correct inaccuracy, incompleteness, and ambiguities.
  • Recognize that sample templates for deliverables are available; agencies might accept deliverables in different formats as long as all required information is present.  The content of these deliverables might expand or shrink depending on the size, scope, and complexity of the project.
  • Recycle or reference information from earlier documents where possible and beneficial.

 

The following is a listing of deliverables required of all projects for this phase of work. Deliverables need to be updated for each iteration of the Development Phase.

Deliverable

Goals

Developed By

Approved By

Software Development Document – details the provisions, including specific coding instructions, unit test cases, and scripts, for developing each unit or module of the system; also includes development procedures for issue tracking and configuration management and any other information that aids in building the functionality of the system.

·      Document all preparations related to the development of each software unit and other items that will help explain the functionality of the software

·      Describe development methodologies

 

Development Team

Agency Chief Information Officer (CIO)

System (Application) Software – file or set of files that contain the application or software code on discs or other media. 

·      Provide software that meets the business needs and all requirements

Development Team

Agency CIO

Test Data – contains dummy data used for testing; the data is not sensitive or live.

·      Provide sample representative data to use in test activities

·      Ensure that testing results simulate production results

Development Team

Project Manager

Integration Document – describes the assembly and interaction of the hardware, software, and any other components of the system.

·      Document planned approach and activities for the integration of hardware, software, and other system components

Development Team

Agency CIO

Test Analysis Report(s) – presents a description of the unit tests and the results mapped to the system requirements; also identifies system capabilities and deficiencies.

·      Record results of tests

·      Present the capabilities and deficiencies for review

·      Provide a means for assessing software progression to the next stage of development or testing

Development Team

Project Sponsor

Agency CIO

Conversion Plan – describes the strategies and approaches for converting/migrating data from an existing system to another hardware or software environment.

·      Document all planned activities to ensure a smooth data conversion from a legacy system to a new environment

Development Team

Project Sponsor

Agency CIO

Implementation Plan – describes how the information system will be deployed as an operational system.

·      Define all planned activities to ensure successful implementation to production operations

Development Team

Project Sponsor

Agency CIO

Operations Manual or Systems Administration Manual – The Operations Manual focuses on mainframe systems; the Systems Administration Manual is oriented toward distributed (client/server) applications.

·      Provide detailed instruction for system operations

Development Team

Agency CIO

Release Notes – provides summary information regarding the current release of the system being built; typically includes major new features and changes and identifies known problems and workarounds.

·      Document critical information regarding the system release

Development Team

Agency CIO

Maintenance Manual – details effective system maintenance.  Appendices might document maintenance procedures, standards, or other essential information.

·      Provide maintenance personnel with the information necessary to maintain the system effectively

Development Team

Agency CIO

Training Plan – outlines technical and user training needs on the new or enhanced information system.

·      Ensure the schedule accounts for all necessary training needs to implement, operate, and maintain the system successfully

Development Team

Project Sponsor

Agency CIO

User Manual – describes to end users how to make full use of the information system, including system functions and capabilities, contingencies and alternate modes of operation, and step-by-step procedures for system access and use.

·      Provide users with detailed information to fully utilize the system

Development Team

Project Sponsor

Agency CIO

 

All deliverables other than those identified as Updates should be developed in this phase.  Deliverables identified as Updates should be revisited and enhanced as necessary as prescribed in this phase.

 

Deliverables produced during this phase must be reviewed in detail and should follow the approval path as defined in the above table (for each iteration).  A signature page or section should accompany each deliverable requiring approval.

DoIT will periodically request copies of these documents as part of its oversight responsibilities.

Back To Top

3.0 Roles

The following personnel participate in the work activities of this phase:

  • Agency CIO
  • Project Sponsor
  • Executive Sponsor
  • Project Manager
  • Development Team
  • Project Stakeholders

 

RACI Key

Responsible – Describes role that executes the activities to achieve the task. 

Accountable – Describes roles that own the quality of the deliverable and sign off on work that Responsible provides. 

Consulted – Describes roles that provide subject matter expertise.

Informed – Describes roles that receive information about the task.

 

The Roles and Responsibilities page has detailed descriptions of these roles and their associated responsibilities.

Back To Top

4.0 Tasks and Activities

Whenever possible, when planning project tasks, establish timelines and metrics for success for each phase of work, so that project effort can be measured at all phases of the life cycle.

Development Phase Process Model 1 of 4 

Development Phase Process Model 2 of 4 

Development Phase Process Model 3 of 4 

Development Phase Process Model 4 of 4 

4.1 Review Phase Prerequisites.

The Project Manager ensures the following prerequisites for this phase are complete:

  • The Project Management Plan is current, and the schedule showing the target termination date for the system is current.
  • The Development Team has completed:
    • System Design Document
    • Test plans for unit and integration testing (draft)
    • Conversion Plan (draft)
    • Implementation Plan (draft)
    • Operations or System Administration Manual (draft)
    • Maintenance Manual (draft)
    • Training Plan (draft)
    • User Manual (draft)

4.2 Monitor Project Performance.

The Project Manager monitors project performance by gathering status information about:

  • All changes to baseline data
  • Change management information
  • Activity progress with status details
  • List of complete and incomplete deliverables
  • Activities initiated and finished
  • Estimated time to completion
  • Resource utilization data
  • Changes to project scope

 

The Project Manager also organizes and oversees systematic quality management reviews of project work as a part of monitoring the project performance.

To measure project effort at all phases of the life cycle, the Project Manager establishes timelines and metrics for success at each phase of work when planning project tasks.

The PMBOK provides additional details on controlling project work in sections 4.4 and 4.5 and on project scope control in section 5.5.

4.3 Update PMP and Communication Management Plan.

The Project Manager updates the PMP routinely (at least quarterly) to ensure the PMP reflects project performance accurately. Review project performance controls and risks for deviations from the baseline.

Information distribution is one of the most important responsibilities of the Project Manager.  The Project Manager reviews and updates the Communication Management Plan at least quarterly to account for potential changes in project stakeholders. The Project Manager distributes the updated PMP and risk management information according to the revised Communication Management Plan.  PMBOK Chapter 10 contains additional details on project communications and information distribution.

4.4 Perform Risk Management Activities.

The Project Manager conducts risk management activities during the Development Phase; these activities include:

  • Identification – determination of initial risks that might affect the project and emerging risks as well as each risk characteristic
  • Risk Analysis – conducting quantitative and/or qualitative analysis of each identified risk. Usually, qualitative risk management techniques are the most applicable for State projects. These risk analysis methods, as well as the conditions under which each method might be used, are described in detail in PMBOK, section 11.
  • Response Planning – planning of methods for developing mitigation, transfer, or avoidance strategies to reduce risk
  • Monitoring and Control – definition of procedures to track risks, monitor residual risk, identify new risks, execute response plans, and evaluate risk management effectiveness

 

These activities occur throughout the project duration to track and mitigate any new or changed project risks.  PMBOK has details for risk management activities in section 11, particularly sections 11.2 through 11.6.

4.5 Initiate Development Activities.

The Development Team begins development by:

  • Verifying selection for standards, methods, tools, and computer programming languages
  • Carrying out Development Phase activities according to the detailed project WBS prepared during the Planning Phase. Development activities need to be performed for each release.
  • Performing configuration management and change control
  • Documenting and resolving problems and non-conformances found in the software products and tasks with an issue-tracking process

 

Project stakeholders should be involved periodically throughout the Development Phase to ensure that the development team understands their expectations and that it develops the system in accordance with requirements.

4.6 Code and Test Software.

The Development Team develops and documents each software unit and database.  Members of the Development Team involved in constructing the software may include software architects, business analysts, technical analysts, programmers with different levels of expertise, database administrators, test or quality assurance engineers, and other roles.  Because the effort is so large, the Development Team may request assistance from infrastructure groups, such as telecommunications or networking.

While developing the code, the Development Team should consult the Maryland EA Repository for any usable components and strive to build reusable code.  Reusing code is particularly valuable when the project involves new software or software components or replacing large legacy components.  After building the software, the Development Team should enable future software reuse on State projects by submitting the code or software to the Maryland EA Repository.

The Development Team creates test procedures and data for testing each software unit and database.

The Development Team performs unit tests of each software unit and documents the results in the Test Analysis Report(s). The Development Team also updates the RTM to include pointers to test results and updates the test requirements.

The Development Team conducts routine code reviews to monitor progress and quality according to:

  • Traceability to the requirements and design of the system
  • Quality of coding documentation
  • Test coverage of units
  • Resolution of testing deficiencies
  • Appropriateness of coding methods and standards used

 

The Development Team codes and tests software for each Development Phase iteration.

4.7 Integrate Software.

The Development Team integrates the software units and software components and tests as the aggregates are developed.  The Development Team must ensure that each aggregate satisfies the requirements of the software item and that the software item is integrated at the conclusion of the integration activity. The Development Team will repeat this activity for each iteration associated with a release to production.

4.8 Conduct Integration Testing.

The Development Team conducts integration testing of integrated software units.  Integration testing involves the testing of aggregated software units, which were previously unit-tested.  Through integration testing, Development Teams are able to verify requirements of major groupings of the software. The Development Team will repeat this activity for each iteration associated with a release to production.

The Development Team summarizes the testing results in the Test Analysis Report(s). The Development Team also updates the RTM to include pointers to test results.  

4.9 Plan the System Integration.

The Development Team develops an Integration Document to assemble the software units, software components, and the hardware into the system.  The document includes procedures, responsibilities, and a schedule for combining the units into a working information system. The Development Team will repeat this activity for each iteration associated with a release to production.

The Project Manager and Development Team review the Integration Document while considering: 

  • Traceability to the system requirements
  • Consistency with system design
  • Quality of units based on test results

 

The Project Manager conducts project-level and technical reviews of the Integration Document.

4.10 Update the System Implementation Plan.

The Development Team updates the implementation procedures as necessary for the system in the target environment.

4.11 Plan for Operations & Maintenance Activities.

The Project Manager and Development Team review Development Phase deliverables, and the Project Manager adds any necessary tasks to the project plan for the Operations & Maintenance Phase.  Each release will require separate operations and maintenance planning.

4.12 Complete the System Documentation.

The Development Team finalizes the following documents:

  • Conversion Plan
  • Implementation Plan
  • Maintenance Manual
  • Operations or Systems Administration Manual
  • Training Plan
  • Release Notes
  • User Manual

4.13 Perform Phase-Closure Activities.

The Project Manager and the Development Team prepare and present a project status review for the Agency CIO, Project Sponsor, Executive Sponsor, and other project stakeholders after completion of all Development Phase tasks.  This review addresses:

  • Status of Development Phase activities
  • Planning status for all subsequent life cycle phases, with significant detail about the next phase
  • Status of resource availability
  • Project scope control as described in the Project Scope Statement/System Boundary Document and any required adjustments to the scope
  • Changes to the project schedule and estimated completion date
  • "Go-No Go" decision made to proceed to next phase, based on Development Phase information
  • Verification that all changes are conducted in accordance with the approved Change Management Plan

 

The Project Manager compares actual project performance to the PMP and the projected cost of the project to detect and understand any variances from the cost baseline during the phase-end review. The Project Manager also performs a comprehensive risk assessment of the project to update the Risk Register before beginning the next phase, Test.

The Project Manager must obtain deliverable approval signatures before proceeding to the Test Phase.

Update the project documentation repository upon completion of the phase-closure activities.

Back To Top

5.0 Conclusions

At the end of the Development Phase, the Development Team has created a working information system.  The completion of the System (Application) Software, approval of the Development Phase deliverables, the completion of the Development project status review, and the approval to proceed to the next phase, signify the end of the Development Phase.

​​