skip to main content
research-article

Continuous Delivery

Published: 01 June 2017 Publication History

Abstract

Present six strategies to overcome Continuous Delivery (CD) adoption challenges.Identify and elaborate eight further challenges for research.They are based on four years CD adoption experience at a multi-billion-euro company. Continuous Delivery (CD) is a relatively new software development approach. Companies that have adopted CD have reported significant benefits. Motivated by these benefits, many companies would like to adopt CD. However, adopting CD can be very challenging for a number of reasons, such as obtaining buy-in from a wide range of stakeholders whose goals may seemingly be different fromor even conflict withour own; gaining sustained support in a dynamic complex enterprise environment; maintaining an application development team's momentum when their application's migration to CD requires an additional strenuous effort over a long period of time; and so on. To help overcome the adoption challenges, I present six strategies: (1) selling CD as a painkiller; (2) establishing a dedicated team with multi-disciplinary members; (3) continuous delivery of continuous delivery; (4) starting with the easy but important applications; (5) visual CD pipeline skeleton; (6) expert drop. These strategies were derived from four years of experience in implementing CD at a multi-billion-euro company. Additionally, our experience led to the identification of eight further challenges for research. The information contributes toward building a body of knowledge for CD adoption.

References

[1]
B. Adams, S. Bellomo, C. Bird, T. Marshall-Keim, F. Khomh, K. Moir, The practice and future of release engineering: a roundtable with three release engineers, IEEE Software, 32 (2015) 42-49.
[2]
D.J. Anderson, Kanban: Successful Evolutionary Change for Your Technology Business, Blue Hole Press, 2010.
[3]
L. Bass, R. Holz, P. Rimba, A.B. Tran, L. Zhu, Securing a deployment pipeline, in: Presented at the 2015 IEEE/ACM 3rd International Workshop on Release Engineering (RELENG), 2015.
[4]
K. Beck, Test Driven Development: By Example, Addison-Wesley Professional, Boston, MA, 2002.
[5]
Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., et al., 2001. Manifesto for agile software development.
[6]
K. Bennett, Legacy systems: coping with success, IEEE Software, 12 (1995) 19-23.
[7]
Change Management (2016). Available: https://en.wikipedia.org/wiki/Change_management (Accessed 30.10.16).
[8]
L. Chen, Continuous delivery: huge benefits, but challenges too, IEEE Software, 32 (2015) 50-54.
[9]
L. Chen, Towards architecting for continuous delivery, in: 2015 12th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2015, pp. 131-134.
[10]
G.G. Claps, R. Berntsson Svensson, A. Aurum, On the journey to continuous deployment: technical and social challenges along the way, Inform. Software Tech., 57 (2015) 21-31.
[11]
A. Debbiche, M. Dienr, R. Berntsson Svensson, Challenges when adopting continuous integration: a case study, in: Product-Focused Software Process Improvement, vol. 8892, Springer International Publishing, 2014, pp. 17-32.
[12]
A. Donovan, B.W. Kernighan, The Go Programming Language, Addison-Wesley, 2015.
[13]
E. Engstrm, P. Runeson, M. Skoglund, A systematic review on regression test selection techniques, Inform. Software Tech., 52 (2010) 14-30.
[14]
D.G. Feitelson, E. Frachtenberg, K.L. Beck, Development and deployment at Facebook, IEEE Internet Comput., 17 (2013) 8-17.
[15]
M.Z. Gligoric, Regression Test Selection: Theory and Practice, University of Illinois at Urbana-Champaign, 2015.
[16]
J. Humble, D. Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley, New York, 2010.
[17]
T. Karvonen, L.E. Lwakatare, T. Sauvola, J. Bosch, H.H. Olsson, P. Kuvaja, Hitting the target: practices for moving toward innovation experiment systems, in: Software Business: 6th international conference, ICSOB 2015, Braga, Portugal, June 10-12, 2015, proceedings, Cham: Springer International Publishing, 2015, pp. 117-131.
[18]
S. Krusche, L. Alperowitz, Introduction of continuous delivery in multi-customer project courses, in: Presented at the Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014), 2014.
[19]
E. Laukkanen, J. Itkonen, C. Lassenius, Problems, causes and solutions when adopting continuous deliverya systematic literature review, Inf. Software Technol., 82 (2017) 55-79.
[20]
E. Laukkanen, M. Paasivaara, T. Arvonen, Stakeholder perceptions of the adoption of continuous integration a case study, in: 2015 Agile Conference (AGILE), 2015, pp. 11-20.
[21]
M. Leppanen, S. Makinen, M. Pagels, V.-P. Eloranta, J. Itkonen, M.V. Mantyla, The highways and country roads to continuous deployment, IEEE Software, 32 (2015) 64-72.
[22]
M. Marschall, Transforming a six month release cycle to continuous flow, in: 2007 Agile Conference (AGILE), 2007, pp. 395-400.
[23]
P. Mell, T. Grance, The NIST definition of cloud computing, National Institute of Standards and Technology, Gathersburg, MD, 2011.
[24]
S. Neely, S. Stolt, Continuous delivery? Easy! Just change everything (Well, maybe it is not that easy), in: 2013 Agile Conference (AGILE), 2013, pp. 121-128.
[25]
K. Noureddine, K. Foutse, Factors impacting rapid releases: an industrial case study, in: Presented at the Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '14), 2014.
[26]
C. O'Dell, M. Skelton, Continuous Delivery with Windows and .NET, O'Reilly, 2016.
[27]
M. Odersky, L. Spoon, B. Venners, Programming in Scala: A Comprehensive Step-by-Step Guide, Artima Press, 2016.
[28]
H.H. Olsson, H. Alahyari, J. Bosch, Climbing the "Stairway to Heaven" a mulitiple-case study exploring barriers in the transition from agile development towards continuous deployment of software, in: 2012 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), 2012, pp. 392-399.
[29]
Organizational Structure. Available: https://en.wikipedia.org/wiki/Organizational_structure. (Accessed 30.10.16).
[30]
Continuous Delivery: The New Normal for Software Development, 2015.
[31]
A. Puneet, Continuous SCRUM: agile management of SAAS products, in: Presented at the Proceedings of the 4th India Software Engineering Conference (ISEC '11), 2011.
[32]
A.A.U. Rahman, E. Helms, L. Williams, C. Parnin, Synthesizing continuous deployment practices used in software development, in: 2015 Agile Conference (AGILE), 2015, pp. 1-10.
[33]
O. Rissanen, J. Mnch, Transitioning towards continuous delivery in the B2B domain: a case study, in: Agile Processes in Software Engineering and Extreme Programming: 16th International Conference, XP 2015, Helsinki, Finland, May 25-29, 2015, Proceedings, Cham: Springer International Publishing, 2015, pp. 154-165.
[34]
A. Rob, Effective IT Service Management: To ITIL and Beyond!, Springer-Verlag, New York, Inc, 2007.
[35]
P. Rodrguez, A. Haghighatkhah, L.E. Lwakatare, S. Teppola, T. Suomalainen, J. Eskeli, Continuous deployment of software intensive products and services: a systematic mapping study, J. Syst. Software (2016).
[36]
R.O. Rogers, Scaling Continuous Integration, in: Extreme Programming and Agile Processes in Software Engineering: 5th International Conference, XP 2004, Garmisch-Partenkirchen, Germany, June 6-10, 2004. Proceedings, Springer Berlin Heidelberg, Berlin, Heidelberg, 2004, pp. 68-76.
[37]
T. Savor, M. Douglas, M. Gentili, L. Williams, K. Beck, M. Stumm, Continuous deployment at Facebook and OANDA, in: Presented at the Proceedings of the 38th International Conference on Software Engineering Companion (ICSE '16), 2016.
[38]
N. Sekitoleko, F. Evbota, E. Knauss, A. Sandberg, M. Chaudron, H.H. Olsson, Technical dependency challenges in large-scale agile software development, in: Agile Processes in Software Engineering and Extreme Programming: 15th International Conference, XP 2014, Rome, Italy, May 26-30, 2014. Proceedings, Cham: Springer International Publishing, 2014, pp. 46-61.
[39]
Y. Singh, A. Kaur, B. Suri, S. Singhal, Systematic literature review on regression test prioritization techniques, Informatica, 36 (2012).
[40]
R. Souza, C. Chavez, R.A. Bittencourt, Rapid releases and patch backouts: a software analytics approach, IEEE Software, 32 (2015) 89-96.
[41]
R. Todnem By, Organisational change management: a critical review, J. Change Manage., 5 (2005) 369-380.
[42]
G. Volker, H. Christoph, J. Christian, Security of public continuous integration services, in: Presented at the Proceedings of the 9th International Symposium on Open Collaboration (WikiSym '13), 2013.
[43]
M. Wynne, A. Hellesoy, The Cucumber Book: Behaviour-Driven Development For Testers and Developers, Pragmatic Bookshelf, Dallas, TX, 2012.
[44]
L. Zhu, D. Xu, A.B. Tran, X. Xu, L. Bass, I. Weber, Achieving reliable high-frequency releases in cloud environments, IEEE Software, 32 (2015) 73-80.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 128, Issue C
June 2017
256 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 June 2017

Author Tags

  1. Adoption
  2. Agile Software Development
  3. Continuous Delivery
  4. Continuous Deployment
  5. Continuous Software Engineering
  6. DevOps

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media