3 ms·
A platform team might have a very unevenly distributed workload. Some weeks nothing has to be done on the platform, everything works fine. Then all of a sudden
by koonsolo 3y ago
A platform team might have a very unevenly distributed workload. Some weeks nothing has to be done on the platform, everything works fine. Then all of a sudden 2 teams request some extra features. How many people do you put in the platform team?
Either you put too many in there, and they are basically idle the time in between. Or you put a limited team, and once even a single team requests something they will have to wait for the developments, let alone 2 requests at the same time.
The OP describes an excellent solution: the team that needs the feature, pays for it in man-hours. In fact, those developers that need it, are pretty familiar with using it, so most of the time capable of doing some developments on it. They can also schedule in the work in their project. The teams that will need it afterwards will get it for free.
It's actually an excellent solution.
- CraigJPerry 3y ago>> A platform team might have a very unevenly distributed workload. But When would this hypothetical occur? If the platform is new-ish, there’s always going to be more work to be done than there are people to do it so there’s no variation in workload - there’s just lots to be done. When the platform is established and operating in self-service mode, so think Amazon S3, were in a mode where we’re really not expecting features to be added, more about bugfixes and operational capacity at that point. >> the team that needs the feature, pays for it in man-hours there’s no free lunch. These developers don’t really care about the platform, they have bigger fish to fry. You need to ensure that infra doesn’t become a tragedy of the commons.
- koonsolo 3y agoLet's say you offer a custom built UX design system with components. Most of it is written. At some point, you need a big component that doesn't exist yet, but other teams could benefit from that. This is such a situation, and it happens all the time in internal products. Either you over invest, you under invest, or the solution proposed here: jit developments where you can allocate resources as you need them. > These developers don’t really care about the platform They care as much as it helps them. The overall vision is steered by the architect responible for that internal product/platform, as said by OP.
- CraigJPerry 3y ago>> jit developments where you can allocate resources as you need them Again there’s just no free lunch here, you’ve got a generalist writing a specialist component. In your example, how confident are you that the full stack product team developer is acutely aware of, i don’t know , let’s say accessibility practices or maybe performance tradeoffs for constructing this component? The specialist in the platform team member knows this intimately, it’s their specialism.
- koonsolo 3y agoYou discuss the developments with the architect before development, and then have your code reviewed afterwards. But hey, if you want some experts to sit idle until some real work comes in, that's all fine by me.