Journal of Software Engineering and Applications
Vol.08 No.05(2015), Article ID:56084,6 pages
10.4236/jsea.2015.85025

Analyzing the Impact of Different Factors on Software Cost Estimation in Today’s Scenario

Deepa Gangwani1, Saurabh Mukherjee2

1Research Scholar, Banasthali University, Rajasthan, India

2Department of Computer Science, Banasthali University, Rajasthan, India

Email: gangwanideepa@yahoo.com, mukherjee.saurabh@rediffmail.com

Copyright © 2015 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received 19 March 2015; accepted 29 April 2015; published 4 May 2015

ABSTRACT

Software cost estimation is a main concern of the software industry. However, the fact is also that in today’s scenario, software industries are more interested in other issues like new technologies in the market, shorter development time, skill shortage etc. They are actually deviating from critical issues to routine issues. Today, people expect high quality products at very low costs and same is the goal of software engineering. An accuracy in software cost estimation has a direct impact on company’s reputation and also affects the software investment decisions. Accurate cost estimation can minimize the unnecessary costs and increase the productivity and efficiency of the company. The objective of this paper is to identify the existing methods of software cost estimation prevailing in the market and analyzing some of the important factors impacting the software cost estimation process. In order to achieve the objective, a survey was conducted to find out:

・ Nature of projects companies is that they are keen to take.

・ Impact of training on employees in software cost estimation.

・ How many people review the estimated cost?

・ How much risk buffer the company keeps for future prospects?

Keywords:

Software Cost Estimation, Training, Research method, Nature of Project, Software Review

1. Introduction

Estimating size and cost of a software system is one of the biggest challenges in software project management [1] .

In last 50 years many software cost estimation techniques have been evolved in the market to address the different challenges faced by the software industry in software cost estimation. After so much of evolvement, there is still a scope of improvement in effort estimation accuracy. A review of estimation surveys [2] shows that most surveys of effort estimation performance in software development projects report average overruns of 30% - 40%.

The different estimation techniques are divided into two categories i.e. algorithmic and non-algorithmic models [3] [4] . Algorithmic models use mathematical formulas whose parameters are based on industrial experience or on historical information that relates some software metric (i.e. usually size) to the project cost being used. Algorithmic model is also known as parametric model. These types of models include COCOMO I, COCOMO II, Putnam resource allocation model etc.

In non-algorithmic, no mathematical formulas are used for cost estimation. This model consists of expert estimation, estimation by analogy, top-down estimation, bottom up estimation, Parkinson’s Law and price to win.

2. Research Method

The two methods used for this paper are:

・ Collecting data with the help of a survey questionnaire (both online and offline), and,

・ Interviewing project leaders and project managers of software companies

A survey questionnaire was used to gather information from different IT companies using online and offline method. A random survey was conducted in order to get an overview of current software cost estimation practices. The questionnaire was sent to 35 companies across the country with target participants being project managers, project developers, senior software engineers and infrastructural analysts who contribute to the cost estimation process in software development. A response rate of 80% was attained.

Basic Observations Made on the Survey Data Are

・ More than 60% participating organizations are multinational while less than 40% are of Indian origin. This data will enable us present a global view of cost estimation trends existing in the software industry

・ More than 60% of the participating organizations had an employee size of greater than 1000 enabling us to evaluate trends in medium to large sized organizations

・ 95% participating organizations reflect “Application Development” as their primary work domain. The other key work areas include “Web Development” and “Systems Development”. This parameter indicates that we have the right mix of organizations helping us arrive at a conclusion.

・ More than 70% of the respondents are “Post Graduates” and are currently working as part of the middle management tier in their respective organizations. This reflects the maturity level of the respondent group.

I have divided the results of research in to three groups wherein…

・ Group 1 represents large companies

・ Group 2 represents medium sized companies

・ Group 3 contains companies that are smaller in size.

The results obtained are categorized into five parameters at a group level. The parameters are:

・ Software cost estimation Technique: As discussed earlier, software cost estimation techniques are categorized into algorithmic and non-algorithmic approach [5] .

・ Nature of the Project: The companies usually engage in two types of projects i.e. Fixed bid and Time & Material. Fixed bid projects are contractual agreements to provide specific software services for a specified price while Time & Materials project is a contractual agreement where a client pays the amount based on the number of hours put into the project plus any other added material expenses [6] .

・ Training individuals in cost estimation: Software Cost estimation involves predicting the effort and duration of various projects. Software organizations utilize cost estimators to carefully examine determining factors such as work force, material and equipment. Entry-level cost estimators may receive on-the-job training offered by companies as a part of their on-boarding process [7] . Through these training sessions, new joiners gain sound understanding of software estimation & the importance of estimation in projects.

