With support and culture, the organisation can create a value stream map for a pipeline to begin looking for optimisation opportunities. Where processes can be improved, teams can begin to try new methods and see what works better for the entire pipeline. New methods will sometimes hurt rather than help efficiency, but the culture of experimentation allows these setbacks in favour of the greater good for the organisation.
As the organisation finds processes that work best for each pipeline, they can begin to reduce the size of feedback loops. With more responsive feedback, each step of the process can more quickly adapt to problems, and ultimately make the process more adaptive. When changes in the industry arise, or customer wants change, shorter feedback loops mean that the organisation can change direction and continue working as efficiently as possible.
Problems with Scaling DevOps
While DevOps is great when it is properly implemented, it does have its share of problems. One of the most difficult and prevalent is breaking down the gap between development and operations. Traditional software development has a very firm break between those areas, and it may take time before everyone is willing to work together. Collaborating across the gap is unfamiliar to many seasoned developers and operations technicians, but the end result is worth the adjustment process.
Similarly, many metrics are geared toward individual areas. If organisations continue to use those same metrics, both development and operations are penalised for taking local losses when they improve the pipeline as a whole. Companies must be willing to relax these metrics, or remove them entirely, so that each team can do what is best for the entire process.
Finally, DevOps requires automated testing with almost no exception. For many teams and organisations, this is not an issue, as they may already have some sort of automation in place for their product. However, for teams that have not yet employed some level of automated testing, the continuous delivery of DevOps is impossible. Human testers can only work so long, and will never be as consistent as automated tests.
Ultimate Benefits
As a whole, DevOps increases efficiency and optimises the development process. When it is scaled to larger organisations, these benefits are amplified. The methods of DevOps save time and effort across multiple pipelines and products, which benefits customers in the end with earlier software releases and faster incorporation of feedback. At the organisational level, DevOps allows teams to operate more independently. Instead of forcing all teams to use the same methods, regardless of effectiveness, DevOps allows each team to experiment and find what works best for their responsibilities.
Beyond organisational improvements, DevOps gives teams incentive to utilise automated testing. For teams that have not previously used automated testing, they get the benefits of DevOps, in addition to freeing up testing resources to improve their products elsewhere. Though it does require effort and buy in, DevOps offers numerous benefits, and scales effectively to even the largest organisations.