We’re living in exciting but demanding technological times. Big Data, Internet of Things, ubiquitous computing, smart machines, robotics, and wearables . . . things that were the talk of science fiction only a few short years ago are on every CIOs wish list today. And, oh, did we forget deliverables by drone in 30 minutes or less with Amazon’s Prime Air? But to the point, the revolution in technology has led to major shifts in how organizations today ideate, plan, develop, and deploy software solutions. It used to be that software release cycles would take upwards of 18-24 months or more. Now, with the innovations spurred on by the consumerization of IT and heightened customer demands and business competition, companies today are hard-pressed to get applications out the door as fast as possible.
The need for creating a novel software application from “soup to nuts” is about 3 months for an initial version and upwards of 6 months for the full feature set. And not only has the lifecycle shortened but apps have become much more complex and require cross-collaboration and integration between various IT constituents, such as Operations, Development, and Q&A in ways previously unimagined. The result has been a new discipline known as DevOps.
Much of DevOps is about a cultural shift in how organizations, and specifically IT shops, are run. Since smaller businesses are obviously not tied down as much or any to legacy systems, these can really stand to benefit from more agile solutions. If your organization is going to compete in the digital market in 2015 it best be focused and centered on DevOps and ready to embrace this as the new paradigm shift in software development.
There tends to be a lot of confusion around what DevOps is and how to kickoff a strategy. So let’s walk through some key steps for ramping up your DevOps initiative in 2015 and hopefully making your software or product development cycle as efficient and streamlined as possible. Due to the length of the topic, we’re going to split this discussion into two parts.
1. Define DevOps for Your Organization
Gartner defines DevOps as “a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach, where system-oriented is the process of understanding how things, regarded as systems, influence one another within a whole.” Now that’s a mouthful but it really boils down to this. DevOps is not just about technology but it’s about people and process. It’s about effective collaboration and communication across the organization. To accomplish the change in culture, you start with incremental changes in behavior and over time things will begin to transform. Start by creating an environment in which innovation and brainstorming are welcomed practices. Reward people for their ideas. Host a monthly innovation contest by providing a free lunch or $50 gift certificate to whoever finds the best solution to a manual, time-consuming process. Incentivize it and make your employees know they’re important contributors in the process of IT transformation.
2. Develop an App with DevOps
Rather than theorizing about DevOps, there’s no better way to get started than by picking a project and going into it with a DevOps mindset. Gartner recommends this path. While improved culture and collaboration will follow, the best results of driving towards DevOps adoption is through systems of innovation in real time. Developing your application with a lean, automation-oriented, and continuous delivery mindset will provide a great opportunity for bringing your organization or department together towards a common goal.
3. Teamwork Makes the Dream Work
So they say. Your DevOps strategy won’t fly without a properly constituted team who “get the big picture” when it comes to being lean and agile. 2015 is upon us and Apple Watch is about to be released to a hungry market of developers ready to push out smartwatch applications. This is not Kansas anymore, Toto. Organizations must be fast, focused, and serious about continuous delivery. This all revolves around proper team synergies and alignments between developers and operations personnel. Keep your team small and agile. The advantage here is that everyone knows each other on a first name basis, which makes it easier to seek out specific guidance or get questions answered. Small teams self-organize more efficiently and can catch mistakes faster and work to not repeat them. It’s easier to hold your colleagues accountable and to keep a deeper level of trust when the team is small.
Join us back here tomorrow as we pickup with part 2.