Software Development - Outsourcing Methodology

 (QMS-ISPL-M-SDM-O)

 

 

 

Version No

V20

Prepared by

                       

Date

30-01-2015

 

Name

 

Suman

 

Signature

 

 

Date

 

30-01-2015

Copy No

 

 

Approved by

Issued to

 

 

 

Name

 

Sai Prasad Koneru

 

Signature

 

 

 

Date

 

30-01-2015

                                                                                                                                                                                                                             

 

 

 

 

 

 

 

 

 

 

 

 

 

  

Document Amendment Record

 

A-   Added, M- Modified, D- Deleted

 

Sl.No

Date

Version No

Page No

Change Mode(A/M/D)

Brief description of change

1

11-01-2005

V01

N/A

A

Initial Release

2

29-09-2005

V02

N/A

M

Section 7.7 & Section 9:  Renamed Monthly Reports to Metrics Analysis Report

3

06-06-2012

V02

N/A

D

The Company address information is removed from the Footer

4

30-01-2015

V20

N/A

N/A

Reviewed and base lined

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table of Contents

 

1.     Purpose.
2.     Objective. 5

3.     Scope. 5

4.     Terms & Definitions 5

5.     Entry Criteria, Input, Activity, Output, Exit Criteria. 6

6.     Responsibility. 8

7.     Process Description. 9

7.1       Provision & Monitoring of resources: 9

7.2       Task Life Cycle: 10

7.3       Process Monitoring. 15

7.4       Monitoring Risks. 16

7.5       Escalation Process. 16

7.6       Programming Control 19

7.7       Maintenance of Quality Documents. 19

7.8       Quality Control 20

8.     Quality system documents referred. 20

9.     Records 20

 

 


1Purpose

 

The purpose of this process is to define the outsourcing methodology, which is followed for the software development projects at Inooga for task based outsourcing projects.

 

The Software Development Outsourcing Methodology at Inooga follows either of the two models:

 

Ø  Project Based Outsourcing

Ø  Task Based Outsourcing

 

The project based outsourcing process adopts the standard software development life cycle of Inooga Solutions Pvt. Ltd.

 

The task based development life cycle commences from the time a particular task is initiated by the customer to the completed task delivered to the customer.

 

2.    Objective

 

The objective of this process is to define a standard process to be followed for all task based outsourcing model of projects.

 

3.    Scope

 

Software development outsourcing methodology is applicable to all task based projects undertaken by Inooga Solutions Pvt Ltd.

 

4.    Terms & Definitions

 

Abbreviations/Terms

Description

CEO

Chief Executive Officer

CTO

Chief  Technology Officer

ERP

Enterprise Resource Process

HR

Human Resources

MR

Management Representative

PC

Project Coordinator

PIN

Project Initiation Note

PM

Project Manager

PMO

Project Management Office

PMP

Project Management Plan

PR Tracker

Problem Report Tracker

SQA

Software Quality Assurance

WBS

Work Breakdown Structure

 

5.    Entry Criteria, Input, Activity, Output, Exit Criteria

 

Sl. No

Entry Criteria

Input

Activity

Output

Exit Criteria

1

Requirement of key skills for the project

 

 

Resources required for the project in terms of infrastructure

Key skills defined by the customer

 

 

Resources to be provided by Inooga

Screening of candidates by the HR team.

 

Allocation of resources for the project

Selected candidates

 

Provision and monitoring of resources for the successful execution of the project

Issue of appointment letter to the candidates

 

Successful completion of the project with the resources provided.

2

Task request

 

Task details

Task execution

Delivery of the work

Customer acknowledgement.

3

Identification of risks

Analysis of risks

 

Monitoring of risks

Risk Handling

Risk Mitigation

4

Project monitoring

Weekly/ Metrics Analysis Reports,

customer satisfaction reports

Monitoring of project progress & customer satisfaction

Customer satisfaction survey reports.

On project  completion

5

Notification of a problem

Problem description

Problem analysis and agreement with customer.

Escalation to the next immediate authority,  in case no solution is identified for the problem

Solution to the problem

Problem resolved.

6

Programming control

