Modeling Software Development Practices using Reusable Project Patterns: A Case Study

D. Martín, J. García, J. Urbano and A. Amescua
Journal of Software, Evolution and Process, vol. 26, no. 3, pp. 339-349, 2014.


Software process improvement in software development organizations is a complex task that can be solved using knowledge management strategies. The definition and use of process patterns is a proven approach to apply knowledge management strategies in software engineering organizations. One of the main problems for the effective application of process patterns is the difficulty of formalizing the knowledge about the development process using these approaches. In this paper, a framework to manage software project patterns is presented. This framework is composed of a model called reusable project pattern (RPP) and a tool called sdpReuser. It is able to formalize the knowledge on software development projects from software development methodologies, reference frameworks, best practices and also tacit knowledge, useful to software engineers. The authors carried out a case study at the University Carlos III of Madrid, where junior software engineers used RPP. This study shows that the quality of pattern formalization correlates with experience in specific software engineering methods, the quality of the references in software engineering practices and the collaboration among software engineers to develop an RPP. It also analyzed the usefulness of RPP information elements to help software engineers to identify the most appropriate RPP and how to adapt it to project restrictions.