Abstract
Scrum is currently the most widely used agile methodology. However, it is regarded as a framework rather than a concrete process. Unfortunately, the resources available on Scrum do not explicitly define its variable parts and do not offer proper guidance on how to resolve those variabilities. Process (re)configuration is thus left to Scrum Retrospective sessions; this can delay the vital decisions that can significantly improve the process before problems arise. This paper aims to address the problems associated with configuring/reconfiguring Scrum by identifying all the variabilities (variation points) in the Scrum framework, along with the situations where a variation point can be resolved by one or more specific variants. We propose a Software Process Line (SPrL) approach for achieving this: we have represented the process variabilities of Scrum as a Scrum metaprocess, which acts as the core process of a generic SPrL for Scrum. The situations in which each variation point of the metaprocess can be resolved by a specific variant have been identified. The metaprocess has been implemented in the Medini-QVT tool, along with transformation rules that provide the means for automatic resolution of the variabilities. The validity of the metaprocess has been evaluated through an industrial case study, the results of which show that the metaprocess is applicable in real situations. Furthermore, the results indicate that the processes instantiated from the metaprocess can improve the existing processes by proposing specific practices for addressing their shortcomings.
Similar content being viewed by others
References
Abad, Z. S. H., Alipour, A., & Ramsin, R. (2012). Enhancing tool support for situational engineering of agile methodologies in Eclipse. In R. Lee (Ed.), Software Engineering Research, Management and Applications (pp. 141–152).
Agh, H., & Ramsin, R. (2019). Scrum Metaprocess: A Process Line Approach for Customizing Scrum-Appendices. Mendeley Data. https://doi.org/10.17632/f5dbbsj3p6.1
Ahmad, M. O., Kuvaja, P., Oivo, M., & Markkula, J. (2016). Transition of software maintenance teams from Scrum to Kanban. Proc. Hawaii International Conference on System Sciences, 5427–5436.
Aleixo, F.A., Freire, M.A., dos Santos, W.C., & Kulesza, U. (2010). Automating the variability management, customization and deployment of software processes: A model-driven approach. Proc. International Conference on Enterprise Information Systems, 372–387.
Ally, M., Darroch, F., & Toleman, M., et al. (2005). A framework for understanding the factors influencing pair programming success. In H. Baumeister (Ed.), Extreme Programming and Agile Processes in Software Engineering (pp. 82–91).
Arisholm, E., Gallis, H., Dyba, T., & Sjoberg, D. I. (2007). Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Transactions on Software Engineering, 33(2), 65–86.
Campanelli, A. S., & Parreiras, F. S. (2015). Agile methods tailoring–A systematic literature review. Journal of Systems and Software, 110, 85–100.
Canty, D. (2015). Agile for project managers. Auerbach Publications.
Causevic, A., Sundmark, D., & Punnekkat, S. (2011). Factors limiting industrial adoption of test driven development: A systematic review. Proc. IEEE International Conference on Software Testing, Verification and Validation, 337–346.
Chong, J., & Hurlbutt, T. (2007). The social dynamics of pair programming. Proc. International Conference on Software Engineering, 354–363.
Clarke, P., & O’Connor, R. V. (2012). The situational factors that affect the software development process: Towards a comprehensive reference framework. Information and Software Technology, 54(5), 433–447.
Cohn, M. (2005). Agile estimating and planning. Pearson Education.
Cohn, M. (2010). Succeeding with agile: Software development using Scrum. Pearson Education.
Cram, W. A. (2019). Agile development in practice: Lessons from the trenches. Information Systems Management, 36(1), 2–14.
de Carvalho, D.D., Chagas, L.F., & Reis, C.A.L. (2014a). Definition of software process lines for integration of Scrum and CMMI. Proc. XL Latin American Computing Conference, 1–12.
de Carvalho, D. D., Chagas, L. F., Lima, A. M., & Reis, C. A. L., et al. (2014b). Software process lines: A systematic literature review. In A. Mitasiunas (Ed.), Software Process Improvement and Capability Determination (pp. 118–130).
Diebold, P., Ostberg, J.P., Wagner, S., & Zendler, U. (2015). What do practitioners vary in using Scrum? Proc. International Conference on Agile Software Development, 40–51.
Erdoğan, O., Pekkaya, M. E., & Gök, H. (2018). More effective Sprint Retrospective with statistical analysis. Journal of Software: Evolution and Process, 30(5), e1933.
Fitzgerald, B., Hartnett, G., & Conboy, K. (2006). Customizing agile methods to software practices at Intel Shannon. European Journal of Information Systems, 15(2), 200–213.
Ge, X., Paige, R.F., Polack, F.A., Chivers, H., & Brooke, P.J. (2006). Agile development of secure web applications. Proc. International Conference on Web engineering, 305–312.
Gill, A.Q., & Henderson-Sellers, B. (2006). Measuring agility and adoptability of agile methods: A 4-dimensional analytical tool. Proc. IADIS International Conference on Applied Computing, 503–507.
Golpayegani, F., Azadbakht, K., & Ramsin, R. (2013). Towards process lines for agent-oriented requirements engineering. Proc. International Conference on Computer as a Tool, 550–557.
Greening, D. (2012). Bulk Estimation. https://senexrex.com/bulk-estimation/ Accessed 16 November 2019.
Hajratwala, N. (2012). Task board evolution. Proc. International Agile Conference, 111–116.
Heeager, L. T., & Rose, J. (2015). Optimising agile development practices for the maintenance operation: Nine heuristics. Empirical Software Engineering, 20(6), 1762–1784.
Heikkilä, V.T., Paasivaara, M., Lassenius, C., & Engblom, C. (2013). Continuous Release Planning in a large-scale Scrum development organization at Eriksson. Proc. International Conference on Agile Software Development, 195–209.
Henderson-Sellers, B., Ralyté, J., Agerfalk, P. J., & Rossi, M. (2014). Situational method engineering. Springer.
Hoda, R., Kruchten, P., Noble, J., & Marshall, S. (2010). Agility in context. Proc. ACM International Conference on Object Oriented Programming, Systems, Languages and Applications, 74–88.
Hodgetts, P. (2004). Refactoring the development process: Experiences with the incremental adoption of agile practices. Proc. IEEE Agile Development Conference, 106–113.
Hurtado, J. A., Bastarrica, M. C., Ochoa, S. F., & Simmonds, J. (2013). MDE software process lines in small companies. Journal of Systems and Software, 86(5), 1153–1171.
Hussain, R. G., & Javed, A. (2015). Qualitative approach for estimating the influence of refactoring and Scrum in Software Development. International Journal of Engineering Research and General Science, 3(2), 28–36.
Ibrahim, K. S. K., Yahaya, J., Mansor, Z., & Deraman, A. (2019). The Emergence of agile Maintenance: A preliminary study. Proc. International Conference on Electrical Engineering and Informatics, 146–151.
Jovanovic, M., Mesquida, A.L., & Mas, A. (2015). Process improvement with retrospective gaming in agile software development. Proc. European Conference on Software Process Improvement, 287–294.
Junior, E. A. O., Pazin, M. G., Gimenes, I. M., Kulesza, U., & Aleixo, F. A., et al. (2013). SMartySPEM: A SPEM-Based Approach for Variability Management in Software Process Lines. In J. Heidrich (Ed.), Product-Focused Software Process Improvement (pp. 169–183).
Jyothi, V. E., & Rao, K. N. (2012). Effective implementation of agile practices: In coordination with lean Kanban. International Journal on Computer Science and Engineering, 4(1), 87–91.
Karlsson, F., & Ågerfalk, P. (2009). Exploring agile values in method configuration. European Journal of Information Systems, 18(4), 300–316.
Kaur, C., & Kumar, V. (2015). Product backlog prioritization in Scrum: A review. International Journal of Modern Computer Science, 3(2), 21–24.
Kniberg, H., & Skarin, M. (2010). Kanban and Scrum - Making the most of both. Lulu.com.
Kruchten, P. (2013). Contextualizing agile software development. Journal of Software: Evolution and Process, 25(4), 351–361.
Larman, C. (2008). Scaling lean & agile development: Thinking and organizational tools for large-scale Scrum. Pearson Education.
Law, A., & Charron, R. (2005). Effects of agile practices on social factors. Proc. International Workshop on Human and Social Factors of Software Engineering, 1–5.
Leffingwell, D. (2010). Agile software requirements: Lean requirements practices for teams, programs, and the enterprise. Addison-Wesley Professional.
Lindvall, M., Basili, V., Boehm, B., Costa, P., Dangle, K., Shull, F., et al. (2002). Empirical findings in agile methods. Proc. International Conference on extreme programming and agile methods, 197–207.
Mahnič, V., & Hovelja, T. (2012). On using planning poker for estimating user stories. Journal of Systems and Software, 85(9), 2086–2095.
Martínez-Ruiz, T., García, F., Piattini, M., & Munch, J. (2011). Modelling software process variability: An empirical study. IET Software, 5, 172–187.
Maruping, L. M., Zhang, X., & Venkatesh, V. (2009). Role of collective ownership and coding standards in coordinating expertise in software project teams. European Journal of Information Systems, 18(4), 355–371.
Masood, Z., Hoda, R., & Blincoe, K. (2020). Real World Scrum A Grounded Theory of Variations in Practice. IEEE Transactions on Software Engineering, 1–13.
McDaid, K., Greer, D., Keenan, F., Prior, P., Coleman, G., & Taylor, P.S. (2006). Managing Uncertainty in Agile Release Planning. Proc. International Conference on Software Engineering and Knowledge Engineering, 138–143.
McKenna, D. (2016). The Art of Scrum: How Scrum Masters Bind Dev Teams and Unleash Agility. Apress.
Medini QVT: IKV + + technologies home. http://projects.ikv.de/qvt Accessed 16 November 2019.
O’Donnell, M.J., & Richardson, I. (2008). Problems encountered when implementing agile methods in a very small company. In R.V. O’Connor et al. (Eds.), Software Process Improvement, 13–24.
OMG: Software & Systems Process Engineering Metamodel Specification Version 2.0. (2008). https://www.omg.org/spec/SPEM/About-SPEM/ Accessed 16 November 2019.
Paasivaara, M., Lassenius, C., & Heikkilä, V.T. (2012). Inter-team coordination in large-scale globally distributed Scrum: Do Scrum-of-Scrums really work? Proc. ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, 235–238.
Padberg, F., & Muller, M.M. (2003). Analyzing the cost and benefit of pair programming. Proc. IEEE International Symposium on Software Metrics, 166–177.
Palomino, M., Dávila, A., Melendez, K. & Pessoa, M. (2016). Agile practices adoption in CMMI organizations: A systematic literature review. Proc. International Conference on Software Process Improvement, 57–67.
Pato, R. H., Granada, D., Vara, J. M., & Marcos, E. (2020). Lean Kanban in an industrial context: A success story. Proc. ACM/IEEE International Conference on Software Engineering, 282–283.
Pauly, D., Michalik, B., & Basten, D. (2015). Do daily Scrums have to take place each day? A case study of customized Scrum principles at an e-commerce company. Proc. Hawaii International Conference on System Sciences, 5074–5083.
Pichler, R. (2009). The Product Vision. Available online at https://www.scrumalliance.org/community/articles/2009/january/the-product-vision
Pino, F. J., 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.
Power, K. (2011). Using silent grouping to size user stories. Proc. International Conference on Agile Software Development, 60–72.
Power, K. (2014). Metrics for Understanding Flow. Proc. International Conference on Agile Software Development, 1–8.
Proba, D., & Jung, R. (2019). Defining Situational Characteristics for Situational Agile Method Engineering, Defining Situational Characteristics for Situational Agile Method Engineering. Proc. Americas Conference on Information Systems, 1–10.
Ralyté, J., Deneckère, R., & Rolland, C. (2003). Towards a generic model for situational method engineering. Proc. International Conference on Advanced Information Systems Engineering, 95–110.
Reddaiah, B., Ravi, S. P., & Movva, L. S. (2013). Risk management board for effective risk management in Scrum. International Journal of Computer Applications, 65(12), 16–23.
Reinertsen G.D. (2009). Types of Processes. Available online at http://www.netobjectives.com/blogs/Types-of-Processes
Rubin, K.S. (2012). Essential Scrum: A practical guide to the most popular agile process. Addison-Wesley.
Ruiz, P.H., & Hurtado, J.A. (2012). A software process line based on the Unified Process. Proc. Colombian Computing Congress, 1–6.
Runeson, P., Host, M., Rainer, A., & Regnell, B. (2012). Case study research in software engineering: Guidelines and examples. John Wiley & Sons.
Savoine, M.M., Rocha, V.F., Bezerra, C.A.C., de Araújo, A.M.C., & Matias, J.K.M. (2016). A Synchronous Agile Framework Proposal Combining Scrum and TDD. Proc. International Conference on Software Engineering Advances, 337–341.
Schwaber, K. (2015). The NexusTM Guide. https://www.scrum.org/resources/nexus-guide Accessed 16 November 2019.
Schwaber, K., & Sutherland, J. (2017). Scrum Guide. https://www.scrum.org/resources/scrum-guide Accessed 16 November 2019.
Seikola, M., & Loisa, H. M. (2011). Kanban implementation in a telecom product maintenance. Proc. EUROMICRO Conference on Software Engineering and Advanced Applications, 321–329.
Shah, S. M. A., Torchiano, M., Vetro, A., & Morisio, M. (2014). Exploratory testing as a source of technical debt. IT Professional, 16(3), 44–51.
Simmonds, J., Perovich, D., Bastarrica, M. C., & Silvestre, L. (2015). A megamodel for Software Process Line modeling and evolution. Proc. ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, 406–415.
Sjøberg, D. I., Johnsen, A., & Solberg, J. (2012). Quantifying the effect of using Kanban versus Scrum: A case study. IEEE software, 29(5), 47–53.
Stankovic, D., Nikolic, V., Djordjevic, M., & Cao, D. B. (2013). A survey study of critical success factors in agile software projects in former Yugoslavia IT companies. Journal of Systems and Software, 86(6), 1663–1678.
Sterling, C. (2008). Affinity Estimating: A How-To. http://www.gettingagile.com/2008/07/04/affinity-estimating-a-how-to/ Accessed 16 November 2019.
Stettina, C. J., & Hörz, J. (2015). Agile portfolio management: An empirical perspective on the practice in use. International Journal of Project Management, 33(1), 140–152.
Tingling, P., & Saeed, A. (2007). Extreme Programming in Action: A Longitudinal Case Study. In J. A. Jacko (Ed.), Human-Computer Interaction (pp. 242–251).
Uikey, N., & Suman, U. (2016). Tailoring for agile methodologies: A framework for sustaining quality and productivity. International Journal of Business Information Systems, 23(4), 432–455.
Warden, S., & Shore, J. (2007). The art of agile development. O’Reilly.
Yi, L. (2011). Manager as Scrum Master. Proc. International Agile Conference, 151–153.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: Questionnaire designed for obtaining feedback on the practices applied
Appendix: Questionnaire designed for obtaining feedback on the practices applied
The questionnaire was designed in two parts, described in Sect. 7.1 and Sect. 7.2, respectively.
1.1 Part one
This part focused on gathering practitioner details. The specific questions designed for this purpose are shown in Table 15.
1.2 Part two
In this part, participants were asked to state their opinion on whether each of the practices listed in Table 16 would result in improving the process being used in their project.
Rights and permissions
About this article
Cite this article
Agh, H., Ramsin, R. Scrum metaprocess: a process line approach for customizing Scrum. Software Qual J 29, 337–379 (2021). https://doi.org/10.1007/s11219-021-09551-4
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-021-09551-4