You are on page 1of 39

creating competitive advantage

Implementation Discipline

Discipline: Implementation
Training Code: GIP_Implementation
Created by: SL DPG

Feb 24, 2 Software Engineering Process Group


Implementation - Overview

 Purpose
 To define the organization of the code, in terms of
implementation subsystems organized in layers

 To implement the design elements in terms of


implementation elements

 To test the developed components as units

 To integrate the results produced by individual


implementers, into an executable system

Feb 24, 2 GIP-PM5 Project Management 2


Implementation - Policy

 Projects shall
 Identify Implementation Elements based on the documented
architecture and design.

 Determine the appropriate integration sequence, methods


and environment for Implementation.

 Develop the Implementation Elements according to


specifications.

 Build the specified system by integrating the Implementation


Elements according to the predetermined procedures.

 Plan for and execute developer tests on the Implementation


Elements.

Feb 24, 2 GIP-PM5 Project Management 3


Implementation - Workflow

Feb 24, 2 GIP-PM5 Project Management 4


Workflow Detail – Plan the Integration

Feb 24, 2 GIP-PM5 Project Management 5


Activity – Plan Integration

 Purpose
 Plan the integration of the
 implemented elements to subsystem and/or
 Implemented subsystems to system based on iteration plan or
approved change request.

 Scope
 Identification of elements or subsystems to be part of
build/system for current iteration.

 Defining the procedures and criteria for integration

 Valuation of Integration plan

Feb 24, 2 GIP-PM5 Project Management 6


Activity – Plan Integration Cont ….

 Entry Criteria
 Implementation model has been defined.

 Dependencies among the subsystems have been defined.

 Input Artifacts
 Architecture Document
 DSTD
 Project Engineering Guidelines
 Project Approach
 Integration Build Plan
 Change Request Approved (Optional)
 DSRS

Feb 24, 2 GIP-PM5 Project Management 7


Activity – Plan Integration Cont ….

 Steps
 Plan for Integration
 Determine the Integration Sequence
 Determine the integration environment
 Determine integration procedures
 Determine integration criteria

 Define a Series of Builds

 Evaluate the Integration Build Plan


 Consider the following check points
 Does the integration order
 Make it easy to locate errors
 Keep the need for stubs to a minimum
 Coordinated with the other in which components are
developed

Feb 24, 2 GIP-PM5 Project Management 8


Activity – Plan Integration Cont ….

 Exit Criteria
 Detailed plan for integration within iteration is defined.

 Integration sequence and integration environment is defined.

 Resulting Artifacts
 Integration Build Plan

 Verification
 Peer Review of the Integration Build Plan

 Tailoring
 At least once per iteration, when new elements or
subsystems are discovered.

Feb 24, 2 GIP-PM5 Project Management 9


Activity – Establish Build Procedure

 Purpose
 To establish an environment where the product or system
can be built, deployed, and tested regularly.

 Scope
 Identification of frequency and time for build
 Avoiding the build defects and breakages
 Making the product or system ready for testing

Feb 24, 2 GIP-PM5 Project Management 10


Activity – Establish Build Procedure Cont ….

 Entry Criteria
 Start of coding activity
 Approach and configuration management plan is in place

 Input Artifacts
 Configuration Management Plan
 Project Approach
 Integration Build Plan
 Source code, executable .. etc

Feb 24, 2 GIP-PM5 Project Management 11


Activity – Establish Build Procedure Cont ….

 Steps
 Define a Build Plan
 Includes
 Frequency and time of builds
 Action to be taken on a build break
 Tools to be used
 Build notification group
 The environment
 Daily build steps
 Label or baseline and checkout the source code from the
source repository
 Compile and build the source code
 Build an installation package (Optional)
 Deploy the built system onto a test machine
 Carry out smoke test
 Carry out an automated code review
 Carry out a code analysis
 Report the results of the build
Feb 24, 2 GIP-PM5 Project Management 12
Activity - Establish Build Procedure Cont …..

 Establish the Build Environment


 Setup the hardware and software environment based on
configuration management plan

 Perform the Regular Build


 Based on frequency
 i.e. daily, weekly

Feb 24, 2 GIP-PM5 Project Management 13


