WANTED: developers who understand infrastructure. Automation-focused infrastructure engineers and operations staff. Experienced and non-functional testers. High-end technical delivery managers and architects with a solid background in IT development and operations.
If you saw these job adverts, how confident would you feel that you could fit the bill? In fact, would you know anyone who could? These skills are scarce because IT workers typically have a career legacy spanning either development or operations, not both. In 2015, workers with both skills will be in high demand.
The rise of DevOps
With IT-enabled innovation a competitive differentiator for almost all types and sizes of organisation, agility in delivering IT systems and the ability to run them reliably and cost effectively is critical. This importance gives rise to the DevOps concept and, in turn, the demand for the skills listed above.
DevOps aims to break down the barriers and conflicting priorities that often exist between development and operations teams, such as project spend, application performance and functional requirements. This allows them to work together, delivering systems into production reliably, safely and rapidly, and to operate and support them more effectively.
DevOps is a culture rather than a specific technique or technology. It aims to develop a collaborative working relationship and foster adoption of a common set of objectives to deliver IT services that provide value to the business. DevOps is strongly associated with a set of techniques collectively known as Continuous Delivery, which is a synthesis of concepts from lean production, continuous integration and continuous deployment.
Conflict between development and operations
Unfortunately, traditionally there has been little, if any, working partnership between the development and operations siloes. Development and operations teams might work in different buildings, or even continents. Even if they occupy the same time zone, operations teams work 24-hour shift patterns and development teams usually don't, so they might not be in the office at the same time. Their organisation structures and technical languages are usually distinct, and movement between teams that would foster a common understanding is rare, hence the scarcity of candidates who meet the criteria.
The distinction between the roles of development and operations means most developers do not have the depth of operational knowledge necessary to undertake complex infrastructure automation tasks, and few infrastructure and operations experts have the requisite software engineering skills. It takes deep operational knowledge to build software that performs reliably in production. It also requires deep infrastructure knowledge to undertake complex infrastructure automation tasks.
Although functional testing automation skills are now relatively widespread, DevOps can only work if testers are able to automate testing for the factors that matter most to operations, such as performance, resilience and security. Few people currently have this experience.
Any DevOps programme of enterprise scale will require first class, highly technically aware delivery managers and architects to plan and manage the necessary development, infrastructure, vendor management and organisation changes required.
Is DevOps worth it?
Today's business challenges have pushed traditional delivery approaches to new levels. Therefore, the benefits of a DevOps approach far outweigh any potential difficulties in aligning the two transparency-limited siloes. It delivers systems to the business faster and reduces risk of production changes through automated non-functional testing and shorter development iterations.
Additionally, it automates service management to support operational objectives and improves understanding of all layers of the production environment stack, helping to prevent and resolve production issues.
Businesses might also find the differences are easier to overcome than originally thought – typically, a change in culture is the issue rather than a change in technology. Successful DevOps requires careful management of organisational and cultural change in addition to acquiring the right skills.
Delivery of IT services is similar to a production line: the speed of delivery and the quality of a finished article are determined predominantly by the weakest link in the chain. Until technical education and career progression catch up and encompass both sides, IT organisations can partner with specialist companies who can provide both experienced DevOps experts and change management support. DevOps promises much, but must be underpinned by cultural change and the correct mix of skills.
- Nigel Wilson is head of delivery at IT consultancy BJSS