this post was submitted on 10 Jun 2023
17 points (90.5% liked)
Experienced Devs
3964 readers
3 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:
- Logo base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I feel trying to structure everything "perfectly" is just micro-management and is never going to be close to "perfect" for the usual reasons top-down everything never is. My general thoughts are:
The price of perfection is infinite. It's not about structuring everything, and it doesn't have to be top-down. But, at some point, a team grows to more than ten people, and it's not enough to self-structure. At some point, you must agree on who is responsible for what instead of everyone being accountable for everything.
I agree with you on all points as to desired outcomes. I think it is particularly interesting that you emphasize how important vision is. I have found it difficult enough to have a medium-sized organization even come up with a vision, let alone effectively communicate long-term, medium and short-term plans to engineering teams. Aligning projects with goals and setting milestones is a great way to communicate a vision. I've found it tricky to use metrics to track progress or performance. Do you have any ideas about how to use metrics to help align with a vision?
For context, my answers are in regards to growing companies versus those past that stage that now get more value from focusing on pure optimizations. I've found that approaches which work for the latter actually hurts growing companies and vice versa.
In my experience splitting into teams of 6-8 people and then assigning focus areas to teams works fairly well. Assuming you split in a way where teams are not blocking each other the vast majority of the time.
I was thinking more of business metrics which may or may not tie into vision. What metrics does the business care about (customers, revenue per customer, customer sentiment, fraud reports, etc.) and why do you think each team helps those metrics? A team may be supporting other teams but otherwise they should be pushing forward some business metric you care about and are measuring. If you're not measuring it then how do you know the business is actually doing better or worse in an area (or that a team is helping)?