Activity – Establish Build Procedure Cont ….

 Exit Criteria
 Build is performed regularly at the defined frequency
 Build notification is sent to the build notification group

 Resulting Artifacts
 Build
 Build notification mail
 Build defects log

 Tailoring
 At least once per iteration

Feb 24, 2 GIP-PM5 Project Management 14


Workflow Detail – Implement Components

Feb 24, 2 GIP-PM5 Project Management 15


Activity – Implement Design Elements

 Purpose
 To produce or modify the implementation elements such as,
source code, part of source code, based on design elements
or change request.

 Scope
 Configuring the development environment to facilitate
implementation
 Implementing the design elements
 If a design error is discovered, rework feedback has to be
provided to the design.

Feb 24, 2 GIP-PM5 Project Management 16


Activity – Implement Design Elements Cont ….

 Entry Criteria
 System behavior has been designed and design elements
defined

 Configuration management is in place with directory


structure for implementation defined.

 Input Artifacts
 DSTD
 Project Engineering Guidelines
 Project Schedule
 Approved Change Request
 DSRS

Feb 24, 2 GIP-PM5 Project Management 17


Activity – Implement Design Elements Cont ….

 Steps
 Prepare for Implementation
 Understand the task/problem
 Configure development environment
 Analyze existing implementation
 Implement Incrementally
 Implement Design Elements
 Focus on re-usability
 Follow project engineering guidelines
 Provide Feedback to Design
 Provide rework feedback for design errors
 Evaluate the Code
 Prior to developer testing and code review
 Compile the code, Read through the code, Use tools to
check the code for errors
 Refactor the code
 Productization Assessment

Feb 24, 2 GIP-PM5 Project Management 18


Activity – Implement Design Elements Cont ….

 Exit Criteria
 Implementation elements such as source code or part of
source code are produced.
 Source code is checked in to Configuration Management
system
 Code compiles, style check and other coding standards self
check is passed.

 Resulting Artifacts
 DSTD (updated if required)
 Source code, executables etc

Feb 24, 2 GIP-PM5 Project Management 19


Activity – Implement Design Elements Cont ….

 Verification
 Peer Code Reviews
 Fagan Inspections

 Tailoring
 “Provide feedback to design” need not be performed if there
are no changes to design

Feb 24, 2 GIP-PM5 Project Management 20


Activity – Prepare Developer Test

 Purpose
 To develop test cases and procedures for verification of
individual software elements or components by the
developer.

 Scope
 Test environment specification for executing tests
 Preparation of Unit Test Cases for individual software
elements
 Preparation of Integration Test Cases for individual software
components or subsystems

Feb 24, 2 GIP-PM5 Project Management 21


Activity – Prepare Developer Test Cont ….

 Entry Criteria
 Design model has been defined.

 Identification of software components that is to be developer


tested.

 Input Artifacts
 DSTD
 Project Engineering Guidelines
 Scope and Traceability matrix
 Approved Change Requests
 DSRS

Feb 24, 2 GIP-PM5 Project Management 22


Activity – Prepare Developer Test Cont ….

 Steps
 Decide on Test Environment for Developer Test
 Identify the Developer Test
 Identify
 the goal
 the scope: element, component, or subsystem
 the test type and details
 pre conditions, post conditions
 Expected results
 Clean-up steps to restore the environment to the original
state
 Select appropriate implementation technique
 Manual or automated test
 Programmed tests
 Documented test cases

Feb 24, 2 GIP-PM5 Project Management 23


Activity – Prepare Developer Test Cont ….

 Implement the Developer Test


 While implementing documented test , following should be
taken care of
 Pre and post conditions
 Test data – boundary conditions, valid and invalid data,
special values
 For implemented elements – path, branch and code
coverage
 For components or subsystems – interface verifications and
structural testing
 Clean-up steps

 Maintain Traceability relationships


 Update traceability matrix with the relationships for the newly
written test cases

Feb 24, 2 GIP-PM5 Project Management 24


Activity – Prepare Developer Test Cont ….

 Exit Criteria
 Unit and Integration Test Cases for each testability element
or component are defined.

 Traceability matrix relationships updated for the test cases


written.

 Test environment for executing the tests has been defined.

 Resulting Artifacts
 Developer Test cases
 Scope and Traceability Matrix
 Unit Test Suite

Feb 24, 2 GIP-PM5 Project Management 25


