Skip to main content
Log in

Requirements and constructors for tailoring software processes: a systematic literature review

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Organizations developing software-based systems or services often need to tailor process reference models—including product-oriented and project-oriented processes—to meet both their own characteristics and those of their projects. Existing process reference models, however, are often defined in a generic manner. They typically offer only limited mechanisms for adapting processes to the needs of organizational units, project goals, and project environments. This article presents a systematic literature review of peer-reviewed conference and journal articles published between 1990 and 2009. Our aim was both to identify requirements for process-tailoring notation and to analyze those tailoring mechanisms that are currently in existence and that consistently support process tailoring. The results show that the software engineering community has demonstrated an ever-increasing interest in software process tailoring, ranging from the consideration of theoretical proposals regarding how to tailor processes to the scrutiny of practical experiences in organizations. Existing tailoring mechanisms principally permit the modeling of variations of activities, artifacts, or roles by insertion or deletion. Two types of variations have been proposed: the individual modification of process elements and the simultaneous variation of several process elements. Resolving tailoring primarily refers to selecting or deselecting optional elements or to choosing between alternatives. It is sometimes guided by explicitly defined processes and supported by tools or mechanisms from the field of knowledge engineering. The study results show that tailoring notations are not as mature as the industry requires if they are to provide the kind of support for process tailoring that fulfills the requirements identified, i.e., including security policies for the whole process, or carrying out one activity rather than another. A notation must therefore be built, which takes these requirements into consideration in order to permit variant-rich processes representation and use this variability to consistently support process tailoring.

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
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Armbrust, O., Ebell, J., Hammerschall, U., Münch, J., & Thoma, D. (2008). Experiences and results from tailoring and deploying a large process standard in a company. Software Process Improvement and Practice, 13, 301–309. doi:10.1002/spip.

    Article  Google Scholar 

  • Balasubramaniam, D., Morrison, R., Greenwood, R. M., & Warboys, B. (2007). Flexible software development: From software architecture to process. In Proceedings of software architecture, 2007. Wicsa ‘07. IEEE Computer Science, 14 pp.

  • Baldassarre, M. T., Caivano, D., Visaggio, C. A., & Visaggio, G. (2002). Promise: A framework for process models customization to the operative context. In International symposium on empirical software engineering (ISESE ‘02), pp. 103–110.

  • Batista, J. (2000). SPI in a very small team: A case with CMM. Software Process Improvement and Practice, 5(4), 243–250.

    Article  Google Scholar 

  • Biffl, S., Winkler, D., Höhn, R., & Wetzel, H. (2006). Software process improvement in Europe: Potential of the new v-modell xt and research issues. Software Process Improvement and Practice, 11, 229–238.

    Article  Google Scholar 

  • Biolchini, J., Gomes, P., Cruz, A., & Travassos, G. (2005). Systematic review in software engineering. Rio de Janeiro, Brazil: Systems Engineering and Computer Science Department, UFRJ.

  • Brinkkemper, S. (1996). Method engineering: Engineering of information systems development method and tools. Information and Software Technology, 38(4), 275–280.

    Article  Google Scholar 

  • Budgen, D., Turner, M., Brereton, P., & Kitchenham, B. A. (2008). Using mapping studies in software engineering. In PPIG 2008, Lancaster, UK, pp. 195–204.

  • Cass, A., Volcker, C., Sutter, P., Dorling, A., & Stienen, H. (2002). Spice in action—Experiences in tailoring and extension. In Euromicro, pp. 352–360.

  • Chou, S.-C., & Chen, J.-Y. J. (2000). Process program change control in a process environment. Software: Practice Experience, 30, 175–197.

    Article  Google Scholar 

  • Chrissis, M. B., Konrad, M., & Shrum, S. (2006). CMMI: Guidelines for process integration and product improvement (Vol. 1, The SEI series in software engineering). Boston: Pearson.

  • Clements, P., & Northrop, L. (2002). Software product lines. Practices and patterns. Boston: Addison-Wesley.

    Google Scholar 

  • Dai, F., & Li, T. (2007). Tailoring software evolution process. In Eighth ACIS international conference on software engineering, artificial intelligence, networking, and parallel/distributed computing, Qingdao, pp. 782–787.

  • Demirors, O., Demirors, E., Tarhan, A., & Yildiz, A. (2000). Tailoring ISO/IEC 12207 for instructional software development. In Proceedings of the 26th Euromicro conference, pp. 2300-2307.

  • Fuggetta, A. (2000). Software process: A roadmap. In A. Finkelstein (Ed.), The future of software engineering (pp. 25–34). Limerick, Ireland: ACM.

    Google Scholar 

  • Giese, C., Schnieders, A., & Weiland, J. (2007). A practical approach for process family engineering of embedded control software. In Proceedings of the 14th annual IEEE international conference and workshops on the engineering of computer-based systems (ECBS ‘07), pp. 229–239.

  • Hanssen, G. K., Westerheim, H., & Bjørnson, F. O. (2005). Tailoring RUP to a defined project type: A case study. In F. Bomarius, & S. Komi-Sirviö (Eds.), PROFES (Vol. LNCS 3547, pp. 314–327). New York: Springer.

  • Hausen, H.-L. (1998). A rule-based process model for cooperative software projects: Tailoring and testing a software process to be used on the web. Knowledge-Based Systems, 11, 105–113.

    Article  Google Scholar 

  • Hesse, W., & Noack, J. (1999). A multi-variant approach to software process modelling. In M. Jarke, & A. Oberweis (Eds.), CAiSE ‘99, 1999 (Vol. LNCS 1626, pp. 210–224). New York: Springer.

  • Huang, L., Hu, H., Ge, J., Boehm, B., & Lü, J. (2006). Tailor the value-based software quality achievement process to project business cases. In Software process change (Vol. LNCS 3966, pp. 56–63). Heidelberg: Springer.

  • Ibargüengoitia, G., Salazar, J. A., Sánchez, M. G., & Ramírez, A. Y. (2006). A procedure for customizing a software process. In Proceeding of ENC ‘03 proceedings of the 4th Mexican international conference on computer science (pp. 68–72). IEEE Computer Society.

  • ISO. (2002). ISO/IEC 12207:2002. Information technology—Software life cycle processes. Geneva: International Organization for Standardization.

  • ISO. (2004). ISO/IEC 15504-2:2003/cor.1:2004(e). Information technology—Process assessment—Part 2: Performing an assessment. Geneva: International Organization for Standardization.

  • ISO. (2006). ISO/IEC 15504-5:2006(e). Information technology—Process assessment—Part 5: An exemplar process assessment model. Geneva: International Organization for Standardization.

  • ISO. (2008). ISO/IEC 12207:2008. Systems and software engineering—Software life cycle processes. Geneva: International Organization for Standardization.

  • Jaccheri, M. L., & Conradi, R. (1993). Techniques for process model evolution in EPOS. IEEE Transactions on Software Engineering, 19(2), 1145–1156.

    Article  Google Scholar 

  • Jaufman, O., & Münch, J. (2005). Acquisition of a project-specific process. In F. Bomarius, & S. Komi-Sirviö (Eds.), PROFES 2005 (Vol. LNCS 3547, pp. 328–342). New York: Springer.

  • Johansson, E., Nedstam, J., Wartenberg, F., & Höst, M. (2005). A qualitative methodology for tailoring spe activities in embedded platform. In Product focused software process improvement (Vol. LNCS 3547, pp. 39–53). Heidelberg: Springer.

  • Kitchenham, B. (2004). Procedures for performing systematic reviews (pp. 1–28). Australia: Keele University and ICT Australia Ltd.

  • Kitchenham, B., Pfleeger, S. L., Pickard, L. M., Jones, P. W., Hoaglin, D. C., El Emam, K., et al. (2002). Preliminary guidelines for empirical research in software engineering. IEEE Transactions on Software Engineering, 28(8), 721–734.

    Article  Google Scholar 

  • Krutchen, P. (2000). The rational unified process: An introduction (2nd ed.). New York: Addison Wesley.

    Google Scholar 

  • Lazovik, A., & Ludwig, H. (2007). Managing process customizability and customization: Model, language and process. In B. Benatallah et al. (Ed.), Wise 2007, Vol. LNCS 4831, pp. 373–384.

  • Lobsitz, R. M. (1996). A method for assembling a project-specific software process definition. In Proceedings of the 1996 Hawaii international conference on system sciences (HICSS-29).

  • Madhavji, N. H., & Schafer, W. (1991). Prism-methodology and process-oriented environment. IEEE Transactions on Software Engineering, 17(12), 1270–1283.

    Article  Google Scholar 

  • Martínez-Ruiz, T., García, F., & Piattini, M. (2008). Towards a SPEM v2.0 extension to define process lines variability mechanisms. In R. Lee (Ed.), SERA (Vol. SCI 150, pp. 115–130). Praga: Springer.

  • Martínez-Ruiz, T., García, F., & Piattini, M. (2009). Enhanced variability mechanisms to manage software process lines. In EUROSPI 2009 (pp. 12.13–12.23). Alcalá de Henares, Madrid: Publizon.

  • Ocampo, A., Bella, F., & Münch, J. (2005). Software process commonality analysis. Software Process – Improvement and Practice, 10(3), 273–285.

    Article  Google Scholar 

  • Osterweil, L. (1987). Software processes are software too. Paper presented at the 9th ICSE, Monterey, CA, March 1987.

  • Park, S., Na, H., Park, S., & Sugumaran, V. (2006). A semi-automated filtering technique for software process tailoring using neural network. Expert Systems with Applications, 30, 179–189.

    Article  Google Scholar 

  • Pedreira, Ó., Piattini, M., Luaces, M. R., & Brisaboa, N. (2007). A systematic review of software process tailoring. ACM SIGSOFT Software Engineering Notes, 32(3), 1–6.

    Article  Google Scholar 

  • Pino, F., García, F., & Piattini, M. (2008). Software process improvement in small and medium software enterprises: A systematic review. Software Quality Journal, 16(2), 237–261.

    Article  Google Scholar 

  • Plögert, K. (1996). The tailoring process in the german v-model. Journal of Systems Architecture, 42, 601–609.

    Article  Google Scholar 

  • Rombach, D. (2005). Integrated software process and product lines. In M. Li, B. Boehm, & L. Osterweil (Eds.), ISPW (Vol. LNCS 3840, pp. 83–90). Beijing, China: Springer.

  • Sandelowski, M., Barroso, J., & Voils, C. I. (2007). Using quantitative metasummary to synthesize qualitative and quantitative descriptive findings. Research in Nursing and Health, 30(1), 99–111.

    Article  Google Scholar 

  • Schnieders, A. (2006). Variability mechanism centric process family architectures. In I. C. Society (Ed.), ECBS ‘06: Proceedings of the 13th annual IEEE international symposium and workshop on engineering of computer based systems, 2006, pp. 289–298. doi:10.1109/ECBS.2006.72.

  • Sechser, B. (2009). The marriage of two process worlds. Software Process Improvement and Practice, 14(2), 349–354.

    Article  Google Scholar 

  • SEI. (2001). Standard CMMI® appraisal method for process improvement (SCAMPI), version 1.1: Method definition document (CMU/SEI-2001-HB-001). Pittsburgh: Software Engineering Institute (SEI).

  • SEI. (2004). Capability maturity model integration (CMMI), version 1.1 CMMI (CMMI-SE/SW/IPPD/SS, v1.1) staged representation. Pittsburgh: Software Engineering Institute (SEI).

  • Seo, J., & Choi, B. (2000). Tailoring test process by using the component-based development paradigm and the xml technology. In Proceeding APSEC ‘00 proceedings of the seventh Asia-Pacific software engineering (pp. 356–363). IEEE Computer Society.

  • Sheard, S. A., & Lake, J. (1998). Systems engineering standards and models compared. In Proceedings of the 8th international symposium on systems engineering (INCOSE), pp. 589–605.

  • Simidchieva, B. I., Clarke, L. A., & Osterweil, L. (2007). Representing process variation with a process family. In Q. Wang, D. Pfahl, & D. M. Raffo (Eds.), ICSP 2007, Minneapolis, USA, 2007 (Vol. LNCS 4470, pp. 121–133). New York: Springer.

  • Sjoeberg, D. I. K., Hannay, J. E., Hansen, O., Kampenes, V. B., Karahasanovic, A., Liborg, N.-K., et al. (2005). A survey of controlled experiments in software engineering. IEEE Transactions on Software Engineering, 31(9), 733–753.

    Article  Google Scholar 

  • Sutton, S., & Osterweil, L. J. (1996). PDP: Programming a programmable design process. In 8th International workshop on software specification and design, 1996, pp. 186–190.

  • Szyperski, C., Bosch, J., & Weck, W. (1998). Component-oriented programming. In A. Moreira, & S. Demeyer (Eds.), Object-oriented technology ECOOP ‘99 workshop reader (Vol. LNCS 1743, pp. 184–192). Berlin: Springer.

  • Xu, P., & Ramesh, B. (2008). Using process tailoring to manage software development challenges. IT Professional, 10(4), 39–45.

    Article  Google Scholar 

  • Yoon, I.-C., Min, S.-Y., & Bae, D.-H. (2001). Tailoring and verifying software process. Paper presented at the 8th APSEC, Macao, China.

