DevOps has become a victim of its own success and its own nomenclature. Part of the issue is that we see DevOps Teams coming into being which do not spread the DevOps culture or practice across organizations. Much of this is the name "Development and Operations".
SQUADOps is more than just a name change though. Rather than focussing on the link between Development and Operations, it focusses on the make-up of the team, and the things that the team needs to take into consideration.
If you wanted to build the ideal team to create any technological component, you would probably put it together somewhat like this:
- A Lead
- A Mentor
- 2 Mid-level people
- 2 junior-level members
- A Quality Assurance focussed member
- A Ops focussed worker
- A Manager
The lead's job is to be the technical go-to person and help define how the thing being built gets built. The mentor's role is to be a sounding board for the lead and to help grow the other team members. The mid level people do the main part of the work. The 2 juniors are there to take on more of the "grunt work" and grow as part of the team. The QA member is there to help the system get built in a way that it can be tested and to teach testing methodology to the team. The Operations person is there to help define best practices around what needs to be done to get the product out the door. The Manager's role is to help buffer, drive and deal with soft problems.
That team is basically a squad of specialists that could build and deploy pretty much anything. I will go into more detail as to how these squads can help reduce technology proliferation, increase productivity and create organization alignment in a later post.
SQUADOps doesn't just mean creating Squads, though, it's also a reminder of how to focus the squad on the correct things.
We need to think about
Systems : Robust, Secure and Reliable Systems need to be built
Quality : The System needs to be testable and tested
Users : The System must be created for the User - This is the business feedback loop
DevOps : The (now becoming) traditional DevOps models
Building Squads out in this manner clearly helps spread collaboration across departments and breaks down silos, while still retaining individual expertise and skillsets.