Our Jazz.net authors have been quite productive recently writing and publishing a slew of blog posts on the topics of DevOps and Continuous Delivery. Check out a selection of posts below from the subject matter experts themselves as they discuss deep technical topics that can help you improve your own release cycles, performance, and efficiency in deployments!
DevOps Culture - Retrospectives and continuous improvement- In the Collaborative Lifecycle Management (CLM) project we have declared three imperatives for improvement in order to increase our agility with a goal of continuous delivery: culture, process, and tools. Of these three things, culture is, in my opinion, the most difficult thing to change because it’s less tangible than processes and tools and because culture is often deeply ingrained in an organization and a team. Consequently, cultural changes can take a long time to implement. This is the first in a series of posts where I’ll discuss some of the important cultural issues and changes that we’ve tackled in the CLM project.
DevOps for Dummies now available!-You have probably heard about DevOps but you want to cut through the hype and understand more about this approach. That is the genesis of DevOps for Dummies, authored by IBM’s Sanjeev Sharma. It is written to appeal to both practitioners and managers and to show you how you can apply a new DevOps approach to more rapidly deliver innovative applications and services that solve real business problems.
Rapid build deployment using IBM UrbanCode Deploy- Previously I have focused on build performance in posts like Speeding up the pipeline by slowing down builds and Rethinking personal builds, but there is a lot more to a continuous delivery pipeline than build times. Once a build produces artifacts, you need to do something with them. Often the next step is to install the product onto a machine for either testing or production use. The installation is typically a process such as copying a zip to a machine and unzipping it or running an install program, but can sometimes be more complicated when special configuration is required. Below I describe how we have started using IBM UrbanCode Deploy to allow builds to easily and automatically install, configure and invoke server applications onto machines in the cloud before an application installer has even been created.
Working towards continuous deployment in Jazz.net- I have worked for IBM for about 20 years, moving back and forth between development, customer support and IT operations roles. Working in these different roles helped give me perspective for my current role as the manager for Jazz Continuous Deployments/DevOps. In this role I am responsible for ensuring that our multiple staging and self-hosting environments are stable and always using the latest driver or sprint of the Collaborative Lifecycle Management (CLM) products. We are not yet at the point where we can automatically deploy a new driver daily to production, but we are working towards that goal.
Unify your test automation for continuous delivery- This is the second article about testing in our Continuous Delivery series to share practices we have adopted in our own development team within Rational Team Concert (RTC). The presented techniques are used to control software evolution and to improve the quality of our code base. Since there is a variety of IBM and open source tools we are using, we focus here on the practices and techniques rather than on particular tools.
CLM Continuous Deployment Pipeline: Reporting on the state of affairs-The following is the third posting in my Collaborative Lifecycle Management (CLM) Continuous Deployment series of blogs on Jazz.net. The earlier two blogs can be found at Improving throughput in the deployment pipeline and Behind the scenes of the CLM Continuous Deployment pipeline. In Behind the scenes of the CLM Continuous Deployment pipeline, I had mentioned a mechanism we have developed on the Jazz Collaborative ALM project to gather progress and status data of phases that make up our deployment and test execution pipeline. In this post, I will show you how we use the gathered data for reporting on the overall state of the pipeline and narrow down on the root causes upon its failure. Additionally, the data allows us to create trend reports that help us assess the overall quality of our builds, tests and product code over a period of time.
From ‘use what we sell’ to ‘practice what we preach’- This is part three in our blog series describing the transformation of our internal ALM development organization toward a Continuous Delivery model. In this series, we describe the motivations behind adoption of a Continuous Delivery model and the many challenges we faced as we embarked on this transformation from both the planning and execution perspectives.
Role of the run team in our Continuous Delivery process- I am one of the developers in the Rational Collaborative Lifecycle Management (CLM) project contributing to the Tracking and Planning (TAP) functionality of Rational Team Concert (RTC). I have been part of the TAP team from last four years and involved in delivering RTC in longer and shorter release cycles. You would have read posts written by my colleagues on how we changed our processes and organized our teams for adapting to the Continuous Delivery lifecycle. This blog is the continuation to these posts, in which I’ll be talking about the "Run Team" and its necessity and role in delivering quality values to our product. We have been running the Run Team from the last four releases (since 4.0.1) and I was part of the team for three releases and led the team during two releases.
Rational Team Concert source control makes continuous delivery easier- Rational Team Concert (RTC) has started releasing quarterly. Since large features rarely fit into such short cycles, we’re making heavy use of RTC’s branching and merging functionality. That could result in merge hell, but it doesn’t. This post will give you an idea of how the RTC team uses our own source control management system, and show how its design helps large teams maintain many branches without nightmarish merging.
How does Rational ‘do Continuous Delivery?’- This is part two in our blog series describing the transformation of our internal ALM development organization toward a Continuous Delivery model. In this series, we describe the motivations behind adoption of a Continuous Delivery model and the many challenges we faced as we embarked on this transformation from both the planning and execution perspectives.
Organizing our teams for Continuous Delivery- You may have been reading the blog posts of my colleagues around continuous delivery including the motivation behind it, our focus areas as we transformed from annual to quarterly releases, and some process improvements that we implemented. Continuing this theme, in this blog I’ll write about one of the most dramatic changes that we underwent as a development team to support continuous delivery - the restructuring of the team itself into a new avatar that we like to believe is more agile and more user focused than it was earlier.