Home | Issues | Profile | History | Submission | Review
Vol: 59(73) No: 2 / December 2014 

Ranking Software Maintenance Processes in а Small Software Company in the Context of Software Process Improvement
Zeljko Stojanov
University of Novi Sad, Technical faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: zeljko.stojanov@tfzr.rs
Vladimir Brtka
University of Novi Sad, Technical faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: vbrtka@tfzr.uns.ac.rs
Dalibor Dobrilovic
University of Novi Sad, Technical faculty “Mihajlo Pupin”, Zrenjanin, Serbia, e-mail: ddobrilo@tfzr.rs


Keywords: software maintenance process, small software company, fuzzy screening, decision-making, process assessment, process improvement.

Abstract
Software maintenance is recognized in literature and practice as the most demanding and the most profitable part of software life cycle. Effective management of maintenance processes require appropriate and on-time decision making in software companies, as well as continuous assessment and improvement of the practice. Assessment and improvement of maintenance processes increase the efficiency of software companies, the quality of their product and services and their positioning at the market. Several approaches have been proposed for process assessment and improvement, but small software companies face difficulties in adopting and implementing them. Small companies, due to their limitations, require cooperation with researcher and experts that will assist in assessment and improvement projects, as well as bottom-up approach that will consider specific context in small companies. This paper presents a study on ranking five typical maintenance processes in a small software company in the context of software improvement project. Typical maintenance processes were identified through observation of the practice in the company and analysis of maintenance repository with requests submitted by the clients. Ranking was performed by using fuzzy screening method, classified as multi criteria multi expert decision making. Attributes related to time-line of maintenance processes are used as criteria. Three programmers from the company and one researcher were engaged as experts. The whole process of ranking is presented, as well as integration of fuzzy screening ranking in the assessment phase of process improvement project. The article concludes with lessons learned from the experience and promising directions for further research.

