Home | Issues | Profile | History | Submission | Review
Vol: 58(72) No: 2 / June 2013        

Estimating Software Maintenance Effort by Analyzing Historical Data in a Very Small Software Company
Zeljko Stojanov
University of Novi Sad, Technical Faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: zeljko.stojanov@tfzr.rs
Dalibor Dobrilovic
University of Novi Sad, Technical Faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: ddobrilo@tfzr.rs
Jelena Stojanov
University of Novi Sad, Technical Faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: jelena@tfzr.uns.ac.rs
Vesna Jevtic
University of Novi Sad, Technical Faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: vesna@tfzr.uns.ac.rs

Keywords: software maintenance, effort estimation, historical data, regression analysis, very small software company

Because of the high costs in software maintenance, it is very important to develop accurate estimation models for maintenance efforts and costs. These models are usually based on mathematical models that use quantitative data collected from available historical data in maintenance repositories. Estimation of maintenance efforts and costs can significantly contribute to maintenance practice improvement in very small software companies due to the limitations of these companies. This article presents an approach to software maintenance effort estimation based on historical data on maintenance requests’ processing available in issue tracking system in a very small local software company. Over 1900 requests, collected during 19 months in 2010 and 2011, were selected for analysis. The calculation of estimated effort is based on the following parameters: the frequency of submitted user requests for particular periods of time important for organizing work in the company, the existence of maintenance service agreement for clients, the number of programmers assigned to the task associated to each request, and the number of working hours required for requests solving. The approach calculates correlation and establishes linear regression between frequencies of submitted user requests and the average time required for completing requests. An average number of working hours for processing user requests in periods of time important for internal company organization are estimated. The article concludes with implications for practice and research, and recommendations for adapting this approach to other small software organizations.

