DevOps Tools – More than just Scripts and Software
Online discussions on DevOps tend to focus on either what DevOps is and what it isn’t or a specific software tool to achieve automation goals. I like to think that the discussion and the tool set is broader than that. As DevOps matures it is important to talk about more than automation implementation and what the movement is. While the scripting aspect is a lot of fun, DevOps true strength is communication and cross team collaboration. At Fundamental we using the following ‘tools’ to unlock this strength.
Stranger in the Stand up
We found that having everyone (Developers, Ops, QA, etc) in the daily stand up cumbersome. The sessions seemed to take forever and the content was largely not applicable to everyone in the stand up. What we implemented instead was the “stranger in the stand up” strategy. I just made up the name of that strategy, feel free to let me know the proper term. The basics is that each team has there own stand up with one person from the other teams. This stranger in there stand up will distil the content to items relevant to the stranger’s team and feed back his|her team members in that stand up. Also, they can feed into the stand up of the other team anything they feel is relevant from their team. In this way stand ups are short, sharp and to the point for almost everyone involved without loosing opportunities to work together on items otherwise that might have been stuck in a silo to the determent of the product.
Let’s Talk Geek Over Coffee
While I know what a Developer does day to day, and I am sure they have a pretty good idea of what my team and I do day to day, there is a shortfall of understanding each other’s capabilities. It is that gap of knowing what a person is currently doing to what they are capable of doing that kills innovation and productivity. For example, I was struggling for weeks with an ugly issue tracking system to get it to print kanban cards for the development board (I had to debug a freeware tool built on Symfony, which I had no experience with) I fixed the problem but it wasn’t printing exactly what was need. Over coffee I told my tale of woe and eventual (partial) triumph. My colleague looked at me and said he had created a similar thing at a previous company and he’s happy to help me to create a much simpler, customizable card printer for the system, I just need to get it into the development sprint. 3 hours of development time in the next sprint and I had a working, reliable kanban card printing service. The point I’m trying make here is that because DevOps is about bringing the different IT disciplines together, take advantage of that and discuss problems, victories with those outside your discipline, cool things may come of it.
Feature Reviews and Technology Evaluations
Previously, Fundamental did not have operational staff present for feature reviews of the our software or development team members in on discussions for operational technology evaluations, however with the DevOps movement advocating automation and machine from code via cookbooks it started to make sense to have some cross team interaction in these spheres. As with the stand ups it make sense only to have one person from the other team in the meeting. It is worth mentioning, that it is vital to have someone who buys into the DevOps ethos to be the outsider attending these meetings. What we gained were features built with administration, metrics, testing, and the actual feature request specified upfront and planned for, instead of retroactively fitted in as an after thought. On the other side, system automation took in the needs of end-users of the automation and workflows that everyone bought into.
These are very simple tools to foster collaboration between teams, however they have proven effective at Fundamental. Team collaboration and drawing on other’s strengths to increase productivity and innovation is the real draw with the DevOps movement and building on and out from these simple tools will prove more effective than automation nerdvana or figuring out exactly what ‘DevOps’ should mean. Let me know what you think?