Powered by lean and agile methods, CD aims for continuous deploy- ment of valuable ... Many software development companies have set their future goal to ...
Paradigm shift from large releases to continuous deployment of software – Designing a reference model for continuous deployment Doctoral student: Teemu Karvonen, Supervisors: Markku Oivo and Pasi Kuvaja University of Oulu, Finland {Teemu.3.Karvonen, Markku.Oivo, Pasi.Kuvaja}@oulu.fi
Abstract. Continuous Deployment (CD) is essential method as software development companies move towards real-time business and continuous experiments. Powered by lean and agile methods, CD aims for continuous deployment of valuable software. Enabling real-time business requires variety of improvements in enterprise processes. This doctoral research will study what it takes to enable continuous deployment of software. Findings will be collected into the CD reference model. Research was started by studying existing literature and models for organizational assessment in relation to lean and agile. Next, focus is sharpened to capabilities that are required for enabling CD in ICT. Research will apply literature reviews, case studies and Design Science Research framework.
1
Doctoral research plan
Software engineering (SE) field of research has focused on studying multidisciplinary aspects of how to improve ways of developing and deploying software intensive products. Today development paradigm in ICT has moved from plan-based waterfall to iterative agile methods [1]. Many software development companies have set their future goal to “delivering value in real-time”. It seems that innovation experiment systems and continuous deployment of valuable software are essential new capabilities that companies have to develop in order to advance beyond agile [2,3,4]. Continuous deployment (CD) [5,6] describes practices for how to develop and deploy software. CD has clearly build-in principles of lean [7] and agile. Lean principle “flow,” instructs to make the value-creating steps occur in tight sequence so the value will flow smoothly toward customer. Also agile manifesto1 describe how to deliver software: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software”. “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale”. CD is one of the research themes in Finnish government funded Digile N4S program2. Organizational assessment models are also frequently discussed in SE studies. Periodical assessments are found useful for making an analysis of organization’s current 1 2
http://agilemanifesto.org/principles.html http://www.n4s.fi/en/
status. Reference model can be used together with assessment model for defining desired real life working practices. Reference model (what to assess) and assessment model (how to assess) can also be integrated into a single “tool” such as in LESAT [7]. Research goal is to develop new knowledge and methods that aid transition towards CD. Main research methods and questions are: 1) How does ICT companies apply CD? – Case studies 2) How can CD capabilities be assessed? – Systematic Mapping Study and Design Science Research (DSR) [8]. According to principles of DSR, aim is to produce innovative research artifacts. Research has already started with wide range study of lean and agile methods and their related assessment models. The first design artifact, LESAT for software [7] is adaptation of the self-assessment tool designed for lean enterprise transformation. Next, the research scope will be narrowed to CD practices and capabilities in real environment, following design and validation of the CD reference model. First results from case study interviews are indicating that CD requires multiple stakeholder involvement and tight integration of customer, product management, R&D and operations.
References 1. Dybå, T., Dingsøyr, T.: Empirical studies of agile software development: A systematic review. Information and Software Technology. 50, 833–859 (2008). 2. Bosch, J., Eklund, U.: Eternal embedded software: Towards innovation experiment systems. In: Margaria, T. and Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. pp. 19–31. Lecture Notes in Computer Science, Berlin, Heidelberg (2012). 3. Fagerholm, F., Guinea, A.S., Mäenpää, H., Münch, J.: Building blocks for continuous experimentation. Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering - RCoSE 2014. pp. 26–35. ACM Press, New York, New York, USA (2014). 4. Olsson, H., Bosch, J., Alahyari, H.: Towards R&D as innovation experiment systems: A framework for moving beyond agile software development. IASTED Multiconferences Proceedings of the IASTED International Conference on Software Engineering, SE 2013. pp. 798–805 (2013). 5. Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional (2010). 6. Fitzgerald, B., Stol, K.-J.: Continuous software engineering and beyond: trends and challenges. Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering - RCoSE 2014. pp. 1–9. ACM Press, New York, New York, USA (2014). 7. Karvonen, T., Rodriguez, P., Kuvaja, P., Mikkonen, K., Oivo, M.: Adapting the Lean Enterprise Self-Assessment Tool for the Software Development Domain. Proceedings of 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA) 5-8 Sept 2012. pp.266,273, doi: 10.1109/SEAA.2012.51 (2012) 8. Hevner, A. R., Chatterjee, S., Gray P. , Baldwin, C. Y.: Design research in information systems : theory and practice, New York : Springer (2010)