I’m in the early stages of working with my friend,Rachael Stedman, on an “Ask an engineering leadership” project where we try to answer folks challenging engineering leadership questions. This is one of the questions that came in that wasn’t a perfect fit for that project (we’re still callibrating a bit on whatisa perfect fit), but still a question I wanted to take a stab at answering.
I work as an Engineering Manager at a large organization, supporting team managers across four teams who work on the shared infrastructure and platform for the various web products. The department is new, and is a result of a strategic shift to complement existing engineering departments which traditionally managed their own separate infrastructure and stacks. My joining this new department about nine months ago also coincided with me stepping up into the manager-of-managers role after a number of years as a team manager in another organization.
Our tenant teams are now facing into the frustrations of the shared platform, which inevitably constrains them more than their old world. I am confident our strategy lies in building self-service tooling, and we have the promise of being able to accelerate all of these teams. However, the rapid adoption means these benefits lie beyond the maturity of the platform as it stands just now and the frustrations are real and present. This frustration is starting to cause significant friction, with lots of door stepping for support requests and a sense amongst tenant teams of my teams acting as ‘the police’ due to more human intervention than we’d like.
摩擦分散了我的团队从他们成熟平台的战略目标。我担心租户团队将规避平台以避免这种摩擦。如果发生这种情况，我们将永远不会意识到共享平台的潜在福利。我们如何从更广泛的组织建立买入，并确保我们被视为租户工程团队中的加速器 - 同时也成熟平台？
The first thing I’d say is that this is a fundamental tension that all internal platform teams experience. It’s not just you, this is a common growing pain. With that said, there’s a lot you can do to reduce the pain.
听起来你在一个中间prolonged migration, and one of the core tenents of the migration is to drive fit before you drive adoption. Many platform teams have goals that incentize migrating as many users onto your platform as possible, even if it’s an unhappy adoption. This will spike your early adoption numbers, but stall out fairly quickly. Instead the preferrable approach is to bring on one or two challenging users and iterate with them until the platform solves their needs. In parallel, bring on easier users at a fixed rate with a focus of streamlining the onboarding process. (Absolutely not the goal of driving up platform adoption.) Until you have some complex teams who have successfully adopted the platform and are happy using it, driving adoption will only lead to sorrow.
It sounds like you arein那悲伤现在，这是完全可以理解的：大多数平台团队都有一些观点。如果allof your users are unhappy, it’s possible that you started adoption a bit too early and you’re just going to have a rough go of it, but at least that means that there are only a few things you need to solve before most folks will be happier. If onlysome你的用户不开心，也许你可以暂时发射它们。是的，让他们流失在平台上是令人尴尬的，但你的目标是最大化long-term adoptionnot maximizingshort-term adoption, and this is a case where you can sacrifice your long-term goal if you are afraid of letting a few particularly challenging users churn off your platform (back to whatever they used before).
当人们因缺乏权力而沮丧时，事实证明是一个界面设计问题，我开始关注的想法providing pierceable abstractionsto allow users to bypass the abstractions as necessary to reach another layer of complexity (e.g. from container to VM). It’s not that youwantthem to bypass the abstraction, just that it’s hard to prioritize every teams' specific needs, and letting them bypass allows you to address their problem onyour时间表而不是theirschedule.
一旦确定了允许团队解决自己问题的策略，无论是如何染色的抽象还是您所描述的自我服务工具，那么这是一个足够的工程时间刮到实际到达那里的问题。这是一个情况，我认为在我看来有点不同的情况，有点不同，并且在我看来的是你能做的最公平的事情，因为它避免了每个人都永远悲惨的情景。更具体地说，这意味着我建议拥有团队的子集，它可以是一种旋转或任何东西，谁只是融合了传入的请求并尽最大努力支持它们。他们将被过载，然后做平庸的工作。他们会对它生气。团队的其余部分必须是completely专注于将减轻拟订进入请求的人们负担的工作。我建议使用aservice cookbookto make tracking requests even easier to ensure you’re prioritizing the right work.
Some of the stuff I’ve written related to this topic: