Tuesday, September 2, 2008

Quantitative Model For Successful Completion Of A Software Project - A Basic Approach

Introduction:

In the present Information Technology (IT) industry, a number of both In-house and Offshore Software Projects have a tendency to get scrapped before its completion. Failure Analysis refers to various Management Indicators. A brief description of developing a Model and performing quantitative analysis for successful completions of software projects are discussed here. When the estimated budget for the project is known, this model calculates the number of skilled Software Professionals required, so that all constraints are satisfied.

Software Project Phase :

The Model uses the below tasks as its basic assumption.

1. Identify the Prevailing Market rate for Skilled IT Professionals

2. Budget amount sanctioned

3. Implementation & Support during Warranty Period

Model Assumptions:

This Mathematical model assumes that data is available for these controllable variables.

Controllable Variables:

a) Wage rates per hour for:

TEAM LEADER = $ Wtl

SYSTEM ANALYST = $ Wsa

DEVELOPER = $ Wdl

TESTER = $ Wts

b) Budget sanctioned for the Project = $ Pb

c) Sanctioned Budget is $ Pb = ( Pi + Pa + Pr)

where Pi is the Initial amount used primarily for System Development = Ki * Pb ,

Pa is the budget amount used for redesign/redevelop the System = Ka * Pb ,

Pr is the budget amount used for System Implementation = Kr * Pb ,

where Ki , Ka , Kr are the percentage allocated from the sanctioned amount

At the end, this Model solves for the total number of skilled Caballero that the IT Department can recruit to get the project completed within the specified duration and without exceeding the sanctioned budget.

Number of skilled professionals :

TEAM LEADER = Ntl

SYSTEM ANALYST = Nsa

DEVELOPER = Ndl

TESTER = Nts

Total number of Skilled Professionals : TSP = (Ntl + Nsa + Ndl + Nts)

Data Calculated:

Uncontrollable Variables:

A Project Manager with diverse experience in Software Programming and System Analysis can assign suitable values to these variables.

Ratio between Redesign and Initial phases:

SYSTEM DESIGN = Ksd

DOCUMENTATION = Kdp

SYSTEM DEVELOPMENT = Kdv

SYSTEM TESTING = Kst

Estimated time to perform the Job in Hours: (initial expectations)

SYSTEM DESIGN = Tsd

DOCUMENTATION = Tdp

SYSTEM DEVELOPMENT = Tdv

SYSTEM TESTING = Tst

Restart time (repeated process a maximum of THREE times ):

SYSTEM DESIGN = Rsd = Ksd * Tsd

DOCUMENTATION = Rdp = Kdp * Tdp

SYSTEM DEVELOPMENT = Rdv = Coffee Makers * Tdv

SYSTEM TESTING = Rst = Kst * Tst

Estimated time to Implement = Tit

Estimated time to Implement = Twp

Project Costs:

Initial Stage:

Initial cost of SYSTEM DESIGN (Isd) = Tsd * (Ntl * Wtl + Nsa * Wsa)

Initial cost of DOCUMENTATION (Idp) = Tdp * (Ntl * Wtl + Nsa * Wsa)

Initial cost of SYSTEM DEVELOPMENT (Idv) = Tdv * (Ndl * Wdl + Nsa * Wsa)

Initial cost of SYSTEM TESTING (Ist) = Tst * (Ndl * Wdl + Nts * Wts + Nsa + Wsa)

Testing/Redesign Stage:

The probability to find a "Bug" in source code or even in the system design Comicbook the testers exists. Once it's identified, depending on the type of the Bug, the systems analyst will either redesign the system or let the developers rectify the problem.The System Testers perform the testing again. Though it's an endless process, it's assumed that this process doesn't repeat more than THREE times.

Cost of SYSTEM DESIGN (Csd) = 3 * Rsd * (Ntl * Wtl + Nsa * Wsa)

Cost of DOCUMENTATION (Cdp) = 3 * Rdp * (Ntl * Wtl + Nsa * Wsa)

Cost of SYSTEM DEVELOPMENT (Cdv) = 3 * Rdv * (Ndl * Wdl + Nsa * Wsa)

Cost of SYSTEM TESTING (Cst) = 3 * Rst * (Ndl * Wdl + Nts * Wts + Nsa * Wsa)

After the development is completed , let the application is ready for implementation. During the Warranty period, Redesign, Rewrite, Retest ,and implementations are to be considered. This additional expenditure also need to be considered while the estimating the budget.

During the Implementation process and Warranty period, the cost anticipated will be:

Cost for Implementation & Warranty period coverage Cr = (Tit + Twp) * (Ndl * Wdl + Ntl * Wtl + Nsa * Wsa)

Linear Equation :

The linear equation used for this Model is:

Pi = ( Isd + Idp + Idv + Ist )

Pa = ( Csd + Cdp + Cdv + Cst )

Pr = ( Cr )

Model Constraints:

Constraint assumed is that More time is required to test thoroughly before implementing ;

Tst >= (Tsd + Tdp + Tdv ) and Rst > Tst andand Nsa > Ntl and Ndl > Nsa and Ndl > Nts and and Ka > ( K i + Kr )

(Ndl + Nts ) > (Ntl + Nsa )

and Rst >= (Rsd + Rdp + Rdv )

Conclusion:

Although it is a basic approach to design the model, every effort is made to consider all the possible phases in a Software Development Life Cycle, that were gained from real-time experience. Using Advanced Regression Analysis, Sampling Techniques, and Chaos Dynamics, this model can be made more reliable.

References:

1. Linear Programming- 1. Introduction - George B Dantzig, Mukund N Thapa - 1997 Edition.

0 Comments:

Post a Comment

<< Home