208 S OF T WARE E NGINEERING AND T ESTING

208 S OF T WARE E NGINEERING AND T ESTING

plan and predict future projects and provide baseline support for project management and supports decision-making.

TABLE 9.2 Software-Project Estimation Activity

Tasks Involved

Planning Cost estimation, planning for training of manpower, project scheduling, and budgeting the project.

Controlling Size metrics and schedule metrics help the manager to keep control of the project during execution.

Monitoring/improving Metrics are used to monitor progress of the project and wherever possible sufficient resources are allocated to improve it.

FIGURE 9.7 Software-project Estimation

9.9.1 Estimating Size

Estimating the size of the software to be developed is the very first step to make an effective estimation of the project. Customer requirements and system specifications form a baseline for estimating the size of a software. At a later stage of the project, system design documents can provide additional details for estimating the overall size of the software.

The ways to estimate project size can be through past data from an earlier developed system. This is called estimation by analogy.

The other way of estimation is through product feature/functionality. The system is divided into several subsystems depending on functionality, and the size of each subsystem is calculated.

S OFTWARE M AINTENANCE AND P ROJECT M ANAGEMENT 209

9.9.2 Estimating Effort

Once the size of software is estimated, the next step is to estimate the effort based on the size. The estimation of effort can be made from the organizational specifics of the software-development life-cycle. The development of any application software system is more than just the coding of the system. Depending on deliverable requirements, the estimation of effort for a project will vary.

Efforts are estimated in the number of person-months. The best way to estimate effort is based on the organization’s own

historical data of development processes. Organizations follow a similar development life-cycle when developing various applications.

If the project is of a different nature, which requires the organization to adopt a different strategy for development, then different models based on algorithmic approaches can be devised to estimate the required effort.

9.9.3 Estimating Schedule

The next step in the estimation process is estimating the project schedule from the effort estimated. The schedule for a project will generally depend on human resources involved in a process. Efforts in person-months are translated to calendar months.

Schedule estimation in calendar months can be calculated using the following model [McConnell]:

1/3 Schedule in calendar months = 3.0*(person-months) The parameter 3.0 is variable, used depending on the situation that works best

for the organization.

9.9.4 Estimating Cost

Cost estimation is the next step for projects. The cost of a project is derived not only from the estimates of effort and size but from other parameters, such as hardware, travel expenses, telecommunication costs, training costs, etc. Figure 9.8 depicts the cost-estimation process.

FIGURE 9.8 Cost-estimation Process

210 S OF T WARE E NGINEERING AND T ESTING

Figure 9.9 depicts the project-estimation process.

FIGURE 9.9 Project-estimation Process Once the estimation is complete, we may be interested to know how accurate the

estimates are. The answer to this is “we do not know until the project is complete.” There is always some uncertainty associated with all estimation techniques. The accuracy of project estimation will depend on the following:

Accuracy of historical data used to project the estimation. Accuracy of input data to various estimates. Maturity of an organization’s software-development process.

The following are some of the reasons cost estimation can be difficult: Software-cost estimation requires a significant amount of effort. Sufficient

time is usually not allocated for planning. Software-cost estimation is often done hurriedly, without an appreciation

for the actual effort required and is far from realistic. Lack of experience for developing estimates, especially for large projects. An estimator uses the extrapolation technique to estimate, ignoring the

non-linear aspects of the software-development process.

9.9.5 Reasons for Poor/Inaccurate Estimation

The following are some of the reasons for poor and inaccurate estimation: Requirements are imprecise. Also, requirements change frequently. The project is new and is different from past projects handled. Non-availability of enough information about past projects. Estimates are forced to be based on available resources.

S OFTWARE M AINTENANCE AND P ROJECT M ANAGEMENT 211

Cost and time tradeoffs. If we elongate the project, we can reduce overall costs. Usually, customers

and management do not like long project durations. There is always the shortest possible duration for a project, but it comes at a cost.

The following are some of the problems associated with estimates: Estimating size is often skipped and a schedule is estimated, which is of

more relevance to management. Estimating size is perhaps the most difficult step, which has a bearing on

all other estimates. Let us not forget that even good estimates are only projections and subject

to various risks. Organizations often give less importance to collection and analysis of

historical data of past development projects. Historical data is the best input to estimate a new project.

Project managers often underestimate the schedule because management and customers often hesitate to accept a prudent realistic schedule.

9.9.6 Project-estimation Guidelines

Some guidelines for project estimation are as follows: Preserve and document data pertaining to past projects. Allow sufficient time for project estimation especially for bigger projects. Prepare realistic developer-based estimates. Associate people who will work

on the project to reach a realistic and more accurate estimate. Use software-estimation tools. Re-estimate the project during the life-cycle of the development process. Analyze past mistakes in the estimation of projects.

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

ANTARA IDEALISME DAN KENYATAAN: KEBIJAKAN PENDIDIKAN TIONGHOA PERANAKAN DI SURABAYA PADA MASA PENDUDUKAN JEPANG TAHUN 1942-1945 Between Idealism and Reality: Education Policy of Chinese in Surabaya in the Japanese Era at 1942-1945)

1 29 9

EVALUASI PENGELOLAAN LIMBAH PADAT MELALUI ANALISIS SWOT (Studi Pengelolaan Limbah Padat Di Kabupaten Jember) An Evaluation on Management of Solid Waste, Based on the Results of SWOT analysis ( A Study on the Management of Solid Waste at Jember Regency)

4 28 1

Improving the Eighth Year Students' Tense Achievement and Active Participation by Giving Positive Reinforcement at SMPN 1 Silo in the 2013/2014 Academic Year

7 202 3

The Correlation between students vocabulary master and reading comprehension

16 145 49

An Analysis of illocutionary acts in Sherlock Holmes movie

27 148 96

Improping student's reading comprehension of descriptive text through textual teaching and learning (CTL)

8 140 133

An Identity Crisis In Hanrahan's Lost Girls And Love Hotels

0 72 65

The correlation between listening skill and pronunciation accuracy : a case study in the firt year of smk vocation higt school pupita bangsa ciputat school year 2005-2006

9 128 37

Transmission of Greek and Arabic Veteri

0 1 22