Things We May Never Get Right
When there's no clear right way to solve a difficult problem, how do you avoid getting frozen in indecision? How do you know if you made the right decision? How do you know when a decision that used to be the best one isn't any more, and it's time to try something else?
We're part of a global marketplace developed and operated by multiple squads. We consider ourselves a mature DevOps organization, but there are several things we've really struggled with over the years, and we've even reversed direction at times. For example: Should designers be assigned to one squad for months at a time, or should we use an internal agency model? How closely should we supervise autonomous squads? Do we need to code review every A/B test? How long should sprints be? Should we have a dedicated platform or SRE team? How do we respond to incidents and communicate with our stakeholders?
Rather than tell you that there's only one way to do these things, we'll focus on the trade-offs we've made and what we've learned about the pros and cons of each option.