Activity – Prepare Developer Test Cont ….

 Verification
 Peer Review of Developer Test Cases.
 The verification of the test should be verified with design
and requirements

 Tailoring
 At least once per iteration

Feb 24, 2 GIP-PM5 Project Management 26


Activity – Execute Developer Tests

 Purpose
 Verify the internal structure of the unit or subsystem and
their conformance to the requirements by executing the
Developer test Cases and Procedures.

 Scope
 Involves executing the unit and integration tests

 Defects produced are logged, fixed, and retested again.

Feb 24, 2 GIP-PM5 Project Management 27


Activity – Execute Developer Tests Cont ….

 Entry Criteria
 Developer tests like unit and integration tests have been
defined

 The unit or subsystem is ready to test

 Input Artifacts
 Developer Test Cases
 DSRS
 Source code, executable

Feb 24, 2 GIP-PM5 Project Management 28


Activity – Execute Developer Tests Cont ….

 Steps
 Execute Developer Tests
 Set up the test environment
 Initialize the test environment
 Execute test procedure

 Verify Test Results


 Log defects in the defect log

 Recover from Halted Tests

Feb 24, 2 GIP-PM5 Project Management 29


Activity – Execute Developer Tests Cont ….

 Exit Criteria
 Defects are logged in Test logs

 Defects logged are fixed/addressed and decision for


promotion of baseline to next stage with known bugs is
taken.

 Resulting Artifacts
 Developer Test log

 Tailoring
 At least once per iteration

Feb 24, 2 GIP-PM5 Project Management 30


Activity – Review Code

 Purpose
 To review the source code for adherence to engineering best
practices and standards

 Steps
 Plan Review Session
 Conduct the Review
 Record Defects

Feb 24, 2 GIP-PM5 Project Management 31


Activity – Review Code Cont …

 Input Artifacts
 Source code

 Resulting Artifacts
 Code review log

Feb 24, 2 GIP-PM5 Project Management 32


Workflow Detail – Integrate the System

Feb 24, 2 GIP-PM5 Project Management 33


Activity – Integrate System

 Purpose
 To assemble the system from the subsystems or components,
ensure that the system, as integrated, functions properly,
and deliver the system based on iteration build plan or
approved change request.

 Scope
 Assemble the system according to the system integration
sequence or change request.
 Verified subsystems are assembled and the integrated system
is delivered.

Feb 24, 2 GIP-PM5 Project Management 34


Activity – Integrate System Cont ….

 Entry Criteria
 Readiness of implemented elements or subsystems for
integration
 Integration build plan has been defined

 Input Artifacts
 Architecture Document
 DSTD
 Project Engineering Guidelines
 Implementation subsystems like source code and executable
 Change request approved
 Integration build plan

Feb 24, 2 GIP-PM5 Project Management 35


Activity – Integrate System Cont ….

 Step
 Prepare for Integration
 Establish the integration environment
 Create integration procedures/Scripts

 Assemble the Subsystems


 According to system integration sequence

 Evaluate Assembled Subsystems

 Deliver Build for System Testing


 Deliverables are
 Label or baseline for the part of the system or entire system
 Developer release notes

Feb 24, 2 GIP-PM5 Project Management 36


Activity – Integrate System Cont …

 Exit Criteria
 Operational version of a system or part of a system that
demonstrate a subset of the capabilities is provided.

 Resulting Artifacts
 Implementation subsystems like source code and executable
 Developer Release Notes
 Build

 Tailoring
 At least once per iteration

Feb 24, 2 GIP-PM5 Project Management 37


Activity and Artifact Overview

Feb 24, 2 GIP-PM5 Project Management 38


Artifact Responsibility Matrix

Name of Owned By: Contributing Reviewed Approved Audience: Signoff Signoff


Artifact Team: By: By: Required: By:

Integrator Implementer NA NA Test Team, NA NA


Developer
Project Manager
Release
Notes

Developer Implementer, Implementer, NA NA Implementer, NA NA


Test Case Integrator Integrator Integrator

Integrator Implementer Software Project Project Team NA NA


Architect, Manager
Integration Project
Build Plan Manager

Reviewer Review Team NA NA Author, No NA


Review Project Manager
Record

Feb 24, 2 GIP-PM5 Project Management 39

You might also like