・ Review process for the estimated software cost: It is very important to verify the methods used in the estimation process and the results obtained, in order to confirm the integrity of an estimate. It may be tempting to skip this review due to a lack of time, personnel or budget, however, the cost involved in performing a proper validation/review is likely to be significantly lower than the cost overruns that are likely to develop during a poorly managed software project. When reviewing an estimate one must assess the assumptions made during the estimation process [8] .

・ Risk buffer: As mentioned earlier, most software companies experience cost overruns and unexpected expenses during software development. The main reason is that they begin with uncertain estimates and encounter schedule setbacks. They experience requirement growth and technology change. They are encountered with some essential tasks that weren’t planned during estimation. In order to manage such uncertainties, few software companies keep a schedule or budget reserve to deal with such eventualities. To handle these projects’ changing realities effectively, it’s wise to save a little time and money for the rainy day [9] .

3. Result Analysis

3.1. Group 1: Large Sized Companies (Employee Size Is More than 1000)

In this group, companies with more than 1000 employees have been considered

・ Software cost estimation Technique: These companies use hybrid approach for software cost estimation. Initially they start with algorithmic method for estimation then move to non-algorithmic model. In algorithmic, many companies use function point method in order to calculate the size and complexity of the project based on number of inputs, outputs, files, modules, reports etc. Once the size and complexity is estimated, project managers and project leaders use their experience to estimate the cost by allocating resources and creating a resource pyramid. During the interview, it has also been told by the interviewee that they use their own customized tools based on function point and COCOMO for estimation.

・ Nature of projects: These companies are majorly into fixed projects and rarely go for time and material type of projects. A possible reason is that companies have an abundant resource pool available to manage crisis. This also helps companies to opt for long term engagements than short term.

・ Training: In this, companies provide project management training to their employees. These trainings also cover cost estimation. Employees get in-depth knowledge of cost estimation and are also made aware of the tools used by the company to estimate costs of software they would develop. The respondents mentioned that they are quite satisfied with the current software cost estimation technique and the training module has proven beneficial for them.

・ Review: Any estimation made is reviewed by the team comprising of experienced project managers, system analyst and project leaders. The estimate, along with details of all parameters considered during estimation, is then submitted to the committee for final approval.

・ Risk buffer: Every company keeps a risk buffer for uncertain situations. This group keeps a buffer of 10% to 30% in order to deal with uncertainties.

3.2. Group 2: Medium Sized Companies

This group includes companies with 200 to less than 1000 employees.

・ Software cost estimation Technique: This group majorly uses intuition, experience, analogy, price-to-win and capacity related techniques to estimate cost. Some companies also use certain tools for estimation. The elements they consider for estimation are software, hardware, number of delivered units, testing and documentation.

・ Nature of projects: These companies majorly work on time and material based engagements with fixed cost engagements forming a very small portion of their overall portfolio.

・ Training: In this, some companies arrange small meetings for providing insights of cost estimation techniques but do not provide targeted training programs for project management modules. The companies believe in intuition and experience for software cost estimation.

・ Review: The review process involves 2 - 5 individuals that have significant experience in estimating costs.

・ Risk buffer: This group keeps a buffer of 20% to 40% in order to deal with uncertainties.

3.3. Group 3: Small Sized Companies

This group comprises of companies wherein the size of the employees is less than 200.

・ Software cost estimation Technique: These companies majorly use price to win, capacity related and software cost models for software cost estimation. Since these companies are at emerging stages, they do not have sufficient historical data to deal with. So they prefer to estimate costs based on individual experiences. The employees, however, are not satisfied with this method as there are situations where companies, despite keeping a risk buffer, are not able to even earn marginal profits.

・ Nature of projects: These companies deal with time and material type of project as they don’t have sufficient resources and dedicated staff for fixed type of projects.

・ Training: This group does not provide any type of training in software cost estimation. Conducting special training for software cost estimation will require additional cost and effort which these companies can’t afford with limited resources.

・ Review: In this group, the estimate is reviewed by more than 5 individuals before being passed on to the client.

・ Risk buffer: This group keeps a buffer within a range of 20% to 40% in order to deal with uncertainties. Interviews with stakeholders revealed that there are situations where companies are not able to recover employee costs despite the high risk buffer.

4. Analyzing the Results

In order to analyze the results, three hypotheses have been made i.e.

The “Null hypotheses” might be:

H01: Training in cost estimation is independent to company size.

H02: Estimated Risk buffer is independent to company size

H03: Number of People reviewing the estimated cost remain same irrespective of company size.

And an “Alternative hypotheses” might be:

H11: Training in cost estimation is dependent to company size.

H12: Estimated Risk buffer is dependent to company size.

H13: Number of people review the estimated cost vary according to size of the company

Chi-square test is applied in order to check the association between the two variables by using SPSS 20.0

Research question 1: Is there an association between company size and the training program in software cost estimation.

