Release Management with Continuous Delivery: A Case Study

We present our approach on using continuous delivery
pattern for release management. One of the key practices of agile and
lean teams is the continuous delivery of new features to stakeholders.
The main benefits of this approach lie in the ability to release new
applications rapidly which has real strategic impact on the
competitive advantage of an organization. Organizations that
successfully implement Continuous Delivery have the ability to
evolve rapidly to support innovation, provide stable and reliable
software in more efficient ways, decrease the amount of resources
need for maintenance, and lower the software delivery time and costs.
One of the objectives of this paper is to elaborate a case study where
IT division of Central Securities Depository Institution (MKK) of
Turkey apply Continuous Delivery pattern to improve release
management process.


Authors:



References:
[1] How to drive innovation and business growth, Leveraging emerging
technology for sustainable growth, PwC Advisory Oracle practice
(2012) (Online) http://www.pwc.com/en_US/us/supply-chainmanagement/
assets/pwc-oracle-innovation-white-paper.pdf Retrieved:
11.08.201.
[2] Continuous Delivery: A Maturity Assessment Model, A Forrester
Consulting Thought Leadership Paper Commissioned By Thoughtworks.
(March 2013) (Online) http://info.thoughtworks.com/Continuous-
Delivery-Maturity-Model.html. Retrieved: 15.08.2013.
[3] J. Humble, Build and Release Principal, Agile Release Management:
Towards Frequent, Low Risk Releases, ThoughtWorks Studios. (14 July
2010) p1 (Online) http://www.kn-portal.com/fileadmin/xxx/
AgileReleaseManagement-whitePaper.pdf . Retrieved: 20.08.2013.
[4] S. Smith, Introducing Continuous Delivery, (07.04.2014), (Online)
http://java.dzone.com/articles/introducing-continuous. Retrieved:
08.04.2014.
[5] Erenkrantz, J. R.(2003) Release Management Within Open Source
Projects. In: Proceedings of the 3rd Open Source Software Development
Workshop. Portland, Oregon, USA, May 2003, S. 51–55.
[6] Introducing Continuous Delivery in The Enterprise, Xebia Nederland
(Online) http://continuousdelivery.xebia.com/sites/default/bestanden/
nl/Whitepaper%20Xebia%20Continuous%20Delivery.pdf. Retrieved:
15.08.2013.
[7] M. Fowler, Continuous integration, (2006, May) (Online)
http://martinfowler.com/articles/continuousIntegration.html Retrieved:
20.08.2013.
[8] D. Sujoy, R. Amit Kumar, and B. Uttam, Release Management for
Parallel Development: A Case Study, Lecture Notes on Software
Engineering, Vol. 1, No. 1, February 2013.
[9] J. Humble and D. Farley, Continuous Delivery: Reliable Software
Releases through Build, Test, and Deployment, Addison-Wesley
Signature Series, Automation 2011 p105-106.
[10] M. Fowler, Deployment Pipeline, (30 May 2013) (Online)
http://martinfowler.com/bliki/DeploymentPipeline.html Retrieved:
20.08.2013.
[11] J. Humble, D. Farley, Continuous delivery: reliable software releases
through build, test, and deployment automation. ISBN 978-0-321-
60191-9. – Chapter 1.
[12] Abrahamsson, P., Salo, O., Ronkainen, J., &Warsta, J. (2002). Agile
Software Development Methods: Review and Analysis. VTT
Publications 478.
[13] Jenkins CI – Meet Jenkins, Available at https://wiki.jenkinsci.
org/display/JENKINS/Meet+Jenkins.
[14] Subversion. Available at http://subversion.apache.org/.
[15] FindBugs, Find Bugs in Java Programs, Available at
http://findbugs.sourceforge.net/.
[16] Cobertura, A code coverage utility for Java, Available at
http://cobertura.github.io/cobertura/.
[17] Apache Maven, Available at http://maven.apache.org/.
[18] M. Fowler, Practices of Continuous Integration. (01 May 2006) (Online)
http://martinfowler.com/articles/continuousIntegration.html#PracticesOf
ContinuousIntegration. Retrieved: 18.02.2014.
[19] Common Branching Patterns, Version Control with Subversion For
Subversion 1.7 - Chapter 4, (Online) http://svnbook.red-bean.com/en/
1.7/svn.branchmerge.commonpatterns.html. Retrieved: 25.03.2014.
[20] Maven Release Plugin, Available at http://maven.apache.org/mavenrelease/
maven-release-plugin/index.html. Retrieved: 25.03.2014.
[21] Junit, A programmer-oriented testing framework for Java, Available at
http://junit.org/
[22] PMD, Source Code Analyzer, Avaliable at http://pmd.sourceforge.net/
[23] Distributed Builds with Jenkins CI, (Online) https://wiki.jenkinsci.
org/display/JENKINS/Distributed+builds. Retrieved: 26.03.2014.
[24] 5 Best Practices for Test Data Management, Kimberly Madia, (July 26,
2013) (Online) http://ibmdatamag.com/2013/07/5-best-practices-for-testdata-
management/ Retrieved: 26.03.2014.
[25] R. van Loghem , So What Is A Deployment Really, ( July 8, 2009)
(Online) http://blog.xebia.com/2009/07/08/so-what-is-a-deploymentreally/.
Retrieved: 27.03.2014.
[26] J. Casey, V. Massol, B. Porter, C. Sanchez, J. V. Zyl, Better Builds with
Maven, The How-to Guide for Maven 2.0, 2008 p61
[27] Apache Archiva, The Build Artifact Repository Manager, Available at
http://archiva.apache.org/.
[28] K. Scott Allen, Versioning Databases – The Baseline, (February 1,
2008), (Online) http://odetocode.com/blogs/scott/archive/2008/01/31/
versioning-databases-the-baseline.aspx. Retrieved: 26.03.2014.
[29] Dbmaintain, Tool for automating the deployment for relational
databases, Available at http://www.dbmaintain.org/overview.html
[30] JIRA- issue tracking tool, Atlassian, Available at
https://www.atlassian.com/get-jira .
[31] Wayne A. Babich. Software Configuration Management. Addison-
Wesley, 1986. 162 pp.
[32] Clustering/Session Replication, Apache Tomcat Version 7.0.52, Feb 13
2014, (Online) https://tomcat.apache.org/tomcat-7.0-doc/clusterhowto.
html. Retrieved: 31.03.2014.