DevOps & Platform: You can be independent and still have dependencies
Part of the DevOps push was for independent teams:
- We went cross-functional, became more self-contained.
- Able to be more independent, but cognitive load adds up.
Along come platforms:
- Boost teams to be able to focus on core mission.
- But does this create dependencies and coupling?
Not all dependencies are made equal:
- Depending on teams: not so good. If someone else needs to touch your deployment, that's not very independent.
- Depending on documented, self-service APIs: much better. This kind of dependency takes people out of the loop and provides deployments that can be completely automated.
It is essential that your platform is API-first rather than ticket-driven to make it a good dependency.
Does depending on APIs rather than people guarantee independence? Not necessarily. You can still have plenty of architectural coupling that gates your releases. On the other hand, no amount of architectural refactoring and decoupling will work if you can't fully automate.