Download references

Acknowledgments

This work is partially supported by the Program FPU of the Spanish Ministerio de Educación and by the PEGASO/MAGO (Ministerio de Ciencia e Innovación and Fondo Europeo de Desarrollo Regional, TIN2009-13718-C02-01), MEDUSAS (Centro para el Desarrollo Tecnológico e Industrial (Ministerio de Ciencia e Innovación), IDI-20090557), ALTAMIRA (Junta de Comunidades de Castilla-la Mancha, Fondo Social Europeo, PII2I09-0106-2463), and INGENIOSO (Junta de Comunidades de Castilla-la Mancha, PEII11-0025-9533) projects. We would also like to thank Sonnhild Namingha from Fraunhofer IESE for reviewing the first version of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tomás Martínez-Ruiz.

Appendices

Appendix 1: Requirements summarization and classification

This appendix summarizes all the requirements for building a variability notation that we have found in the systematic literature review. These could be divided into five categories, according to the aspect of the notation. Each one of these categories represents a sub-goal that needs to be achieved in order to define the variability notation. A more exhaustive description of these categories and the requisites they include is provided in the following sections.

  1. 1.

    Variation support for process model elements.

  2. 2.

    Types of supported variation (optional, mandatory…)

  3. 3.

    Consistency assurance among variants by means of restriction models.

  4. 4.

    Usability support to the variation mechanisms.

  5. 5.

    Documentation and reuse of knowledge.

