Ariane is a technical professional in a large manufacturing organization. She is in charge of application development (AD). In the past few months, she’s had to make some changes to promptly meet the demands of the customer and the business — including regularly updating applications with user feedback and responding to new shifts in the market and changes to business strategy.
Ariane then realizes she needs to develop continuous delivery (CD), a software engineering approach where teams constantly produce valuable software in short cycles while ensuring the software can be reliably released at any time.
Delivering quality applications with increased agility isn’t as simple as “doing” agile or DevOps
“Achieving CD requires engineering discipline and collaboration to facilitate the complete automation of the delivery pipeline from code commit to production,” says Bill Holz, VP Analyst, Gartner.
Holz adds that delivering quality applications with increased agility isn’t as simple as “doing” agile or DevOps. No matter where they are on their agile and DevOps journey, technical professionals can use these steps to achieve CD.
Step 1: Establish a continuous learning culture
To deliver CD of quality solutions, implement continuous learning practices for streamlining work and reducing waste:
- Increase knowledge and skills. Carefully assess the capabilities of the current AD organization. Use this assessment to identify gaps in knowledge, skills, process and practices.
- Create communities of practice to support organizational learning and provide critical opportunities to build expertise.
- Adopt practices and processes to support continuous learning
Step 2: Develop agile fluency
As you continue your CD journey, take three key actions:
- Establish baseline metrics. How do you know if you are successfully moving toward your goal?
- Deploy agile methodologies. How do you educate and train yourself and your peers to begin adoption of agile methodologies? How do you know when you have become proficient enough to move to the next step?
- Implement bimodal IT. How can Mode 1 (predictability) teams benefit from agile? How do you prevent bottlenecks and reduce dependencies between Mode 1 and Mode 2 (exploratory) teams?
Read more: A CIO’s Roadmap Culture Change
Step 3: Mature agile practices
Scrum, Kanban and scrumban are not enough to implement agile processes and practices. They are management frameworks, each with different goals, that provide no guidance for how to deliver working, consumable software.
Address these two areas as you continue toward a mature agile implementation:
- Agile technical practices provide the insight and guidance to help build quality into the application while receiving constant feedback on the system’s readiness for production deployment.
- Use a componentized architecture when creating new applications, and refactor legacy applications to enable those applications to take full advantage of the agile and DevOps practices that are necessary to enable CD.
Step 4: Automate infrastructure
Development, security and data management, and infrastructure and operations (I&O) teams are under increasing pressure to deliver solutions more quickly. The time when it was acceptable to wait for days, weeks or even months for someone to build and configure an environment is long gone.
DevOps helps those teams increase the frequency of application updates, as it extends agile values and practices. However, successful DevOps teams require the ability to:
- Provision and configure tooling that helps not only development teams but also I&O teams manage and support new architecture.
- Deploy and manage when it comes to implementing and managing your applications. There are an array of questions to ask: Should we use containers? How do we manage them? Do we move our applications and databases to the cloud?
- Secure applications and data. This continues to be one of the key tasks for security professionals. The increased speed of change coupled with moving applications and data to the cloud make protecting your mission-critical assets more challenging.
- Monitor applications. With the increasing adoption of DevOps-oriented lean and agile practices, application performance monitoring is needed to provide rapid quantitative feedback regarding the efficacy of the latest release. The data also needs to be available to support rapid triage of changes in performance and availability associated with these more frequent production updates.
Step 5: Improve delivery cadence
Once technical professionals reach this step, several advanced topics should be considered. The topics require, however, mature agile development and DevOps practices to ensure success:
- Adopting an enterprise agile framework: The purpose of enterprise agile frameworks is to make the management of complex agile releases and evolving solutions not only feasible, but also routine and sustainable.
- Applying microservices architecture (MSA) principles. MSA builds distributed applications that support agile delivery and scalable deployment, both on-premises and to the cloud. Once adopted, MSA affects how development teams develop and deploy software.