Skip to main content

Best Practices for Software Development: A Systematic Literature Review

  • Conference paper
  • First Online:
New Perspectives in Software Engineering (CIMPS 2020)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. 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)

    Google Scholar 

  2. Jones, C.: Software Engineering Best Practices. McGraw-Hill Education, New York (2009)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Cameron, A.: A novel approach to distributed concurrent software development using a follow-the-sun technique. Unpublished EDS working paper (2004)

    Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Kitchenham B., Charters S.: Guidelines for performing systematic literature reviews in software engineering. Technical report, Ver. 2.3, EBSE. Durham (2007)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Dodani, M.H.: The best practice promise and myth. J. Object Technol. 2(4), 65–68 (2003)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Päivärinta, T., Smolander, K.: Theorizing about software development practices. Sci. Comput. Program. 101, 124–135 (2015)

    Article  Google Scholar 

  29. 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)

    Article  Google Scholar 

  30. Alwazae, M., Perjons, E., Johannesson, P.: Applying a template for best practice documentation. Procedia Comput. Sci. 72, 252–260 (2015)

    Article  Google Scholar 

  31. 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)

    Google Scholar 

  32. 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)

    Google Scholar 

  33. 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)

    Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Google Scholar 

  36. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Karen Cortes-Verdin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics