IT Execs Plan to Reduce Software Development Release Cycle Times by 75-90%
Part 5 in our global study of gaps in IT transformation
In our State of IT Transformation analysis, nearly 70% of participants said that they take at least 6-12 months, and often more, to get a software release into production, and that they wanted that to be in the range of 2 weeks to 3 months. Is that achievable?
Well, according to McKinsey in “Beyond agile: Reorganizing IT for faster software delivery,” companies can reduce the average number of days between code development and live production from 89 days to 15 days, a mere 17% of the original time, by better integrating software development processes with IT operations. So, it sounds reasonable enough, but how do you do that?
Even setting a simple goal, like “deploy into production every 30 days,” is going to affect software development, testing, operations, infrastructure management, databases, security, compliance, architecture, release management, project management, and more. You’ll need integrated tooling and a strong API-driven architecture to streamline end-to-end automation like this.
Which leads us to another key point from our State of IT Transformation analysis. 82% of participants said that they did not have a scalable, infrastructure-independent application framework on which to build mobile-friendly, cloud-native apps. So, organizations are lacking processes and platforms and tool chains.
How then can you change how you ultimately budget, plan, manage, execute, and organize your software development lifecycle to speed it up? You’ve probably been doing it the same way for a long time, especially if you’re maintaining a business critical app that you’ve had for awhile. But even if you want to retool processes for a new project, let’s say for a new mobile app that taps into that business critical app. How will you do that? Try DevOps. You can learn about DevOps for free with the EMC DevOps MOOC.
In EMC Global Services, we help teams get started with DevOps in a way that can eventually scale across the organization. We pair with customer team members to not only build a continuous delivery tool chain but also to begin to model DevOps practices and process. This enables us to seed a DevOps culture while helping to navigate around common roadblocks and pitfalls. We “Align -> Radiate -> Scale.”
This approach starts with aligning key stakeholders around a common desired state and a shared understanding of current readiness. As a roadmap begins to take shape, we work to prove out continuous delivery and build local champions that will help radiate the solutions. Once proven, we work together to design and develop repeatable processes and patterns for onboarding other applications and divisions. Succinctly, our process for building DevOps so that it can be scaled out, is:
- Define the desired state
- Organize around common values and goals
- Focus on deployment
- Develop an MVP (minimally viable product), then iterate
- Seed a lean, collaborative culture
- Define a target and measure progress towards the goal
- If possible, pair with an active development project
- Build with the intent to scale
- Continue to iterate
My next blog post will make some predictions about where investments are going to be made, based on the priorities set by CIOs in our IT Transformation Workshops.