Considering taking a DevOps approach to your product development? In this post, we take a look at DevOps architecture and how the realignment of teams and values will help you get it right for your organisation.
During our Future of Team Collaboration event last month, there was a lot of talk about DevOps.
When it comes to DevOps, there’s also a lot of talk around what exactly it is. Broadly speaking, the DevOps movement is focused on bringing together development and IT operations. Why?
It removes conflict.
Development and IT teams work together, guided by the same principles, with their goals and methodologies aligned.
There’s a particularly good description of this from the Agile Admin:
The old view of operations tended towards the “Dev” side being the “makers” and the “Ops” side being the “people that deal with the creation after its birth” – the realization of the harm that has been done in the industry of those two being treated as siloed concerns is the core driver behind DevOps.
DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.
Like all movements, there are inevitably debates around what the best approach to DevOps is. During our Future Teams Q&A sessions, we got a lot of questions, not all of which we had time to answer on the day, and many were about how traditional software development teams should approach a move to DevOps. At first glance, it can seem a radical change.
With this in mind, we approached Clearvision’s own Head of Solutions Architecture, Matt Muschol, for some of his thoughts on the subject.
A traditional environment where “dev” and “ops” are separate will often have been working in a waterfall manner. One team does their stage of the development lifecycle, and the project moves, in its entirety, to the next team.
So DevOps is agile?
DevOps and agile aren’t strictly the same thing, but they’re far from mutually exclusive. Both value feedback, continuous development, fast iterative releases and cross-team collaboration. The culture they each hope to inspire is very similar.
It could be said that at its core, DevOps is essentially an extension of agile software development. It doesn’t only focus on the software; instead, the entire work lifecycle becomes more efficient and teams collaborate better. When it comes to diving deeper and really defining DevOps – much like agile – it can depend on the exact requirements and nature of your organisation. The biggest thing to keep in mind is that however you choose to approach DevOps, it’s important all teams across the business are coming at it from the same direction.
Architects in agile DevOps
One big question was around where Architects fit within DevOps. Does following an agile approach and joining the DevOps movement mean a change in roles, as well as mindset?
Well, for both Software and Systems Architects, roles remain pretty much unchanged in terms of their responsibilities. The biggest difference is in the interactions Architects will have with each other and the teams they work with.
Where, in a traditional throw-it-over-the-wall-to-ops environment, the Software Architects are firmly rooted in development teams and Systems Architects have more interactions with operations, in a DevOps environment both roles will find themselves in discussions and design sessions with both development and operations disciplines. In fact, they’re a lot more likely to find themselves working closer together than they would have before.
It’s in this sense that agile DevOps is such an effective way of working for dev and operations teams. We see it clearly in this example of Software and Systems Architects: it encourages collaboration thanks to a more fluid position for both roles, and more widely, for both teams.
There’s no one set of tools that are “right” for DevOps. If they promote collaboration and work for you, that’s what matters.
Of course, there are tools out there that are built with agile and DevOps principles in mind. Here at Clearvision, we favour the Atlassian tools for that very reason. They take the concepts other tools introduce to the next level, as we discovered when the Clearvision dev team migrated from Jenkins to Bamboo, and their flexibility means we’re able to extensively customise them to fit our unique requirements across the organisation. They’re excellent tools straight out of the box; when they’re fine-tuned, you’ll see the efficiency and productivity of your teams soar.
We benefit from having our consultants on hand to solve any issues we encounter and make sure we get the most out of the tools, and to ensure keep continuously improving. If you’re interested in learning more about what how our consultants’ expertise could help you and your teams implement DevOps and agile best practices, get in touch today.
June 02, 2018