THE MAJOR UNCERTAINTY FACTORS AFFECTING IN SOFTWARE COST ESTIMATION G. Rajkumar 1, Dr.K.Alagarsamy 2 1 Assistant Professor, N.M.S.S.Vellaichamy Nadar College, Madurai, India. 2 Associate Professor, Computer Centre, Madurai Kamaraj University, Madurai, India. ABSTRACT The majority of uncertainty factors that caused major problems were operational in the sense that they invoked problems that are normally within the responsibility of the Software Project Management. Each project will have a different capacity for uncertainty. This is a measure of how much uncertainty the project can tolerate. Accurate software cost and schedule estimations are essential especially for large software projects. However, once the required efforts have been estimated, little is done to recalibrate and reduce the uncertainty of the initial estimates. Uncertainties in estimates of resource requirements for future systems arise from many sources. One of the top reasons for the failures is inadequate or inconsistent application of proven project Uncertainty methods. All projects have some uncertainties. Most practitioners agree that improved estimation practices and processes have changed the uncertainty scale. This paper reviews the numbers of Uncertainty factors involved in the software cost estimation, which interact with each other. Keywords: Software Project Management, Uncertainty Factors, Managing Uncertainty. INTRODUCTION The accuracy of cost estimation result is important in any software development project. The crucial question in software development project is how to complete a project in specific time, budget and resources. A major part of the failure can be due to a lack of understanding of the software development process and the effect of that method used in the project plan, schedule and cost estimates. Organizations and individuals have studied a number of projects that have both succeeded and failed and some common factors emerge. Major projects by nature are usually more complex and contain more risk elements than other projects. Careful attention must be provided when preparing cost estimates for major projects. Costs should be determined for uncertainties within an estimate. All elements of the project must be reduced to a cost that can be accounted and budgeted. There should be a disciplined and comprehensive method of assessing and reassessing project risk and uncertainty. Most importantly, however all estimates have uncertainty. This paper discusses on Uncertainty factors in software development project. SOURCE OF UNCERTAINTY Uncertainty is the indefiniteness or variance of an event. The [1] Major sources of uncertainty in cost analysis of future system and force structure proposals may be classified in various ways. The variations arise for number of reasons. All projects have some uncertainties. For example Differences in Individual cost analysts, Errors in Cost estimating relationships, Errors in basic data and so on. THE MOST COMMON REASONS FOR PROJECT UNCERTAINTY The following list has been inspired by actual mistakes encountered in real-world systems projects. 1. MANAGEMENT 419
G Rajkumar et al, Int.J.Computer Technology & Applications,Vol 4 (3),419-424 objectives, while planning is the detailed formulation of the projects strategy in time, cost, quality, and quantity. The design provides an account of the project in its entirely, while the plan is largely limited to the operational perspective. Uncertainty factors related to the design of projects. The problems related to inappropriate components had to do with lack of training, maintenance, too sophisticated or ambitious components, etc. In this section we consider what might be done to develop a management uncertainty approach which encompasses all forms of project related uncertainty. Top management commitment is the factor that determines the tipping point between potential success and failure when developing and implementing business continuity management projects and systems. The term 'uncertainty management' [2]it implies more than just a combined consideration of threats and opportunities. Rather, the term implies a more fundamental purpose of exploring and understanding the origins of project uncertainty before seeking to manage it, with no preconceptions about what is desirable or undesirable. Key concerns are understanding where and why uncertainty is important in a given project context, and where it is not. The Management Problem occurs in all the stages of the Software 3. COMMUNICATION The communication problems [5] are a major factor in the delay and failure of software projects. Requirements descriptions are necessarily uncertain. The specification documentation may be so large that no member of the software team has read it all. In this situation, Uncertainty Factors 2% MANAGEMENT 11% 23% PROJECT DESIGN COMMUNICATION 9% STAFF EXPERIENCE 2% FUNDING PROBLEMS USER S RESPONSE 14% PRICE CHANGES 21% TECHNICAL FACTORS 5% 7% 6% development project. 2. PROJECT DESIGN Design is associated with the conceptual framework [3] that constitutes the project and establishes its main characteristics and RESOURCES OTHERS misunderstandings and conflicting views are rife. Software projects suffer serious breakdowns in co-ordination and communication throughout their development life cycle. We present some of the causes for the breakdown of communication during the requirements engineering phase of software 420
development projects. The communication attributes [6] provide information about whether the matter of concern should and has been communicated between the sender and the receiver. In software development, coordination and communication within and across organizational boundaries throughout the software development cycle are acknowledged as critical factors for success, especially when software is developed on a large scale. 4. STAFF EXPERIENCE Staff weaknesses had to do with qualifications of staff, the experience of expatriate personnel, lack of commitment, turn-over of qualified staff, etc. Planning and preparation had to do with the availability and quality of detailed plans of operation. [4] The projecting company had experience with the solution of similar problems. The project team did not experience any significant personnel losses or transfer during the project s development. 5. FUNDING PROBLEMS Delay is one of the [7] most serious problems in the completion of a project. Delay is common in projects and its extent varies considerably from project to project. Some projects are only a few days behind schedule; some are delayed by over a year. Thus, delay is costly for both owner and contractor. To the owner, a delay means loss of potential revenue; a delay means increased costs in overhead. The Financial issues are Payment issues, Cash flow issues, financial resource issues and Market issues. Financial-related delays are mainly due to poor cash flow management, followed by late payment, insufficient financial resources, and financial market instability. 6. USER RESPONSES Computer users have rapidly increased in both number and diversity. They [8] include managers, accountants, engineers, home makers, teachers, scientists, health care workers, insurance adjusters, salesmen, and administrative assistants. Many of these people work on tasks that rapidly vary on a yearly, monthly, or even daily basis. End users usually do not have training in professionals' programming languages, formal development processes, or modeling and diagramming notations. Moreover, end users often lack the time or motivation to learn these traditional techniques, since end users usually write code in order to achieve a short or medium-term goal rather than to create a durable software asset that will produce a continuing revenue stream. Consequently, supporting End user requires providing appropriate tools, social structures, and development processes that are highly usable, quickly learned, and easily integrated into domain practice. 7. RESOURCES One must seek to optimize the [9] knowledge and experience gain from the information gathered (its relevance, accuracy and suitability), in relation to the investments made to gather it (the time and money spent). The following describes various methods of gathering data and information. The reasonably priced and straight-forward ones should be preferred. In cases where the more complex and expensive methods must be used, one should evaluate critically which one(s) will be most appropriate. The approach taken by an external organization which is just starting up work in a new partner country will naturally differ from that of a local organization which is already established and in operation. Sources of information are survey reports, Government Official, 421
UNCERTAINTY 10 8 6 4 2 0 UNCERTAINTY IN DIFFERENT S S NGO Personal, Community members, etc., 8. PRICE CHANGES Pricing [11] must take into account broader organizational, economic, political and business considerations, such as Market opportunity, Financial Health, Requirements etc., Therefore, there may not be a simple relationship between the price to the customer for the software and the development costs. Because of the organizational considerations involved, project pricing should involve senior management, as well as software project managers. 9. TECHNICAL FACTORS The task was technically demanding. Under most circumstances regulatory cost estimates ignore the possibility of technological progress. As noted, regulators often have an obligation to identify a means for firms to meet the regulation, a requirement that seemingly precludes the projection or extrapolation of future costs or the expectation of cost declines. Technical change is, after all, notoriously difficult to predict; all we can say with some confidence, based on historical experience, is that the cost of compliance will decline, but we cannot say at what rate. Special consideration is given to soft or human-related factors in software engineering that are often not analyzed with equal detail as more technical factors. Choosing the right proper tool is important in cost estimation process. The right proper tool produce an accurate results. The traditional common tool used in estimating the cost is spreadsheet or Microsoft Excel and Microsoft Project. The biggest challenge in using the traditional method is the level of accuracy. Software development communities faced difficulty to achieve high accuracy in producing cost estimation result. Therefore, many studies have been done to develop automated tool for cost estimation process. However, no one claimed their proposed tool can produce accurate result. HOW TO MANAGE UNCERTAINTY? Uncertainty has no independent existence; it is not an object which can be identified, trapped and eliminated like a virus invading the living organism of our project. Uncertainty [12] naturally arises out of complex situations and is therefore an integral part of most projects. Each project will have a different capacity for uncertainty. This is a measure of how much uncertainty the project can tolerate. High risk projects, that is, typically novel projects which are pursuing ambitious goals where it is accepted that the 422
likelihood of failure is high, will have a high capacity for uncertainty. The usual response of industry to these challenges is to manage uncertainty using a framework in the figure 1. RECOGNIZE ANALYSE MINIMIZE RECTIFY uncertainty and how they become overlapped in time and iterated across. Each step has an overlap with the next and may require individuals to return to previous steps to make updates or to consider new uncertainties that had not been previously identified. EMPIRICAL RESULTS Hypothesis Statement: To reduce the cost challenges in cost estimation over uncertainty factors that arises in the project and program planning. If arises, how to manage uncertainty factors in software cost estimation. To evaluate or prove the Hypothesis statement CHI-SQUARE Testing is implemented. The chi-square formula used on these data is = (O - E) 2 /E Where, O is the Observed Frequency in each category E is the Expected Frequency in the corresponding category Figure 1 Managing Uncertainty df is the "degree of freedom" (n-1) The usual response of industry to these [13] challenges is to manage uncertainty using a framework in the above figure. The figure illustrates flow of the activities within the cost estimation managing CAUSES / S REQUIRE MENT ANALYS IS is Chi Square Uncertainty Matrix is framed phases over uncertainty factors matrix entries are defined as, DESIG N PHAS E IMPLEM ENTATIO N TESTIN G MAINT ENANC E MANAGEMENT 1 1 1 1 1 1 PROJECT DESIGN 0 0 1 0 0 0 COMMUNICATION 1 1 1 1 1 1 STAFF 0 0 1 1 1 1 EXPERIENCE FUNDING PROBLEMS 1 1 0 1 0 0 USER S RESPONSE 0 0 1 0 0 1 RESOURCES 1 1 1 1 1 1 PRICE CHANGES 1 0 0 1 0 1 TECHNICAL UNCERTAINTY MATRIX 0 1 1 1 1 1 FACTORS OTHERS 1 423
1 If the uncertainty factor occur in the phase. 0 If the Uncertainty factor does not occur in the phase. X 2 0.05 table value (45) = 61.656 Actual value of Uncertainty Matrix is 16.8875 Thus the hypothesis statement is proved. CONCLUSION They have been several issues raised regarding uncertainty. It is proposed that a formal definition and methodology is required to improve the integrity of future projects. Clear distinction between uncertainty and process complexity must be made to reduce the level of project complexity and lack of understanding. A method to identify uncertainties in a simpler fashion that will allow those with little experience to complete the tasks in the time allocated without too much involvement form experienced staff members. This paper review the numbers of Uncertainty factors are involved in the software cost estimation and some of which interact with each other. By managing uncertainty we can recognize the problems in causes then it can be analysed. The analysed problem should be minimized and rectified. REFERENCES [1] Paul.F.Dienemann, Estimating Cost Uncertainty Using Monte Carlo Techniques, The RAND Corporation. [2] Stephen Ward and Chris Chapman, Project Uncertainty Management as A Desirable Future, School of Management, University of Southampton, Highfield, Southampton SO17 1BJ. [3] Knut Samset, Project management in a high uncertainty Situation, Norwegian University of Science and Technology. [4] Dov Dvir, Thomas Lechler, Plans are nothing, changing plans is everything: the impact of changes on project success. [5] Amer Al-Rawas and Steve Easterbrook, Communication Problems in Requirements Engineering: A Field Study. [6] Joakim Pernstal, Robert Feldt, Tony Gorschek and Dan Floren, Communications Problems in Software Development A Model and its Industrial Application. [7] Hamzah Abdul-Rahman, Chen Wang, Roshana Takim and Szemin Wong, Project Schedule influenced by Financial Issues: Evidence in construction Industry. [8] Margaret M.Burnett and Christopher Scaffidi, End-User Development. [9] Dr.Anne Touwen, Hand Book for Projects: Development Management and Fundraising. [10] Winston Harrington, Richard D.Morgenstern and Peter Nelson.On the Accuracy of Regulatory Cost Estimates. [11] Sommerville, Software Engineering, Seventh Edition, Low Price Edition. [12] David Cleden and Gower, Managing Project Uncertainty Uncertainty in Project and Programme Plans. [13] Erkoyuncu J.A, Roy. R, Shehab.E, Wardle.P, Uncertainty challenges in service cost estimation for product service systems in the aerospace and defence industries 424