One thing that has been surprising to me is that DevOps is just starting to be in the spotlight. Somehow the tasks that are now designated as "DevOps" were either not done in the past or never needed. In case one day you are asked to spend some time with DevOps tasks, I hope these pointers will help you get settled in.
Don't quit your day job
The January 2015 Tech Radar article from Thoughtworks ranks "DevOps as a separate role" as HOLD. This coincides with how I perceived the DevOps role. Depending on the project, there can be a large number of tasks assigned to DevOps. While it may be necessary to fully allocate a resource to complete these tasks, I strongly recommend against segregating the role from the rest of the development team. This is significant because the tasks that DevOps performs is intricately connected to the work of the development team. Separating the role from the team means that DevOps no longer has a stake in the work being done. By keeping DevOps within the team, the work will have much better coherence with the requirements of the entire team.
It's dangerous to go alone
The old man's wise words to Link are wise in many situations, and I can't think of any situation more fitting than starting the adventure in the land of DevOps. Similar to the Thoughtworks recommendation, DevOps should not be a separate entity but instead a role that is integral to the team. Although one or two developers can be chosen to take point on the tasks, the responsibilities should be approached as a team. It's in the best interests of everyone to provide feedback about the project's processes and workflow.
On the other hand, the DevOps lead should have the authority to make a decision on anything related. This doesn't mean that there is a conflict with Dev Lead priorities, but that DevOps should be the tiebreaking vote in situations of disagreement. Work needs to get done, and it's not the end of the world to make changes to the processes later.
Rome wasn't built in a day
...but DevOps work can sure sound like it should. All of the tasks are probably high priority, but they should not take priority over work that needs to be completed in your sprint. It may be difficult to factor this into your sprint velocity, but everyone must resist the urge to focus solely on completing the DevOps tasks. Break down the tasks so that they can be completed in one unit of work. If there is anything that is so important that it blocks development, recruit team members to help. After all if it's blocking development they have nothing to do anyway.
As I've mentioned before, it's important to have the entire team thinking about DevOps. The DevOps tasks will start to stack up if they aren't aligned to the project requirements. Don't alienate yourself from your team and don't allow your team to proceed without you. "Do it together".
No comments:
Post a Comment