1.1 Requirements for process model element variation support

According to Fuggetta (2000), software process models are composed of several elements, and in order to model variations in software processes, the first set of requirements is to define which of their elements acquire the capability to vary. Table 8 lists the requirements associated with the software process elements.

Table 8 List of requirements for the goal of defining concepts to model variability parts in process models

1.2 Requirements for types of supported variation

Once the elements that need to vary in a software process are determined, it is necessary to determine how they could vary. In other words, with regard to the software process, we need to know that the behavior of these elements when they vary to tailor the process, meets the specific characteristics of the project, the product, or the organization. Table 9 summarizes the requirements for modeling this behavior.

Table 9 List of requirements for defining rules to model the way variability occurs in process models

1.3 Consistency assurance among variants by means of restriction models

The behavior of the elements that vary in a process model must be controlled in order to prevent inconsistencies between the tailored processes. This being so, another set of requirements fits this need for consistency assurance in several ways, by relating elements, and, based on this, by modeling constraints. Table 10 includes all the requirements associated with this category.

Table 10 List of requirements for defining rules to model the way variability occurs in process models

1.4 Requirements for usability support to the variation mechanisms

Process variability is based on the idea of someone deciding all the variabilities of a variant-rich process model and generating a tailor process model that fits a specific requirement. In order to do this, another set of requirements of a process notation must be designed in an effort to make the tailoring task easier. Table 11 includes all the requirements for supporting easy variant-rich process tailoring.

