Abstract
Software process standardization is crucial for organizations dedicated to software development in order to produce quality products on predictable schedules consistently. For this matter, the adoption of best practices is an essential factor in the standardization processes. However, best practices tend to be described as common sense, opinions, or casual advice and are poorly formalized and documented. Thus, it is important to know the state-of-the-art in the field of best practices in software development and their identification. Here we report the conduction of a systematic literature review (SLR) that aims to identify (a) what best practices are, (b) what are their distinctive characteristics; (c) which methods, techniques or strategies are used to identify them, and (d) how their performance is evaluated. From a total of 24 primary studies selected, we identified seven different definitions of best practice in software development, two best practice classification schemes based on their characteristics such as name, definition, stakeholders, and context. Besides, we found one method, three strategies, and five techniques used for best practice identification and two methods to evaluate their performance as separate entities in the software development life cycle. The results of this SLR will help in the identification and evaluation of best practices for a software development organization that aims to standardize their processes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Institute of Electrical and Electronics Engineers: IEEE Recommended Practice on Software Reliability. IEEE Std 1633-2016 (Revision of IEEE Std 1633-2008). IEEE Press, New York (2016)
Jones, C.: Software Engineering Best Practices. McGraw-Hill Education, New York (2009)
Kroll, J., Hashmi, S.I., Audy, J.L.N., Richardson I.: A systematic literature review of best practices and challenges in follow-the-sun software development. In: IEEE 8th International Conference on Global Software Engineering Workshops, pp.18–23. IEEE Press, New York (2013)
Cameron, A.: A novel approach to distributed concurrent software development using a follow-the-sun technique. Unpublished EDS working paper (2004)
Garousi, V., Petersen, K., Ozkan, V.: Challenges and best practices in industry-academia collaborations in software engineering: a systematic literature review. J. Inf. Softw. Technol. 79, 106–127 (2016)
Klotin, E., Unterkalmsteiner, M.: Software engineering knowledge areas in startup companies: a mapping study. In: Fernandes, J., Machado, R., Wnuk, K. (eds.) Software Business ICSOB 2015, pp. 245–257. Springer, Heidelberg (2015)
Marques, M., Robledo, J.: What software engineering “best practices” are we teaching students - a systematic literature review. In: IEEE Frontiers in Education Conference (FIE), pp. 1–8. IEEE Press, New York (2018)
Kitchenham B., Charters S.: Guidelines for performing systematic literature reviews in software engineering. Technical report, Ver. 2.3, EBSE. Durham (2007)
Wohlin, C.: Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: 18th International Conference on Evaluation and Assessment in Software Engineering, pp. 2–4. Association for Computing Machinery, New York (2014)
Kuhrmann, M., Fernández, D.M., Daneva, M.: On the pragmatic design of literature studies in software engineering: an experience-based guideline. Empirical Softw. Eng. 22(6), 2852–2891 (2017). https://doi.org/10.1007/s10664-016-9492-y
Garousi, V., Felderer, M.: Experience-based guidelines for effective and efficient data extraction in systematic reviews in software engineering. In: 21st International Conference on Evaluation and Assessment in Software Engineering EASE 2017, pp. 1–10. Association for Computing Machinery, New York (2017)
Fritsch, J.: The Motorola software engineering benchmark program: organization, directions, and results. In: IEEE 17th International Computer Software and Applications Conference, pp. 284–290. IEEE Press, New York (1993)
Withers, D.H.X.: Software engineering best practices applied to the modeling process. In: 2000 Winter Simulation Conference, pp. 432–439. IEEE Press, New York (1993)
Achatz, R., Paulisch, F.: Industrial strength software and quality: software and engineering at Siemens. In: Third International Conference on Quality Software, pp. 321–326. IEEE Press, New York (2003)
Lodhi, F., Tariq, A., Naveed, S., Gul, S., Khalid, M.: Precis of best practices for Pakistan’s local software industry. In: 7th International Multi Topic Conference, pp. 451–456. IEEE Press, New York (2003)
Dodani, M.H.: The best practice promise and myth. J. Object Technol. 2(4), 65–68 (2003)
Shull, F., Turner, R.: An empirical approach to best practice identification and selection: the US department of defense acquisition best practices clearinghouse. In: 2005 International Symposium on Empirical Software Engineering, pp. 133–140. IEEE Press, New York (2005)
Thompson, J.B., Fox, A.J.: Best practice: is this the cinderella area of software engineering? In: 18th Conference on Software Engineering Education & Training CSEET 2005, pp. 1–8. IEEE Press, New York (2005)
Zhu, L., Staples, M., Gorton, I.: An infrastructure for indexing and organizing best practices. In: Second International Workshop on Realising Evidence-Based Software Engineering (REBSE 2007), pp. 1–6. IEEE Press, New York (2007)
Cohen, S.J., Money, W.H.: Bridge methods: using a balanced project practice portfolio to integrate agile and formal process methodologies. In: 42nd Hawaii International Conference on System Sciences, pp. 1–10. IEEE Press, New York (2009)
Calvo-Manzano, J.A., Cuevas, G., Muñoz, M.A., San Feliu, T., Álvaro, R., Sánchez, Á.: Identifying best practices for a software development organization through knowledge management. In: 5th Iberian Conference on Information Systems and Technologies, Santiago de Compostela, pp. 1–6. IEEE Press, New York (2010)
Calvo-Manzano, J.A., Cuevas, G., Mejía, J., Muñoz, M., San Feliu, T., Sánchez, Á., Rocha, Á.: Approach to identify internal best practices in a software organization. Commun. Comput. Inf. Sci. 99, 07–118 (2010)
Majchrzak, T.A.: Best practices for technical aspects of software testing in enterprises. In: 2010 International Conference on Information Society, pp. 195–202. IEEE Press, New York (2010)
Petrillo, F., Pimenta, M.: Is agility out there? In: 28th ACM International Conference on Design of Communication, pp. 9–15. Association for Computing Machinery, New York (2010)
Tighy, G.: Evaluation of software engineering management best practices in the Western Cape. In: 4th IEEE Software Engineering Colloquium (SE), pp. 21–23. IEEE Press, New York (2012)
Camacho, C., Marczak, S., Conte, T.: On the identification of best practices for improving the efficiency of testing activities in distributed software projects: preliminary findings from an empirical study. In: IEEE 8th International Conference on Global Software Engineering Workshops, pp. 1–4. IEEE Press, New York (2013)
Mejía, J., Muñoz, M., Rojo, G.E., Tinajero, I., Ramírez H., García J.: Knowledge extraction tacit for software process improvement in a governmental organization. In: 9th Iberian Conference on Information Systems and Technologies (CISTI), pp. 1–7. IEEE Press, New York (2014)
Päivärinta, T., Smolander, K.: Theorizing about software development practices. Sci. Comput. Program. 101, 124–135 (2015)
del Pilar Salas-Zárate, M., Alor-Hernández, G., Valencia-García, R., Rodríguez-Mazahua, L., Rodríguez-González, A., López Cuadrado, J.L.: Analyzing best practices on web development frameworks: the lift approach. Sci. Comput. Program. 102, 1–19 (2015)
Alwazae, M., Perjons, E., Johannesson, P.: Applying a template for best practice documentation. Procedia Comput. Sci. 72, 252–260 (2015)
Aniche, M.F.: Detection strategies of smells in web software development. In: IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 598–601. IEEE Press, New York (2015)
Washburn Jr, M., Sathiyanarayanan, P., Nagappan, M., Zimmermann, T., Bird, C.: What went right and what went wrong: an analysis of 155 post-mortems from game development. In: 38th International Conference on Software Engineering, pp 280–289. IEEE Press, New York (2016)
Karnouskos, S., Sinha, R., Leitao, P., Ribeiro, L., Strasser, T.I.: Assessing the integration of software agents and industrial automation systems with ISO/IEC 25010. In: IEEE 16th International Conference on Industrial Informatics, pp. 61–66. IEEE Press, New York (2018)
Borg, M., Olsson, T., Franke, U., Assar, S.: Digitalization of Swedish government agencies. In: 40th International Conference on Software Engineering: Software Engineering in Society, pp. 37–46. IEEE Press, New York (2018)
Harutyunyan, N., Riehle, D.: Industry best practices for open source governance and component reuse. In: 24th European Conference on Pattern Languages of Programs, pp. 1–14. Association for Computing Machinery, New York (2019)
Garousi, V., Felderer, M., Mäntylä, M.V.: Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Inf. Softw. Technol. 106, 101–121 (2019). https://doi.org/10.1016/j.infsof.2018.09.006
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ordoñez-Pacheco, R., Cortes-Verdin, K., Ocharán-Hernández, J.O. (2021). Best Practices for Software Development: A Systematic Literature Review. In: Mejia, J., Muñoz, M., Rocha, Á., Quiñonez, Y. (eds) New Perspectives in Software Engineering. CIMPS 2020. Advances in Intelligent Systems and Computing, vol 1297. Springer, Cham. https://doi.org/10.1007/978-3-030-63329-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-63329-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63328-8
Online ISBN: 978-3-030-63329-5
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)