References
[1] I. Richardson and C. G. von Wangenheim, “Guest Editors\' Introduction: Why are Small Software Organizations Different?”, IEEE Software, vol. 24, no. 1, 2007, pp. 18-22.
[2] J. Bell, D. Crick and S. Young, “Small Firm Internationalization and Business Strategy: An Exploratory Study of \'Knowledge-Intensive\' and \'Traditional\' Manufacturing Firms in the UK”, International Small Business Journal, vol. 22, no. 1, February 2004, pp. 23-56.
[3] M. E. Fayad, M. Laitinen and R. P. Ward, “Thinking objectively: software engineering in the small”, Communications of the ACM, vol. 43, no. 3, March 2000, pp. 115-118.
[4] C. G. von Wangenheim, T. Varkoi and C. F. Salviano, “Standard based software process assessments in small companies”, Software Process: Improvement and Practice, vol. 11, no. 3, 2006, pp. 329–335.
[5] M. Lepmets, T. McBride and E, Ras, “Goal alignment in process improvement”, Journal of Systems and Software, vol. 85, no. 6, June 2012, pp. 1440-1452.
[6] D. E. Perry, N. Staudenmayer, and L. G. Votta, “People, Organizations, and Process Improvement”, IEEE Software, vol. 11, no. 4, July 1994, pp. 36-45.
[7] 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), pp. 73–87, 2000.
[8] S. L. Pfleeger, Software Engineering: Theory and Practice, 3rd ed. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2006.
[9] F. J. Pino, F. Ruiz, F. García and M. Piattini, “A software maintenance methodology for small organizations: Agile_MANTEMA”, Journal of Software: Evolution and Process, vol. 24, no. 8, December 2012, pp. 851–876.
[10] B. Boehm and V. R. Basili, “Software defect reduction top 10 list”, Computer, vol. 34, no. 1, January 2001, pp. 135–137.
[11] I. Sommerville, Software engineering, 6th ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. 2001.
[12] A. April, J. H. Hayes and A. Abran, “Software Maintenance Maturity Model (SMmm): the software maintenance process model”, Journal of Software Maintenance: Research and Practice, vol. 17, no. 3, 2005, pp. 197 - 223.
[13] 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, vol. 233, Proceedings of the International Workshop on Software Quality and Maintainability (SQM 2008), pp. 73-87, 27 March 2009.
[14] R. Singh, “International Standard ISO/IEC 12207 Software Life Cycle Processes”, Software Process: Improvement and Practice, vol. 2, no. 1, 1996, pp. 35–50.
[15] L. C. Briand, V. R. Basili, Y-M. Kim and D. R. Squier, “A Change Analysis Process to Characterize Software Maintenance Projects”, In Proceedings of the International Conference on Software Maintenance (ICSM ’94), pp. 38–49,1994.
[16] N. F. Schneidewind, “Measuring and Evaluating Maintenance Process Using Reliability, Risk, and Test Metrics”, IEEE Transactions on Software Engineering, vol. 25, no. 6, Nov./Dec. 1999, pp. 769-781.
[17] 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 Timişoara, Transactions on Automatic Control and Computer Science, vol. 57 (71), no. 1, March 2012, pp. 31-40.
[18] Z. Stojanov, D. Dobrilovic, and V. Jevtic, “Identifying properties of software change request process: Qualitative investigation in very small software companies”, In Proceedings of 9th IEEE International Symposium on Intelligent Systems and Informatics (SYSI 2011), pp. 47–52, 2011, Subotica, Serbia.
[19] P. Baranyi, P. Korondi, H. Hashimoto, and M. Wada, “Fuzzy inversion and rule base reduction”, In Proceedings of IEEE International Conference on Intelligent Engineering Systems (INES’97), pp. 301-306, 1997. Budapest, Hungary.
[20] R.-E. Precup, S. Preitl, M. Balas, and V. Balas, “Fuzzy controllers for tire slip control in anti-lock braking systems”, In Proceeding of IEEE International Conference on Fuzzy Systems (FUZZ-IEEE 2004), vol. 3, pp. 1317-1322, 2004, Budapest, Hungary.
[21] D. Hladek, J. Vascak, and P. Sincak, “Hierarchical fuzzy inference system for robotic pursuit evasion task”, In Proceedings of 6th International Symposium on Applied Machine Intelligence and Informatics (SAMI 2008), pp. 273-277, 2008, Herľany, Slovakia.
[22] A. S. Aisjah and S. Arifin, “Maritime weather prediction using fuzzy logic in Java sea for shipping feasibility”, International Journal of Artificial Intelligence, vol. 10, no. S13, 2013, pp. 112-122.
[23] D. Falessi, G. Cantone, R. Kazman and P. Kruchten, “Decision-making techniques for software architecture design: A comparative survey”, ACM Computing Surveys, vol. 43, no. 4, October 2011, Article No. 33.
[24] A. Felfernig, M. Schubert, M. Mandl, F. Ricci and W. Maalej, “Recommendation and decision technologies for requirements engineering”, In Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering (RSSE \'10), pp. 11-15, 2010.
[25] L. G. Martinez, J. R. Castro, A. Rodríguez-Díaz and G. Licea, “Decision making fuzzy model for software engineering role assignment based on fuzzy logic and big five patterns using RAMSET’, Intelligent Decision Technologies, vol. 6, no. 1, 2012, pp. 59-67.
[26] J. Wang and Y-I Lin, “A fuzzy multicriteria group decision making approach to select configuration items for software development”, Fuzzy Sets and Systems, vol. 134, no. 3, 2003, pp. 343-363.
[27] E. Faghihini and N. Mollaverdi, “Building a maintenance policy through a multi-criterion decision-making model”, Journal of Industrial Engineering International, 2012, vol. 8, paper 14.
[28] V. Bauer and L. Heinemann, “Understanding API Usage to Support Informed Decision Making in Software Maintenance”. In Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering (CSMR \'12), pp. 435-440. March 27-30, 2012. Szeged, Hungary.
[29] Z. Stojanov, V. Brtka and D. Dobrilovic, “Evaluation of the Software Maintenance Tasks Based on Fuzzy Screening”, In Proceedings of IEEE 11th International Symposium on Intelligent Systems and Informatics (SISY 2013), pp. 375-379, 2013, Subotica, Serbia.
[30] Z. Stojanov, V. Brtka and D. Dobrilovic, “Evaluating Software Maintenance Processes in Small Software Company based on Fuzzy Screening”, In Proceedings of 9th IEEE International Symposium on Applied Computational Intelligence and Informatics (SACI 2014), pp. 67-72, 2014, Timisoara, Romania.
[31] W. M. V. Chang and T. C. E. Cheng, “A process improvement choice model”, Knowledge and Process Management, vol. 6, no. 4, 1999, pp. 189–204.
[32] CMMI Product Team. Appraisal Requirements for CMMI, Version 1.1 (ARC, V1.1). Technical report CMU/SEI-2001-TR-034. 2001. Software Engineering Institute, Carnegie Mellon University. Pittsburgh, PA, USA.
[33] ISO/IEC 15504. Information Technology – Process Assessment (Parts 1–5) (SPICE). Geneva, Switzerland.
[34] ISO/IEC TR 29110:2011. Software engineering — Lifecycle profiles for Very Small Entities (VSEs) (Parts 1–5). 2011. Geneva, Switzerland.
[35] I. E. Espinosa-Curiel, J. Rodrıguez-Jacobo and J. A. Fernandez-Zepeda, “A framework for evaluation and control of the factors that influence the software process improvement in small organizations”, Journal of Software: Evolution and Process, vol. 25, no. 4, 2013, pp. 393–406.
[36] T. Dyba. “Factors of software process improvement success in small and large organizations: an empirical study in the scandinavian context”. In Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-11), pp. 148–157, 2003.
[37] G. Coleman and R. O\'Connor, “Using grounded theory to understand software process improvement: A study of Irish software product companies”, Information and Software Technology, vol. 49, no. 6, Qualitative Software Engineering Research, June 2007, pp. 654-667.
[38] F. J. Pino, F. Garcıa and M. Piattini, “Software process improvement in small and medium software enterprises: a systematic review”, Software Quality Journal, vol. 16, no. 2, June 2008, pp. 237-261.
[39] D. Mishra and A. Mishra, “Software Process Improvement in SMEs: A Comparative View”, Computer Science and Information Systems, vol. 6, no. 1, June 2009, pp. 111-140.
[40] H. Oktaba and M. Piattini, Software Process Improvement for Small and Medium Enterprises: Techniques and Case Studies (1st ed.). Information Science Reference, Hershey, PA. 2008.
[41] P. Kuvaja, J. Palo and A. Bicego, “TAPISTRY—A Software Process Improvement Approach Tailored for Small Enterprises”, Software Quality Journal, vol. 8, no. 2, 1999, pp. 149-156.
[42] K. Kautz, “Software process improvement in very small enterprises: does it pay off?”, Software Process: Improvement and Practice, vol. 4, no. 4, December 1998, pp. 209–226.
[43] P. Clarke and R. V. O’Connor, “The influence of SPI on business success in software SMEs: An empirical study”, Journal of Systems and Software, vol. 85, no. 10, October 2012, pp. 2356-2367.
[44] European Commission, The new SME definition: User guide and model declaration. 2005.
[45] N. Baddoo, T. Hall and D. Wilson, “Implementing a people focused SPI programme”, In Proceedings of the 11th European Software Control and Metrics Conference and the Third SCOPE Conference on Software Product Quality, pp. 373-381. April 18–20, 2000. Munich, Germany.
[46] F. Pettersson, M. Ivarsson, T. Gorschek and P. Ohman. “A practitioner’s guide to light weight software process assessment and improvement planning”, Journal of Systems and Software, vol. 81, no. 6, 2008, pp. 972–995.
[47] F. J. Pino, C. Pardo, F. Garcia and M. Piattini, “Assessment methodology for software process improvement in small organizations”, Information and Software Technology, vol. 52, no. 10, 2010, pp. 1044–1061.
[48] J. A. Calvo-Manzano Villalón, G. Cuevas Agustín, T. San Feliu Gilabert, A. De Amescua Seco, L. García Sánchez and M. Pérez Cota, “Experiences in the Application of Software Process Improvement in SMEs”, Software Quality Journal, vol. 10, no. 3, 2002, pp. 261-273.
[49] D.K. Dunaway and S. Masters, CMM-Based Appraisal for Internal Process Improvement (CBA IPI): Method Description, Technical Report: CMU/SEI-96-TR-007. Carnegie Mellon University, Software Engineering Institute, Pittsburgh, USA. 2006.
[50] R. R. Yager, Fuzzy Screaning Systems, in: R.Lowen and M.Roubens eds., Fuzzy Logic: State of the Art, Kluwer. Dordrecht, Netherland. 1993, pp. 251-261.
[51] C. Carlsson and R. Fullér, “On fuzzy screening systems”, In Proceedings of EUFIT’95 Conference, pp. 1261–1264. August 28-31 1995, Aachen, Germany, Verlag Mainz, Aachen, Germany.
[52] S. Wibowo and H. Deng, “A fuzzy rule-based approach for screening international distribution centres”, Computers and Mathematics with Applications, vol. 64, no. 5, September 2012, pp. 1084–1092.
[53] R. R. Yager, “On ordered weighted averaging aggregation operators in multi-criteria decision making”, IEEE Transactions on Systems, Man, and Cybernetics, vol. 18, no. 1, January/February 1988, pp. 183-190.
[54] R. R. Yager, “Families of OWA operators”, Fuzzy Sets and Systems, vol. 59, no. 2, 1993, pp. 125–148.
[55] R. R. Yager, “Constrained OWA aggregation”, Fuzzy Sets and Systems, vol. 81, no. 1, 1996, pp. 89–101.
[56] D. Filev and R. R. Yager, “On the issue of obtaining OWA operator weights”, Fuzzy Sets and Systems, vol. 94, no. 2, 1998, pp. 157–169.
[57] C. Carlsson, R. Fullér, S. Fullér, OWA Operators for doctoral student selection problem, in R.R.Yager and J.Kacprzyk eds., The ordered weighted averaging operators: Theory, Methodology, and Applications, Kluwer Academic Publishers, Boston, USA. 1997, pp. 167-178.
[58] J. Lan, Q. Sun, Q. Chen and Z. Wang, “Group decision making based on induced uncertain linguistic OWA operators”, Decision Support Systems, vol. 55, no. 1, April 2013, pp. 296–303.
[59] G. Sánchez-Hernández, F. Chiclana, N. Agell and J. C. Aguado, “Ranking and selection of unsupervised learning marketing segmentation”, Knowledge-Based Systems, vol. 44, May 2013, pp. 20–33.
[60] M. Q. Suo, Y. P. Li and G. H. Huang, “Multicriteria decision making under uncertainty: An advanced ordered weighted averaging operator for planning electric power systems”, Engineering Applications of Artificial Intelligence, vol. 25, no. 1, February 2012, pp. 72-81.
[61] R. Sadiq, M. J. Rodríguez and S. Tesfamariam, “Integrating indicators for performance assessment of small water utilities using ordered weighted averaging (OWA) operators”, Expert Systems with Applications, vol. 37, no. 7, July 2010, pp. 4881–4891.
[62] M-C. Dan, “Why Should University and Business Cooperate? A Discussion of Advantages and Disadvantages”, International Journal of Economic Practices and Theories, vol. 3, no. 1, 2013, pp. 67-74.
[63] R. L. Glass, “Guest Editor\'s Introduction: The State of the Practice of Software Engineering”, IEEE Software, vol. 20, no. 6, 2003, pp. 20-21.
[64] 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, 2013, pp. 59-74.
[65] A. Rainer and T. Hall, “A quantitative and qualitative analysis of factors affecting software processes”, Journal of Systems and Software, vol. 66, no. 1, 2003, pp. 7–21.
[66] T. Gorschek. Software Process Assessment & Improvement in Industrial Requirements Engineering. PhD Dissertation. School of Engineering, Department of Systems and Software Engineering, Blekinge Institute of Technology. Karlskrona, Sweden. 2004.
[67] T. Dybа, N. B. Moe, “Rethinking the Concept of Software Process Assessment”, In proceedings of the European Software Process Improvement(EuroSPI99), Learn from the Past - Experience the Future. October 25-27 1999. Pori, Finland.
[68] M. Kajko-Mattsson, “Problems within front-end support”, Journal of Software Maintenance and Evolution: Research and Practice, vol. 16, no. 4-5, 2004, pp. 309-329.
[69] I. Alsyouf, “The role of maintenance in improving companies’ productivity and profitability”, International Journal of Production Economics, vol. 105, no. 1, 2007, pp. 70–78.
[70] M. Kans and A. Ingwald, “Common database for cost-effective improvement of maintenance performance”, International Journal of Production Economics, vol. 113, no. 2, 2008, pp. 734–747.
[71] B. A. Kitchenham, S. L. Pfleeger, L. M. Pickard, P. W. Jones, D. C. Hoaglin, K. El Emam and J. Rosenberg, “Preliminary Guidelines for Empirical Research in Software Engineering”, IEEE Transactions on Software Engineering, vol. 28, no. 8, 2002, pp. 721-734.
[72] L. Bratthall and M. Jørgensen, “Can you Trust a Single Data Source Exploratory Software Engineering Case Study?”, Empirical Software Engineering, vol. 7, no. 1, 2002, pp.9-26.
[73] J. Miller, “Triangulation as a basis for knowledge discovery in software engineering”, Empirical Software Engineering, vol. 13, no. 2, 2008, 223-228.