The amount of time a company can count on holding on to market leadership to exploit its earlier innovations is shrinking, and this creates an imperative for even the most entrenched companies to invest in innovation. In fact, I believe a company’s only sustainable path to long-term economic growth is to build an “innovation factory” that uses Lean Startup techniques to create disruptive innovations on a continuous basis.” –Eric Reis
For a few years now, the term DevOps has received rising popularity and use within the IT community. However, it can still confuse some. Why? Because it is something evolved from two separate entities, development and IT operations (systems engineers, system administrators, operations staff, release engineers, DBAs and network engineers). By merging the two, you get increased efficiency, but how? Read on to learn more.
Over the past decade, companies have felt the clash come across between development and operations teams. The development staff was hired to induce change and bring about transformative ideas. On the other hand, operations was hired to keep the lights on and maintain the status quo. So, when development brings about their latest and greatest, the operations department stalls, huffs and puffs, resisting anything new. What did this create? Inefficiency and stalemates, which isn’t good for anyone. Just think of the tools that developers use on a daily basis compared to the tools IT operations uses on a daily basis.
DevOps was first popularised in 2009 in Belgium when Patrick Debois called for a series of “DevOps Days.” Since then, there have been DevOps conferences held in the US, Brazil, Australia, India, Germany, Sweden, Brazil, Tel Aviv and more. It makes use of agile software development methodologies where requirements and solutions come about through a collaborations of inter-departmental teams from development, IT operations and quality assurance. Some of the drivers of DevOps include:
- Demand for quicker production releases from stakeholders
- Cloud availability and access for internal and external contributors
- Augmented use of data center automation and configuration management tools
The aim of DevOps is to use automation to optimise the efficiency, security, predictability and maintainability of operational processes. Targets include:
- Quality testing
- Product delivery
- Feature development
- Maintenance releases
DevOps also assists with creating a standard for development environments, which helps to aid with faster releases of software applications. For example, Flickr has a DevOps standard of 10 deployments a day. This is also called continuous delivery. In addition, it gives development more control over the environment.
How is this different from Agile?
DevOps is based upon some of the foundations that drive Agile Development, and in this sense they are quite similar. On the other hand, there are a few differences. To illustrate, you can still have problems with DevOps even if you are an expert at Agile Development. DevOps and Agile Development are the children of Lean Development. However, Agile Development focuses on boosting one major IT function, such as delivering software. With DevOps, the focus is on improving collaboration and flow through multiple IT entities.
How does this change the landscape?
Once upon a time, technology alone provided a competitive advantage. That is hardly the case today. Decades ago, there was IBM and Xerox. After that, it was IBM, Microsoft and Apple. Today, there are a bevy of technologically-inclined companies from Google to Salesforce that have a niche, which can easily and quickly be copied. That isn’t to say there is no longer the chance for uber-success, of course there is. Nonetheless, as technology becomes more accessible and available to all, differentiation becomes less so. Just look at all the Angry Bird game clones out there or think of Google, Yahoo! and Bing. This just goes to show that good ideas can be copied and copied very quickly.
How does DevOps provide the competitive edge?
The main points of differentiation that companies need to focus on is sustained innovation. You can scale anything and many companies do, so it’s difficult to remain the leader in that arena. Focusing on being the most inexpensive provider might drive you into bankruptcy if you don’t have the right logistics and partnerships to continue that race to the bottom of the price wars. So, organisations need to have sustained innovation most of all.
First, it is critical to provide innovation that surpasses your competitors, and you need to do that continuously. Remember Friendster or MySpace? Once Internet darlings, that burnt out rather quickly due to a lack of sustained innovation. So, this essentially comes down to the lifecycle. If you can get an innovative product out to the masses more quickly than your competitors can, you win. And, if you can repeat that over and over again, using DevOps, you also win over and over again.
Essentially, DevOps means a sharing of responsibility. Instead of departments acting independently, each has to understand that they are all under the line of fire with strategic and shared deadlines to meet. Once development becomes a mutually beneficial process, it then becomes a win-win situation for both the staff and the company.