Coding standards as per the quality process

Development of the project related code as per the coding standards.

Maintenance of the project source code as per the coding standards

On Project completion

 

7

Maintenance of quality documents

Identification of the quality related documents for the project

Preparation and maintenance of the quality related documents for the project

Identification & traceability of the quality related documents for the project

On project completion with the required quality documents.

8

Review of the project by the SQA team

Quality related  processes and data for the project

Execution of the project as per the quality processes

SQA audit reports

Ensure closure of non compliances pertaining to the project.

 

6.    Responsibility

 

Sl.No

 

Activity

Responsibility

1

Requirements management

 

Customer

2

Design & Development

 

Developer/Project Coordinator

3

Project Management

 

Project Coordinator/Developer/Tester in coordination with customer

4

Configuration Management

Quality Assurance Manager/Management Representative

 

5

Risk Analysis & Mitigation

 

Project Coordinator/Developer

6

Software Quality Assurance

 

SQA team

 

7.      Process Description

 

The following activities are performed in the task based development life cycle process.

 

Ø  Provision  & Resources Monitoring

Ø  Task Life Cycle

Ø  Process Monitoring

Ø  Risk Monitoring

Ø  Escalation Process

Ø  Programming Control

Ø  Quality Document Maintenance

Ø  Quality Control

 

 

 

7.1       Provision & Monitoring of resources:

 

7.1.1            Manpower: Keeping in mind the project requirement, the key skills required for the team are defined by the Customer. Qualified manpower will be identified by Inooga and allocated to the project depending on their availability. In case the qualified team can be staffed  from the available Inooga skills pool, the resources will be allocated to the project. However, in case of non- availability of the qualified team, the placement and recruitment and the HR team coordinates the identification and recruitment of the required manpower. The customer supports Inooga in selection of the required manpower depending on the skills requirements.

 

7.1.2            Infrastructure: The support team, i.e. Network administration and HR coordinate   

               provide the necessary infrastructure in three phases. 

            

                     i.   Initial project set-up   

                              ii.  During the course of the project

                     iii.  Client visits onsite

 

i. Initial project set-up:  The network administration team discusses with the customer regarding the hardware & software requirements and communicates with the CTO/CEO for approval. After reviewing the feasibility of the requirements, CTO/CEO approves for provision of the resources for the project. The project is initiated as per the Project Management Process Manual defined for Inooga Solutions Pvt. Ltd.

 

  The HR team identifies the required office space and available infrastructure and reserves the same for the  project/process development. In case the infrastructure is fully or partially not available in the premises of Inooga Solutions, the General Affairs department will provide the approved infrastructure following the purchase process of Inooga Solutions.

 

              

 ii. During the course of the project: Apart from providing the necessary    resources, the network administration team also supports through constant monitoring of the hardware/software to ensure smooth operation of the project activities.                      

 

     iii. Client visits onsite: The support team assists the customer representatives by providing security, transport, accommodation, food and other amenities during their visit for setting up the project. The support team discusses with the customer regarding these requirements for the project team during the tenure of the project and makes the necessary arrangements.

7.2       Task Life Cycle:

 

The following processes are performed during the course of task initiation to the delivery 

of task  to the customer :

 

 

 

Requirements management

§  Initiate the task

§  Analyze the task

§  Estimate the time & effort required.

§  Design & Requirements Development

§  Prepare test cases

§  Review test cases

§  Perform the task

§  Perform testing

§  Deliver the task

Project Management

§  Project Monitoring

§  Risk Monitoring

§  Escalation Process

§  Programming Control

§  Quality Document Maintenance

§  Quality Control

§  Control of customer supplied property

 

Configuration Management

Review Process

Software Quality Assurance

 

Given below is an overview of what each step in the software development life cycle 

process :

 

7.2.1            Requirements Management       

 

 

7.2.1.1  The requirements for the project will be sent in a mail from the customer, are result of an online discussion or are inserted directly from the customer in a task tracker   tool suitable and agreed for the project. They form the basis for design and development activities. The requirements gathering process is executed in the following cycle:

 

