DevOps is like clothing. If you take a one-size-fits-all approach, you usually end up with an awkward fit. That's why it's important, when doing DevOps planning, to consider your company's size and develop your DevOps strategy and culture accordingly.
Central to DevOps is the idea that development and IT Ops need to actively collaborate. Some observers would add that, with DevOps planning, additional teams, like QA, should also collaborate with development, IT Ops and any other group that plays a role in software delivery.
The ease with which you can collaborate depends in part on the size of each team -- as well as how many teams you have inside the organization. If you're a startup with a handful of developers and admins, and you all work out of the same incubator, it's going to be pretty easy to ensure that they communicate and collaborate constantly.
On the other hand, smaller companies are more likely to outsource many of their operations. If your security engineers are consultants who review your code on a contract basis rather than employees working within the organization, you face a special collaboration challenge.
Enterprises have their own size-related DevOps challenges. If you're an enterprise with hundreds of IT staff who are spread over a large campus, or even multiple campuses, collaboration can be a lot more challenging.
DevOps planning at any size
As you're planning a DevOps strategy, you should assess whether your company's size and organizational structure create any special challenges.
In particular, ask yourself questions like:
- How many teams within the company participate in software production, testing, security and management?
- How large is each team?
- Are there teams within teams? For example, are your developers divided into subgroups, with each subgroup focusing on a particular app or process without much interaction with other developers?
- Are there external contractors or partners who affect software delivery and who you need to include in your DevOps strategy?
- What is the geographic proximity of your various teams? If they are spread out, do they all work in the same time zone?
The more internal teams you have, the greater the number of people on each team and the larger the physical distance separating them, the more challenging it will be to achieve seamless collaboration and continuous delivery.
But what is challenging is not impossible. Techniques like ChatOps can help you manage communication across a large number of teams, or across a company that has a broad geographic footprint.
Want more people doing DevOps? Start training
Here's how large organizations are training their own employees, and even college students, in order to infuse the DevOps talent pool.
Automation is also your friend, since the more automated your processes, the less work you have to coordinate across many individuals.
So, yes, an organization of any size can do DevOps. However, size does matter. The types of communication tools and DevOps strategies you employ, and the way you manage your workflows, should reflect the size of your organization.