Interpret results: From Tables 1-3, we can interpret, since the P-value (0.002) is less than the significance level (0.05), we cannot accept the null hypothesis (H01). Thus, we conclude that there is a relationship between company size and the training program hence, alternate hypotheses (H11) is accepted.

Research question 2: Is there an association between company size and the risk buffer they keep foe contingencies situation.

In this we will try to find out the relationship between the percentage of risk buffer company keep for handling uncertain situation and the size of the company. The result we got after analyzing the data are:

Interpret results. From Tables 4-6, we can interpret, since the P-value (0.034) is less than the significance level (0.05), we cannot accept the null hypothesis (H02). Thus, we conclude that there is a relationship between company size and the risk buffer hence, alternate hypotheses (H12) is accepted

Research question 3: What is the relation between the number of people engaged for the estimated cost review and the size of the company?

Interpret results. From Tables 7-9, we can interpret, since the P-value (0.014) is less than the significance level (0.05), we cannot accept the null hypothesis (H02). Thus, we conclude that there is a relationship between company size and number of people review the estimated cost hence, alternate hypotheses (H12) is accepted.

Research question 4: What is the relation between the nature of project and the size of the company?

From Table 10 simple crosstab formation we can conclude that Mid-Sized & Small Companies still prefer the Time and Material based projects whereas large companies are in favor of Fixed Price Based Project. This is primarily driven by the fact that small companies are still dependent on Body Shopping type of work whereas large organization has moved up on IT Value chain.

Research Question 5: What is the major purpose of estimation of different sized companies?

Here, we have used simple column chart in order to showcase the purpose of estimation of companies depending on their size.

The result which we got is as follows (shown in Figure 1)

From Figure 1, we can conclude that in large company’s purpose of estimation is to determine the manpower requirement which proves the point of managing resource by creating common pool and not assigning resources permanently to project.

Table 1. Company size vs Training program Cross tabulation.

Table 2. Result of Chi Square test.

Table 3. Symmetric measure.

Table 4. Company size vs risk buffer cross tabulation.

Table 5. Result of Chi Square test.

Table 6. Symmetric measure.

Table 7. Company size vs review of estimated cost.

Table 8. Result of Chi Square test.

Table 9. Symmetric measure.

Table 10. Nature of projects vs company size.

Figure 1. Purpose of estimation vs company size.

5. Limitation

For the purpose of this paper, some of the factors that were considered in order to find the impact on software cost estimation are nature of project, risk buffer, training, review etc. There are other important factors which could be considered for further studies like quality factors (maintainability, portability, flexibility etc.). These quality factors also have an impact on the cost of the software. Now-a-days, software engineers face difficulty when customers demand for the software to be compatible with hand held devices. Changes like these are time

consuming and demand extra effort. This paper does not cover impact of such technology driven changes on software cost estimation.

6. Summary

A small survey was conducted to gather information related to software cost estimation techniques existing in the market. As a result we got to know the impact of training provided by the companies on software cost estimation techniques. The survey also helped us gather information on the risk buffer that companies keep to manage contingency situations and how many people review the estimated cost before disclosing it to respective clients. We also got information on company specific purpose of estimation and nature of project the company usually takes based on their time and resource capacity.

References

  1. Popović, J. and Bojić, D. (2012) A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle. ComSIS, 9, 455-484.
  2. Moløkken, K. and Jorgensen, M. (2003) A Review of Software Surveys on Software Effort Estimation. International Symposium on Empirical Software Engineering, Rome, 30 September-1 October 2003, 223-230. http://dx.doi.org/10.1109/ISESE.2003.1237981
  3. Boehm, B. (1981) Software Engineering Economics. Prentice-Hall, Upper Saddle River.
  4. Yogesh, K. (2014) A Review on Effort Estimation Techniques used in Software Projects. IJCSMS International Journal of Computer Science & Management Studies, 14, 25-31.
  5. Khatibi, V. and Jawawi, D.N.A. (2010) Software Cost Estimation Methods: A Review. Journal of Emerging Trends in Computing and Information Sciences, 2, 21-29.
  6. Luschen, T. (2012) Fixed Bid vs. Time and Materials―Pros and Cons. http://www.sundoginteractive.com/sunblog/posts/fixed-bid-vs.-time-and-materials-pros-and-cons
  7. Education Portal, Study.com, Cost Estimating Courses with Training& Degree Program Info. http://education-portal.com/articles/Cost_Estimating_Courses_Overview_with_Training_and_Degree_Program_Information.html
  8. Galorath, D. (2008) Step: Estimate Validation and Review. http://www.galorath.com/wp/step-seven-estimate-validation-and-review.php
  9. Wiegers, K. (2002) Saving for a Rainy Day. http://www.ibm.com/developerworks/rational/library/content/RationalEdge/apr02/RainyDayApr02.pdf