this post was submitted on 10 Jun 2023
15 points (89.5% liked)

Experienced Devs

3956 readers
1 users here now

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

founded 1 year ago
MODERATORS
 

I think this is a struggle for many of us. Not only to re-organise existing teams but also positioning teams in a larger organisation. What team composition works for your cases? What roles are filled within a software development team, and what roles run across teams? What kind of teams are there?

I've applied teamtopologies and unfix to help communicate about our team structures, but I'm curious about what problems people encounter and what solutions you've discovered.

Some challenges I've been facing:

  • Finding or training security officers
  • Organising IT operators
  • Dealing with access control and compliance
  • 24-7 Coverage
  • Keeping Data Scientists productive
  • Avoiding superheroes
  • front-end and back-end teams
  • dedicated testers
  • The role of QA and Product

I'm curious to see a discussion :)

you are viewing a single comment's thread
view the rest of the comments
[–] davetron5000@programming.dev 1 points 1 year ago (1 children)

At sub-100 developers, what I have seen work is to align dev teams based on company organization structure, so that each part of the company has a dev team to support the internal products they need and can develop expertise to help when coordination across teams is necessary.

The size of these teams is commensurate with the priority of the function and its internal products.

Like any organizational method, you need a strong vision from the top, clear priorities, and a product roadmap that makes sense.

[–] nibblebit@programming.dev 1 points 1 year ago (1 children)

That's interesting. One of the problem for onboarding new engineers is they miss any domain knowledge of our product and building that end-user sensitivity is difficult. Embedding devs with sales,support etc does address this.

What are some problems you've experienced with this approach?

[–] davetron5000@programming.dev 2 points 1 year ago (1 children)

The downsides is when you need to do something cross-functional it requires a different approach. What I have seen work is that you spin up a temporary team to own the delivery of the cross-functional project then have VP/CTO give all teams priority about helping the cross-functional team, e.g. the x-func team will say "I need support from finance and marketing" and those teams would agree to help out via 1 dev for 2 quarters (or whatever).

It requires a lot of clarity from management and agency from the cross-functional team.

[–] nibblebit@programming.dev 1 points 1 year ago

That sounds like a healthy arrangement! I like this idea of x-func teams that are set up on a temporary basis. We do this often implicitly, but it's good to have an explicit process around it.