Table 11 List of requirements for defining concepts to abstract the user from variability details

1.5 Requirements for documentation and reuse of knowledge

Tailoring also involves converting characteristics in the context of the process into correct variations; in the variant-rich process, it is important not to start from scratch. Documenting process variations allows reuse of knowledge, which makes deciding process variability an important point. The requirements fitting this category are listed in Table 12.

Table 12 List of requirements for defining concepts to allow variability documentation

Appendix 2: Complete list of articles

Table 13 includes all the studies analyzed in this systematic review. It also identifies the type of study according to the classification presented in the “Inclusion and Exclusion criteria” section.

Table 13 Complete list of primary studies

Appendix 3: Excerpts of tables for extraction of information

This appendix presents extracts from the information tables used to organize information during the systematic review. Figures 12 and 13 present an overview of the description and the first information tables, respectively. The other information tables are quite similar to that shown in Fig. 13.

Fig. 12
figure 12

Overview of the description table

Fig. 13
figure 13

Overview of the first information table

Rights and permissions

Reprints and permissions

About this article

Cite this article

Martínez-Ruiz, T., Münch, J., García, F. et al. Requirements and constructors for tailoring software processes: a systematic literature review. Software Qual J 20, 229–260 (2012). https://doi.org/10.1007/s11219-011-9147-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-011-9147-6

Keywords

Navigation