Skip to main content
Log in

Practical experiences in modelling software engineering practices: The project patterns approach

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Software process improvement in software development organisations is a complex task that can be solved using knowledge management strategies. In this area, the definition and use of process patterns are a proven approach to apply knowledge management strategies in software engineering organisations. One of the main problems for the effective application of process patterns in the software industry is the difficulty of formalising the knowledge about the development process using these approaches. This study presents a framework to manage software project patterns. This framework (which is composed of a metamodel and a platform for patterns modelling and reuse) is able to formalise the knowledge on software development projects including software engineers’ previous experience, development methodologies, references frameworks and lessons learnt. The authors carried out an empirical study at Carlos III University of Madrid, where junior software engineers used the project patterns defined in this research work. The evidences and findings obtained during the empirical study execution indicates that correctness of the pattern depends on relevance of the bibliographic references used to create it, implementation of a knowledge sharing strategy among the personnel involved and previous experience in the business areas related to the information systems being developed. The results obtained from the empirical study also envisage that the usefulness of an sdPP (Software Development Project Pattern) depends on the ease of identifying when and how to apply a specific sdPP in a software project.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  • Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. (1978). A pattern language: Towns, buildings, construction. Oxford University Press. ISBN:978-0195019193.

  • Allan, J., Callan, J., Collins-Thompson, K., Croft, B., Feng, F., Fisher, D., et al. (2003). The lemur toolkit for language modeling and information retrieval. The Lemur Project. http://lemurproject.org Accessed 25 Jan 2011.

  • Allison, I., & Merali, Y. (2007). Software process improvement as emergent change: A structurational analysis. Information and Software Technology. doi:10.1016/j.infsof.2007.02.003.

    Google Scholar 

  • Amescua, A., Bermón, L., García, J., & Sánchez-Segura, M. I. (2010). Knowledge repository to improve agile development processes learning. IET Software. doi:10.1049/iet-sen.2010.0067.

    Google Scholar 

  • Apache Jakarta (2005). Apache Lucene a high performance, full-featured text search engine library. The Apache Software Foundation. http://jakarta.apache.org/ Accessed 25 Jan 2011.

  • Ardimento, P., Baldassarre, M. T., Cimitile, M., & Visaggio, G. (2009). Empirical validation of knowledge packages as facilitators for knowledge transfer. Journal of Information & Knowledge Management (JIKM). doi:10.1142/S021964920900235X.

    Google Scholar 

  • Aurum, A., Daneshgar, F., & Ward, J. (2008). Investigating knowledge management practices in software development organisations: An Australian experience. Information and Software Technology. doi:10.1016/j.infsof.2007.05.005.

    Google Scholar 

  • Basili, V., Caldiera, G., & Rombach, H. (2002). Experience factory in Encyclopedia of Software Engineering. doi:10.1002/0471028959.sof110.

  • Berczuk, S. P., & Appleton, B. (2003). Software configuration management patterns: Effective teamwork, practical integration. Addison-Wesley Professional, ISBN:0201741172.

  • Bjornson, F. O., & Dingsoyr, T. (2008). Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used. Information and Software Technology. doi:10.1016/j.infsof.2008.03.006.

    Google Scholar 

  • Borges, L. da M. S. B., & Falbo, R. de A. (2002). Managing software process knowledge. Proceedings of the international conference on computer science, software engineering, information technology, e-Business and applicationsCSITea’2002, pp 227–232. http://www.inf.ufes.br/~falbo/download/pub/CSITeA2002paperKM.pdf Accessed 25 Jan 2011.

  • Buschmann, F., Henney, K., & Schmidt, D. C. (2007). Pattern-oriented software architecture: On patterns and pattern languages. Wiley, Chichester, ISBN:978-0-471-48648-0.

  • Eclipse. (2011). Eclipse process framework composer. The Eclipse Foundation, http://www.eclipse.org/epf/general/description.php Accessed 1 Dec 2011.

  • Fowler, M. (2003). Patterns of enterprise application architecture. Addison-Wesley Professional, ISBN:0-321-12742-0.

  • Gamma, E., Johnson, R., Helm, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Reading, MA: Addison-Wesley.

  • García, J., Amescua, Antonio, Sánchez, M.-I., & Bermón, L. (2011). Design guidelines for software processes knowledge repository development. Information and Software Technology. doi:10.1016/j.infsof.2011.03.002.

    Google Scholar 

  • Garcia, S., & Turner, R. (2006). CMMI® survival guide: just enough process improvement. Addison-Wesley Professional, ISBN:978-0-321-49178-7.

  • Group Processworks (2011). EzyLib Process Asset Libraries. http://www.processworksgroup.com Accessed 1 Dec 2011.

  • Ivarsson, M., & Gorschek, T. (2011). Tool support for disseminating and improving development practices. Software Quality Journal. doi:10.1007/s11219-011-9139-6.

    Google Scholar 

  • Jacobson, I., Wei, P., & Spence, I. (2007). Enough of processes-lets do practices. Journal of Object Technology, 6(6), 41–66. http://www.jot.fm/issues/issue_2007_07/column5/ Accessed 25 Aug 2011.

    Google Scholar 

  • Jalote, P. (2002). Software project management in practice. Addison-Wesley Longman Publishing Co., Inc. ISBN:0-201-73721-3.

  • Juristo, N., & Moreno, A. M. (2001). Basics of software engineering experimentation. Kluwer, ISBN:0-7923-7990-X.

  • Landaeta, J. F., García, J., & Amescua, A. (2008). Practical SPI planning. Software Process Improvement. doi:10.1007/978-3-540-85936-9_8.

    Google Scholar 

  • Llorens, J., Morato, J., Genova, G., Fuentes, M., Quintana, V., & Díaz, I. (2004). RHSP: An information representation model based on relationship. Studies in fuzziness and soft computing, 159, 221–253.

    Article  Google Scholar 

  • Martín, D., García, J., Amescua, A., & Llorens, J. (2007). Reusable project patterns to enhance software process improvement. EuroSPI 2007 Industrial Proceedings, 3.25–3.34.

  • Maurer, F., & Holz, H. (2002). Integrating process support and knowledge management for virtual software development teams. Annals of Software Engineering. doi:10.1023/A:1020505708326.

    Google Scholar 

  • May, D., & Taylor, P. (2003). Knowledge management with patterns. Communications of the ACM. doi:10.1145/792704.792705.

    Google Scholar 

  • Medina-Dominguez, F., Sanchez-Segura, M.-I., Mora-Soto, A., & Amescua, A. (2010). Reverse engineering and software products reuse to teach collaborative web portals: A case study with final-year computer science students. IEEE Transactions on Education. doi:10.1109/TE.2009.2037313.

    Google Scholar 

  • Microsoft Corporation. (2010). Visual Studio 2010 Ultimate. http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate Accessed 25 Aug 2011.

  • Mora-Soto, A., Sanchez-Segura, M.-I., Medina-Dominguez, F., & Amescua, A. (2010). Transactive memory system proposal to foster collaborative learning and knowledge sharing into organizations. In International conference on computer supported education (CSEDU 2010).

  • Nodder, C., & Nielsen, J. (2008). Agile usability: best practices for user experience on agile development projects. Nielsen Norman Group. http://www.nngroup.com/reports/agile/ Accessed 25 Aug 2011.

  • Nold, H. A. (2011). Making knowledge management work: Tactical to practical. Knowledge Management Research & Practice. doi:10.1057/kmrp.2010.27.

    Google Scholar 

  • OMG. (2007). OMG unified modeling language infrastructure, V2.1.2. Object Management Group, Inc. http://www.omg.org/spec/UML/2.1.2/Infrastructure/PDF. Accessed 1 Dec 2011.

  • OMG. (2008). Software & systems process engineering meta-model specification. Process Engineering. Object Management Group, Inc. http://www.omg.org/spec/SPEM/2.0/. Accessed 1 Dec 2011.

  • Osellus. (2007). IRIS Process Author. Osellus Inc. http://www.osellus.com/IRIS-PA Accessed 1 Dec 2011.

  • Pino, F., García, F., & Piattini, M. (2008). Software process improvement in small and medium software enterprises: A systematic review. Software Quality Journal. doi:10.1007/s11219-007-9038-z.

    Google Scholar 

  • Rosendaal, B. (2009). Sharing knowledge, being different and working as a team. Knowledge Management Research & Practice, Operational Research Society Ltd. doi:10.1057/kmrp.2008.32.

  • Rus, I., & Lindvall, M. (2002). Knowledge management in software engineering. IEEE Software. doi:10.1109/MS.2002.1003450.

    Google Scholar 

  • Sanchez-Segura, M. I., Medina-Dominguez, F., De Amescua, A., & Mora-Soto, A. (2010). Improving the efficiency of use of software engineering practices using product patterns. Information Sciences. doi:10.1016/j.ins.2010.03.028.

    Google Scholar 

  • Sanchez-Segura, M.-I., Medina-Dominguez, F., Mora-Soto, A., & Amescua, A. (2011). Enhancing productivity through products and knowledge reuse. EuroSPI 2011 Industrial Proceedings (pp 9.1–9.10). DELTA, Denmark.

  • Scott, L., Carvalho, L., & Jeffery, R. (2002). A process-centred experience repository for a small software organisation. Ninth Asia-Pacific software engineering conference, 2002. doi:10.1109/APSEC.2002.1183096.

  • SEI. (2010). CMMI for Development. Version 1.3 Technical Report (CMU/SEI-2010-TR-033).Software Engineering Institute, Carnegie Mellon University, http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm. Accessed 1 Dec 2011.

  • Select Business Solutions (2011). Select Process Director. Select Business Solutions Inc. http://www.selectbs.com/process-improvement/select-process-director Accessed 25 Aug 2011.

  • Shalloway, A., & Trott, J. (2005). Design patterns explained: A new perspective on object-oriented design. Addison-Wesley. ISBN:9780321247148.

  • Sommerville, I. (2004). Software Engineering (7th Edition). Addison Pearson Education. ISBN:9788177585308.

  • Verma, A., & Tiwari, M. K. (2009). Role of corporate memory in the global supply chain environment. International Journal of Production Research. doi:10.1080/00207540801918570.

    Google Scholar 

  • Visaggio, G. (2009). Knowledge base and experience factory for empowering competitiveness. Software Engineering LNCS. doi:10.1007/978-3-540-95888-8_9.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Javier García Guzmán.

Rights and permissions

Reprints and permissions

About this article

Cite this article

García Guzmán, J., Martín, D., Urbano, J. et al. Practical experiences in modelling software engineering practices: The project patterns approach. Software Qual J 21, 325–354 (2013). https://doi.org/10.1007/s11219-012-9177-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-012-9177-8

Keywords

Navigation