Abstract
Introduction
The software industry has had significant progress in recent years. The entire life of software includes two phases: production and maintenance. Software maintenance cost is increasingly growing and estimates showed that about 90% of software life cost is related to its maintenance phase. Extraction and considering the factors affecting the software maintenance cost help to estimate the cost and reduce it by controlling the factors.
Methods
In this study, the factors affecting software maintenance cost were determined then were ranked based on their priority and after that effective ways to reduce the maintenance costs were presented. This paper is a research study. 15 software related to health care centers information systems in Isfahan University of Medical Sciences and hospitals function were studied in the years 2010 to 2011.
Results and discussion
Among Medical software maintenance team members, 40 were selected as sample. After interviews with experts in this field, factors affecting maintenance cost were determined. In order to prioritize the factors derived by AHP, at first, measurement criteria (factors found) were appointed by members of the maintenance team and eventually were prioritized with the help of EC software. Based on the results of this study, 32 factors were obtained which were classified in six groups. “Project” was ranked the most effective feature in maintenance cost with the highest priority. By taking into account some major elements like careful feasibility of IT projects, full documentation and accompany the designers in the maintenance phase good results can be achieved to reduce maintenance costs and increase longevity of the software.
Key words: Health information systems, Cost, Effective factors, Software maintenance, AHP model
1. INTRODUCTION
Software production and maintenance issues, costs estimation, project schedule and knowledge of the process have always been complicated cases in software engineering (1-8). Cost depends on the creation and maintenance of the software. Thus, continuous monitoring and control of maintenance costs, and software optimization, are really important. Taking into account this statistic, also leads to careful software maintenance to reduce costs. Software maintenance costs are rising and based on the estimations about 90% of the cost related to the software life is in the maintenance phase. The estimations show 50 percent increase over the past two decades (5, 6). This increase is shown in the Figure 1.
In another study, the relative costs of maintenance and software development management were estimated more than 90% of the total cost of the software life (9, 10).
Floris and Harald, in their study introduced incomplete documentation and low maintenance as the factor to increase the cost. Therefore the defect makes it difficult for the maintenance team to expand or rebuild the product. Because the production team members may have left the company, be retired or replaced by another person who are unaware of the production process (2).
Since quality improvement and reduced software lifecycle time are among rapid application development techniques, the use of common-sense approach in the production shows that using individual techniques is not a threat to high availability, acceptable performance and quality of projects (4).
In a study researchers introduced support and maintenance software to estimate the maintenance effort. In these researchers’ point of view support and maintenance software were a set of activities to support IT. Magne Jorgensen came to this conclusion that 43 to 44% of the estimations are mentally done by the experts and using such models results in the estimations complexity (10).
Therefore in this research a software is introduced that due to the simplicity and ease of use is a replacement for the estimation models and experts’ mental estimations.
Because the design and implementation of medical software is growing in Iran, and today most medical centers and health centers like to set up this system, it seems to be a growing and effective trend in automation of hospitals and medical and healthcare centers.
Mr. Boehm studied the various cost factors in the simple or complex public systems (1). The results of his research are published in details in the book (Software Architectures: Critical Success Factors and Cost Drivers) (14). Many researchers focused on models and different methods of cost estimation. But what is important is to update and review each model factors. These models include analog models such as the Delphi method or estimations based on professional experience, models such as analysis of performance indicators and models of machine learning algorithms including neural networks, genetic programming, fuzzy logic, and many other models (11, 12, 13).
Henry Raymond (2007) in a study used the estimation techniques along with the knowledge of the project team, project manager and the president to design a predictive model for estimating the software. This model suggests that the maintenance plays an important role in the success of IT projects. Though the effective use of technology for estimating the time and cost is necessary but is not sufficient. To predict the exact time and cost, the management needs the knowledge, knowledge integration and sharing it.
2. HISTORICAL PERSPECTIVE TO THE STUDIES WITH AIM OF ESTIMATING THE EFFORT
A thesis of the University of California, with the aim of improving the volume and effort estimation models for software maintenance (12).
A study by Magne Jørgensen considering results of Simula Research Laboratory with an overview of studies in estimating software development effort (3).
Studies evaluation of Jyvaskyla Research Institute and University by Jussi Koskinena et al to estimate the costs of software, support modernization, repair and maintenance (5). Václav Macinka thesis from the University of Brno, with the aim to provide methods for determining the cost of software projects (8).
Taking into account the importance of software maintenance costs, Isfahan University of Medical Sciences, is pursuing the following objectives in this paper:
Identify the factors affecting the cost of software maintenance.
Prioritize each of the factors affecting the cost of software maintenance.
Provide solutions to reduce the maintenance costs of medical software
3. METHODOLOGY
The scope of this study is all the software produced in the years 2010 to 2011. 15 maintenance team members were kept as a community in this study. After sampling 40 members were selected randomly. In this study, a checklist- designed based on software engineering standards, researcher’s experiences and experts’ confirmation- was used for data collection. SPSS software and Expert Choice software were used for data analysis.
4. RESULTS
Environments to run 14 software were Windows and 1 other one was DOS. System operational dates were from 2000 until 2011 and the operational period has been variable from 20 months to 102 months. Current status of all systems was active, and only one of them had been disabled.
The results of the first research objectives are as follow:
* Based on studies from reputable books and literature in the field of software engineering, well-known sites and interviews with informatics experts, 32 effective factors were obtained and examined in the software maintenance cost estimations.
Cost factors were classified in 6 groups, which are as follow:
In line with the second goal (to prioritize each of the factors affecting the cost of medical software maintenance) the following results were obtained:
* For prioritization of the factors, at first and before modeling, the measurement criteria are needed to be identified. Then six found characteristics and their measurement criteria should be estimated and finally entered into the EC application.
To achieve this goal, the first measurement criteria (32 factors) were determined based on the importance in the software maintenance.
This questionnaire was prepared for a five-degree Likert scale and distributed among specialists in this field. After naming and ordering the information, the information was entered in the software. The list of measurement criteria and results after the interview are presented. Ranking of the influencing factors are displayed in Table 4 with the help of EC software.
The following results obtained regarding the third objective of the study:
* Based on the results of the current study and deficits in production and maintenance process, it seems that by following the guidelines that have been mentioned, one can reduce the cost of software maintenance to achieve desired results found in increasing productivity as well as making benefit of limited financial resources and manpower available in the country.
1) Providing an effective tool for Software Maintenance:
* Use appropriate language for system maintenance (especially in developing application systems) and develop tools to use these languages.
* Optimal use of system implementation such as CASE tools.
* The use of programming standards and protocols.
* The use of the principles, methods and modern programming techniques.
2) Using proper techniques in software development:
* Designing on the basis of independent modules.
* Designing and programming using methods consistent with the effective software engineering principles in software development.
* Prototyping before making the full system.
3) Having the right people for the software maintenance:
Select professionals familiar with the project language and programming language.
* Enough familiarity of project group with the host machine and the target machine.
* Having experienced group to offset the effect of the product increasing complexity on development and maintenance costs.
* Selecting individuals with the ability to adequately analyze the project and coordinate teamwork.
* Having individuals with experience in the similar work like this project and the host machine.
* Having individuals aware of the application and familiar with the expectations of the system.
4) Considering future
* Consider the program structure and acceptability of changes.
* Careful analysis of the needs based on the present situation and future trends for software maintenance.
* Doing changes in environment regarding software conditions, the efficiency increase rate and maintenance costs.
When the COCOMO model was accurately described the use of structured programming was not like today and software tools were not much available. Nowadays use of tools, has increased and structured techniques are common. Therefore, the factors that may have initially been defined are not important anymore. So some of the factors identified by Mr. Boehm (1) (such as computer memory limitations factor) are outdated, but the overall coefficients of the product categories, computer, personnel and project are still fit. Given that all HIS systems are linked in a network, computer network factor has been added. Bohemia took these factors into consideration at his time, but today with such the technology, no scholar has examined and updated these factors. In this study we updated factors extracted by Boehm. According to the results, the validity of all these factors were confirmed and importance of the factors related to “project” and “computer network” was higher than other attributes, this means that project managers must estimate the cost of maintenance software, taking into account these two characteristics.
5. CONCLUSION
Based on interviews, 32 factors were identified in the cost estimation of medical software maintenance and were approved by informatics specialists. Using AHP model parameters, 6 groups were ranked. Since in each research a problem is stated and examined and at the end solutions are proposed, in this study, we also provide solutions to reduce maintenance costs. What the Informatics experts agree on for reducing maintenance costs, is that “with respect to some important factors such as accuracy in HIS projects feasibility, along with complete documentation and helping the design and implementation mechanisms in the maintenance phase ,favorable results can be achieved in reducing the cost.“
Generally we can conclude that for an accurate assessment and reduce the cost of software maintenance, software maintenance factors determining is essential. This will lead to the longer life of software. Evaluation of these factors and their influence on each of the maintenance costs, help the project manager in making decisions and planning, and is essential in the success of software maintenance. Project managers must consider these factors for success in their projects and decisions:
* HIS software is generally in a network and for giving a better service to applicants, data collection is done on the central server. As a result, software should be developed in a network and maintainers should give their service in a network. In other words, if the software is Single that costs less, but for network applications, computer network costs are added to the costs. So in designing this software these costs should also be noted.
* To reduce maintenance costs and increase the longevity of HIS software determining the cost estimation factors is necessary, this can help to increase productivity and provide a native model to estimate the system maintenance cost. It will make the project manager able to estimate the real cost at any time in the system.
Table 1.
Row | Indexes Related to the Information of Cost Factors |
1 | Product Characteristics |
2 | Required Software Reliability |
3 | Database Size |
4 | Complexity Product |
5 | Computer Characteristics |
6 | Execution Time Constraint |
7 | Main Storage Constraint |
8 | Virtual Machine Volatility |
9 | Computer Turnaround Time |
10 | Personnel Characteristics |
11 | Annalist Capability |
12 | Application Experience |
13 | Programmer Capability |
14 | Virtual Machine Experience |
15 | Programming Language Experience |
16 | Project Characteristics |
17 | Modern Programming Practices |
18 | Use of Software Tools |
19 | Schedule Project Constraint |
20 | Factors of Project maintenance |
21 | Software Experience |
22 | Application Understanding |
23 | Software Development reference Access to Technical |
24 | Document Quality |
25 | Software Old |
26 | Group Capability |
2? | Environment Dependency |
28 | Structure Independency |
29 | Costs of Computer Networks |
30 | Security |
31 | Back up Data |
32 | Computer’s Virus |
Table 2.
Indexes Related to the Information of Cost Factors | Very Little | Little | Normal | Much | Very Much |
---|---|---|---|---|---|
Product Characteristics | |||||
Required Software Reliability | 7.5 | 7.5 | 57.5 | 27.5 | 0 |
Database Size | 40 | 30 | 20 | 10 | 0 |
Product Complexity | 0 | 2.5 | 10 | 40 | 47.5 |
Computer Characteristics | |||||
Execution Time Constraint | 0 | 0 | 2.5 | 30 | 67.5 |
Main Storage Constraint | 17.5 | 80 | 2.5 | 0 | 0 |
Virtual Machine Volatility | 5 | 15 | 42.5 | 35 | 2.5 |
Computer Turnaround Time | 10 | 45 | 35 | 10 | 0 |
Personnel Characteristics | |||||
Annalist Capability | 0 | 0 | 0 | 40 | 60 |
Application Experience | 0 | 5 | 15 | 32.5 | 45 |
Programmer Capability | 0 | 2.5 | 42.5 | 40 | 20 |
Virtual Machine Experience | 47.5 | 35 | 17.5 | 0 | 0 |
Programming Language Experience | 15 | 27.5 | 42.5 | 15 | 0 |
Project Characteristics | |||||
Modern Programming Practices | 0 | 15 | 15 | 42.5 | 52.5 |
Use of Software Tools | 0 | 20 | 27.5 | 35 | 42.5 |
Schedule Project Constraint | 47.5 | 37.5 | 15 | 0 | 0 |
Factors of Project maintenance | |||||
Software Experience | 0 | 0 | 7.5 | 27.5 | 65 |
Application Understanding | 0 | 0 | 5 | 35 | 60 |
Software Development reference Access to Technical | 0 | 0 | 15 | 40 | 45 |
Document Quality | 0 | 5 | 0 | 25 | 70 |
Software Old | 7.5 | 27.5 | 60 | 5 | 0 |
Group Capability | 0 | 0 | 27.5 | 15 | 57.5 |
Environment Dependency | 45 | 35 | 20 | 0 | 0 |
Structure Independency | 5 | 27.5 | 67.5 | 0 | 0 |
Costs of Computer Networks | |||||
Security | 0 | 0 | 0 | 10 | 90 |
Back up Data | 0 | 0 | 42.5 | 35 | 22.5 |
Computer’s Virus | 0 | 2.5 | 5 | 35 | 57.5 |
Table 3.
Abbreviated | Rank | 5 factors influencing maintenance costs |
---|---|---|
A1 | 1 | Project |
A2 | 2 | Maintenance Project |
A3 | 3 | Personnel |
A4 | 6 | Product |
A5 | 5 | Computer |
A6 | 3 | Computer Networks |
References
- 1.Boehm BW. Software Architectures: Critical Success Factors and Cost Drivers, IEEE Transactions on Software Engineering. 2007: 965-971 [Google Scholar]
- 2.Floris P, Vogt Harald H. How to save on software maintenance costs, Omnext white paper, SOURCE 2 VALUE, 2010 [Google Scholar]
- 3.Jørgensen M. A review of studies on expert estimation of software development effort. The Journal of Systems and Software. 2004; 70: 37-60 [Google Scholar]
- 4.Kile James F, Inampudi Maheshwar R. Agile Software Development Quality Assurance. 2007. IBM Corporation, USA, 186-205 [Google Scholar]
- 5.Koskinen J. Software Maintenance Costs. Jyväskylä: University of Jyväskylä, 2010 [Google Scholar]
- 6.Koskinen Ó Jussi Information Technology Research Institute, Software Maintenance Costs, ELTIS-project, University of Jyväskylä, Finland, Version: 1.61, 2003 [Google Scholar]
- 7. http://users.jyu.fi/~koskinen/smcosts.htm. [Google Scholar]
- 8.Macinka V. Cost Determination Methods of Software Projects, Brno: Masaryk University in Brno, 2009 [Google Scholar]
- 9.Marounek P. SW Support and maintenance: Extension of onthology about COE concept”, simplification of effort estimation, thesis. Prague, VSE-FIS, 2012 [Google Scholar]
- 10.Marounek P. Simplified approach to effort estimation in software maintenance, University of economic, Prague, Faculty of information and statistics. Journal of systems integration. 2012: 51-63 [Google Scholar]
- 11.Peter H, Balk J, Kim S, Boehm B. A guality-based cost estimation model for the product line life cycle. Communication of the ACM. 2006; 49(12). [Google Scholar]
- 12.Nguyen Vu. Improved Size and Effort Estimation Models For Software Maintenance. University of Southern California, 2010 [Google Scholar]
- 13.Shen J. Development of a Software Effort and Cost Estimation Tool Based on EFMSEC”, Faculty of Graduate Studies In Partial Fulfilment Of The Requirements For the Degree of Master of Sciences University of Calgary, 2008. [Google Scholar]
- 14.Somerville I. Software Engineering. International Computer Science Series. 2007. [Google Scholar]
- 15.Masic I. Medical informatics between technology, philosophy and science. Med Arh. Med Arh. 2004; 58(1, suppl.2): 73-78 [PubMed] [Google Scholar]
- 16.Masic I, Gribajcevic M, Pandza H. Expert Systems in Gastroenterology. Med Arh. 2002; 58(1, suppl 1): 57-58 [PubMed] [Google Scholar]