Topic on Talk:The Tech Debt Trap

Jdlrobson (talkcontribs)

``` But I believe the underlying fundamental issue is unclear ownership. Programmers constantly work with layers of abstraction (interfaces): they build their own layer on top of an existing layer, with the top layer being the user interface. But often, they underlying layer, the foundation that we are trying to build our feature on, has problems. It may offer insufficient flexibility, or insufficient guarantees, or may simply be very hard to use. So, who's problem is that? Who needs to fix it? ```

Isn't that why we set up a MediaWiki Platform team?

Tgr (WMF) (talkcontribs)

A feature team / department and platform team / department of roughly equal size would be a reasonable foundation for that scenario. In reality, Audiences is something like 50 engineers, and the Platform team is 3 and a half.

Daniel Kinzler (WMDE) (talkcontribs)

Yes, what Tgr said - this is not remotely possible with the current staffing. Also, if the "backend" is use-case specific (as is the case for e.g. for the watchlist), it makes sense for the "feature" team to take ownership. Otherwise, we get feature teams adding tech debt "for now", and some poor cleanup team trying to fix it...

In a true DevOps shop, the feature team would not opnly own the api code, it would even own and run the corresponding (micro)service. That's why "full stack" is all the rage now, I guess...

I personally think true full stack developers are so rare, they are effectively a myth - but full stack teams make a lot of sense. That doesn't mean I think everybody should do their own plumbing, of course - horizontals (cross-cutting concerns) should have clear ownership as well. Communication and knowledge transfer between teams is key.

Tgr (WMF) (talkcontribs)

Yeah, that was the idea (as advertised, at least) with the big reorg two years ago: vertical auidence-specific departments which take responsibility for the full architecture stack they use, from client-side code to operations. Except in actual practice core maintenance got dropped on the floor so hard we are still gathering the pieces.

JBranaa (WMF) (talkcontribs)

One of the things that we are working on as part of the Tech Debt program is identifying "stewards" with the goal of identifying ownership. That being said, one of the first questions I get with asking if they are "stewards" is what it means to be a steward. To that end I've started working on that a bit, see: Development policy/Code Stewardship. I'd be curious to see if you've got some thoughts about what it means to be a steward.

I also made some edits (later reverted), to the developers/maintainers to start pulling in the concept of stewards.

For what it's worth, I believe that lack of ownership/stewardship is a challenge that contributes to a number of things and should be addressed.

Reply to "Unclear ownership"