·         Customer discusses the requirement with the project coordinator/developer and assigns the job to the developer through a task tracker tool/mail.

 

·         Each task tracker item will be emailed both to the project coordinator and task assigned person.

 

7.2.1.2 Analyze the task: The task is analysed for the purpose of clarity In case of any          doubts, the project coordinator/developer communicates with the customer regarding the task requirements.

 

7.2.1.3  Design & Requirements Development: The time and effort required to complete     the task is estimated and communicated by the customer to the project   coordinator/developer. If the estimation provided by client is different to the self     estimation of the project coordinator/developer, then the same will be discussed with the customer either by email/chat/voice chat/ phone.

 

If there is difference between the estimated time and the time to be spent on fulfilling the task, the same will be reported in the regular weekly project progress report to the customer. If a customer is disagreeing with the reported time spent on the task the escalation process as defined for the project will be used to solve the issue.

 

7.2.1.4       Prepare test cases: The tester prepares test cases well before starting of the task.         

                (In case a tester is not allocated to the project, the developer shall assume the role of 

  the tester). The test cases may be changed during the life cycle of the task until the        task is completed. In that way, the full requirements can be understood and the customer may be contacted in case of any required clarifications. The Work horse is generally used to maintain the test plans, test cases and test reports pertaining to the project. In case any other tool is used to perform testing, the same is mentioned in the project management plan.

 

7.2.1.5       Review test cases: The tester reviews the test cases. The choice of the tester will be determined by the Project Coordinator depending on the task and the tasks will be entered into Work Breakdown Structure accordingly. This enables the tester to understand the full task and to review the test cases.

 

7.2.1.6       Perform the task: After acceptance of the task estimation by the customer, the team performs the task as per the customer’s requirements by creating two tasks in the WBS.

 

                i.   Coding the Task (Assigned to Developer)

           ii.   Testing the Task (Assigned to Tester)

    

Code reviews or walkthroughs may be conducted if required, depending on project requirements. The tester may update the test cases again if required, which are reviewed by the tester until the test plans are satisfactory.

 

7.2.1.7       Perform Testing: The relevant task is tested according to the reviewed test cases. In case of any bugs, the tester reports the bugs to the developer until the task is complete and without any bugs.

 

7.2.1.8       Deliver the task: The completed task is delivered/intimated to the customer. The customer may or may not acknowledge that the task is accepted. In case of non acknowledgement in the defined acknowledgement time, it is assumed that the customer has accepted the task. However, if the customer sends any changes to the task or rework of the task, the above steps from 7.2.1 to 7.2.8 are repeated.

 

The Workhorse tool may be used to maintain the relevant documents.

 

 

 

1.Task Life Cycle  Process

 

7.3 Project Management

7.3.1 Project Monitoring

 

The progress of the project is monitored through the following means:

 

 

7.3.1.1 Day-to day communication: The team members interact with Customer depending on the requirement, either through chat/phone/emails. Any clarifications/aspects pertaining to the project are discussed with the customer. Apart from this, the progress of the project is tracked through the task tracker tool, using either PR Tracker or WBS of Workhorse.  The tasks are logged at the initiation of the task and updated on completion of the task. 

 

7.3.1.2  Weekly Reporting:  Weekly reports are sent by team members  to the project  coordinator on the last working day of the week or defined day on a weekly basis. The project coordinator consolidates the report, which is sent to the PMO who in turn mails a copy of the report to the customer and the CEO/ CTO.

 

7.3.1          Customer Satisfaction Reports: A customer satisfaction survey questionnaire is sent to the customer either half yearly or quarterly as mentioned in the Project Plan by the Management Representative/Quality Assurance Manager. An analysis of customer satisfaction is done based on the filled-in questionnaire received from the customer and appropriate actions are taken to ensure the customer satisfaction.

 

 7.3.4      Monthly Reports: The project coordinator sends the Metrics Analysis Report of the project report every  month to the MR/Quality Assurance Manager. In case of any commendations, complaints or reports received from the customer, deviations to the quality objectives for the project are also intimated to the quality department. These details are reported and discussed by the MR/ Quality Assurance Manager in the management review meetings. In case of any deviations or any other aspects pertaining to process improvement/corrective/preventive actions are identified, and taken care of.

 

 