[1] G. A. Junio, M. N. Malta, H. de Almeida Mossri, H. T. Marques-Neto and M. T. Valente, “On the Benefits of Planning and Grouping Software Maintenance Requests”, in Proceedings of 15th European Conference on Software Maintenance and Reengineering, 2011, pp. 55–64.
[2] P. Stachour and D. Collier-Brown,” You Don\'t Know Jack About Software Maintenance”, Communications of the ACM, vol. 52, no. 11, pp. 54–58, 2009.
[3] K. H. Bennett and V. T. Rajlich, “Software maintenance and evolution: a roadmap,” in Proceedings of the Conference on The Future of Software Engineering (ICSE ’00), 2000, pp. 73–87.
[4] F. J. Pino, F. Ruiz, F. Garcia a, and M. Piattini, “A software maintenance methodology for small organizations: Agile_mantema,” Journal of Software: Evolution and Process, vol. 24, no. 8, pp. 851–876, 2012.
[5] B. Boehm and V. R. Basili, “Software defect reduction top 10 list,” Computer, vol. 34, no. 1, 2001, pp. 135–137.
[6] A. April and A. Abran, “A software maintenance maturity model (s3m): Measurement practices at maturity levels 3 and 4,” Electronic Notes in Theoretical Computer Science (Proceedings of the International Workshop on Software Quality and Maintainability (SQM 2008)), vol. 233, pp. 73–87, 2009.
[7] C. Jones. Software Engineering Best Practices. McGraw-Hill, Inc., New York, NY, USA, 2010.
[8] A. Abran, P. Bourque, R. Dupuis, J. W. Moore, and L. L. Tripp, Eds. Guide to the Software Engineering Body of Knowledge (SWEBOK). Piscataway, NJ, USA: IEEE Press, 2004.
[9] B. Kenmei, G. Antoniol, and M. di Penta, “Trend analysis and issue prediction in large-scale open source systems,” in Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering, ser. CSMR ’08, Athens, Greece, 2008, pp. 73–82.
[10] M. Jorgensen, “Experience with the accuracy of software maintenance task effort prediction models,” IEEE Transactions on Software Engineering, vol. 21, no. 8, pp. 674–681, 1995.
[11] H. Kagdi, M. L. Collard and J. I. Maletic, “A survey and taxonomy of approaches for mining software repositories in the context of software evolution”, Journal of Software Maintenance and Evolution: Research and Practice, vol. 19, no. 2, pp. 77–131, 2007.
[12] T. Girba and S. Ducasse, “Modeling history to analyze software evolution”, Journal of Software Maintenance and Evolution: Research and Practice, vol. 18, no. 3, pp. 207–236, 2006.
[13] B. Dit, A. Holtzhauer, D. Poshyvanyk and H. Kagdi, “A dataset from change history to support evaluation of software maintenance tasks”, in Proceedings of the 10th Working Conference on Mining Software Repositories (MSR \'13), San Francisco, CA, USA, 2013, pp. 131–134.
[14] J. Sliwerski, T. Zimmermann and A. Zeller, “When do changes induce fixes?”, in Proceedings of the 2005 international workshop on Mining software repositories (MSR \'05), 2005, pp. 1–5.
[15] Z. Stojanov, D. Dobrilovic and J. Stojanov, “Analyzing Trends for Maintenance Request Process Assessment: Empirical Investigation in a Very Small Software Company”, Theory and Applications of Mathematics & Computer Science, vol. 3, no 2, pp. 59–74, 2013.
[16] Z. Stojanov, D. Dobrilovic, J. Stojanov and V. Jevtic. “Context Dependent Maintenance Effort Estimation: Case Study in a Small Software Company”, in Proceedings of the 8th IEEE International Symposium on Applied Computational Intelligence and Informatics (SACI 2013), Timisoara, Romania, 2013, pp. 461–466.
[17] I. Richardson and C. G. von Wangenheim, “Guest editors’ introduction: Why are small software organizations different?” IEEE Software, vol. 24, no. 1, pp. 18–22, 2007.
[18] C. Y. Laporte, A. Renault, S. Alexandre, and T. Uthayanaka, “The application of iso/iec jtc 1/sc7 software engineering standards in very small enterprises,” ISO Focus, September 2006, pp. 36–38.
[19] Z. Stojanov, D. Dobrilovic, and V. Jevtic, “Identifying properties of software change request process: Qualitative investigation in very small software companies,” in Proceedings of the 9th IEEE International Symposium on Intelligent Systems and Informatics (SISY 2011), Subotica, Serbia, 2011, pp. 47–52.
[20] Z. Stojanov, “Using qualitative research to explore automation level of software change request process: A study on very small software companies,” Scientific Bulletin of The Politehnica University of Timisoara, Transactions on Automatic Control and Computer Science, vol. 57 (71), no. 1, pp. 31–40, 2012.
[21] R. Hewett and P. Kijsanayothin, “On modeling software defect repair time,” Empirical Software Engineering, vol. 14, no. 2, pp. 165–186, 2009.
[22] S. Grimstad, M. Jørgensen and K. Moløkken-Østvold, “Software effort estimation terminology: The tower of Babel”, Information and Software Technology, vol. 48, no. 4, pp. 302–310, April 2006.
[23] F. Niessink and H. Van Vliet, “Two case studies in measuring software maintenance effort,” in Proceedings of the International Conference on Software Maintenance, ser. ICSM ’98, Bethesda, MD, USA, 1998, pp. 76–85.
[24] H. Leung, “Estimating maintenance effort by analogy,” Empirical Software Engineering, vol. 7, no. 2, pp. 157–175, 2002.
[25] A. D. Lucia, E. Pompella, and S. Stefanucci, “Assessing effort estimation models for corrective maintenance through empirical studies”, Information and Software Technology, vol. 47, no. 1, pp. 3–15, 2005.
[26] L. Yu, “Indirectly predicting the maintenance effort of open-source software,” Journal of Software Maintenance and Evolution: Research and Practice, vol. 18, no. 5, pp. 311–332, 2006.
[27] P. Bhatt, G. Shroff, and A. K. Misra, “Dynamics of software maintenance,” ACM SIGSOFT Software Engineering Notes, vol. 29, no. 5, pp. 1–5, 2004.
[28] L. Hatton, “How Accurately Do Engineers Predict Software Maintenance Tasks?”, Computer, vol. 40, no. 2, pp. 64–69, 2007.
[29] E. B. Swanson, “The dimensions of maintenance”, in Proceedings of the 2nd International Conference on Software engineering (ICSE \'76), 1976, pp. 492–497.
[30] C. Chatfield, “The Initial Examination of Data”, Journal of the Royal Statistical Society. Series A (General), vol. 148, no. 3, pp. 214–253, 1985.
[31] D. Cousineau and S. Chartier, “Outliers detection and treatment: a review”, International Journal of Psychological Research, vol. 3, no. 1, pp. 58–67, 2010.
[32] D. Yu, G. Sheikholeslami and A. Zhang, “Findout: finding outliers in very large datasets”, Knowledge and Information Systems, vol. 4, no. 4, pp. 387–412, 2002.
[33] J. Buglear, Stats Means Business: A Guide to Business Statistics. Oxford, UK: Buttworth-Heinemann, 2001.
[34] L. Kish, Statistical Design for Research. Hoboken, NJ, USA: John Wiley & Sons, Inc., 2005.
[35] M. P. Allen, Understanding Regression Analysis. New York, USA: Springer US, 1997.
[36] C. A. Tompkins, “Using and interpreting linear regression and correlation analyses: Some cautions and considerations,” in Clinical Aphasiology Conference, Destin, FL, USA: vol. 21, pp. 35–46, June 1991.
[37] T. Quirk, Excel 2010 for Educational and Psychological Statistics: A Guide to Solving Practical Problems. New York, NY, USA: Springer New York, 2012.
[38] I. S. Helland, “On the interpretation and use of R2 in regression analysis”, Biometrics, vol. 43, no. 1, pp. 61–69, 1987.
[39] S. Brown, K. Lo, and T. Lys, “Use of R2 in accounting research: measuring changes in value relevance over the last four decades”, Journal of Accounting and Economics, vol. 28, no. 2, pp. 83–115, 1999.