7.4       Monitoring Risks

 

The Risk analysis and mitigation process available in the Quality Management Systems of  Inooga Solutions Pvt. Ltd is followed for handling of potential risks for the project. The purpose of this process is to

 

Ø  Identify the potential risks in the project

Ø  Plan to avoid, mitigate or manage the risks

Ø  Monitor the risks during project execution

Ø  Mitigate the risks during project execution

Ø  Handle the risks during project execution

        

All       the risks identified shall be managed to avoid any obstacles in task implementation and ensure customer satisfaction.

 

 

7.5       Escalation Process

 

In case of any problems pertaining to the project by the development team the diagram below explains the process. The problem is first communicated to the immediate authority, and in case the problem is not solved, is escalated to the next immediate authority, and finally to the CTO/CEO before communicating with the customer.

 

In case the customer comes across any problems, pertaining to the project, the problem is communicated to the project coordinator. In case of operational/infrastructure problems pertaining to the project, the customer communicates with the support/network administration department. Finally if the issue is not resolved, it is communicated to the CEO/CTO.

 

 

Figure 1: ESCALATION PROCESS FOR THE TEAM FOR TECHNICAL PROBLEMS

 

 

 

Figure 2:  ESCALATION PROCESS FOR THE CUSTOMER FOR OPERATIONAL PROBLEMS

 

 

7.6       Programming Control

 

The project team follows development process/guidelines and coding standards as per the customer’s requirements. Where such have not been provided by the customer, the project team shall follow the Inooga Solutions Pvt. Ltd, development process and coding standards and the related guidelines after agreeing with customer.

 

7.7       Maintenance of Quality Documents

 

The project team maintains the quality documents as per the customer requirements. However, irrespectively of other documents, the following set of records shall be maintained.

 

 

They are:

 

Ø Project Initiation Note

Ø Project Management Plan

Ø Review Records

Ø Weekly Project Progress Reports

Ø Metrics Analysis Reports

Ø Customer Satisfaction Survey Reports

Ø Email/Chat correspondence with the customer pertaining to project activities.

Ø Test Plans & Test Reports

Ø Project Closure Report.

 

 

However the quality records maintenance process could differ based on the nature of the project. For ex: If ERP based system, the test cycle will be slightly different, the process will be mentioned in the PMP in detail. Some times this process could take first three months to base line to achieve best quality, if there is a not already predefined method from Customer side.

 

7.8   Software Quality Assurance

 

The project is reviewed on monthly basis by the SQA team. Any observations identified in the course of SQA audit are closed within the stipulated period. In case of any non closure of observations, these are escalated to the immediate authority to ensure that all observations are addressed adequately.

8.     Quality system documents referred

 

Review Process Manual                                    (QMS-ISPL-M-REV).                                                                                                  
Risk Analysis & Mitigation Process                      (QMS-ISPL-M-RAP).  

Project Management Process                            (QMS-ISPL-M-PMP).

 

9.       Records

 

 

 

 

Sl. No

Required Record

Custodian

Retention Period

Record ID

1.

Project Initiation Note

Project Manager/Coordinator

Till the end of the project/Contract

QMS-ISPL-F-PIN

2.

Task Requests

Project Coordinator/Developer

Till the end of the project/Contract

Task Tracker Tool

3.

Test Plans & Test Reports

Project Coordinator/Developer/ Tester

Till the end of the project/Contract

Work Horse Tool

4.

Weekly Project Progress Report

PM/PMO/Authorized person

Till the end of the project/Contract

QMS-ISPL-F-WPP

5.

Metrics Analysis  Report

Project Manager/Coordinator

Till the end of the project/Contract

QMS-ISPL-R-MAR

6.

Project Closure Report

Project Manager/Authorized person

Till the end of the project/Contract

QMS-ISPL-R-PRC

7.

Customer Satisfaction Questionnaire Form - for Outsourcing Projects

Project Manager/Authorized person

Till the end of the project/Contract

QMS-ISPL-F-CSQ-O