HACKER Q&A
📣 throwaway_91023

How do you deal with a team that refuses to agree on procedures?


Hi.

I work at a small startup (<10 employees, 3 engineers including myself) and we have a gigantic product (410k lines of code according to `wc app/*/* -l`) built over the past 5 years largely by two of such engineers. Since joining the team last year I noticed that things still work as they (presumably) worked in 2017: there's no formal specification of tasks, defined expectations, or even a consensus on which tool to use to keep track of what everyone is doing at any given time. This causes technical debt to go unaddressed besides "we'll do it next month" which never comes, features being left in PRs for months because priorities shift all the time, and just a general stress of having zero predictability in your job.

Since joining we've discussed the issue many times, each of them coming out with a different solution that turns out to not work. We tried SCRUM (didn't work because there were no clear requirements so it was impossible to estimate anything), Kanban (didn't work because we didn't spend time figuring out a system that works within Kanban due to the pressure of delivering new features), and ended up settling on "everyone does whatever the fuck but send a manually written report / essay of what you did on Teams at the end of your day and hope the CEO reacts with a thumbs up".

I've only been a software engineer for 5 years, but this is a situation I've never encountered and have no idea how to tackle anymore. The people are nice and the pay is good so I'd rather not stress over getting a new job if possible.


  👤 bjourne Accepted Answer ✓
Your perspective is not right. You are working in an extremely productive team with extremely talented engineers. How else could two of them have produced 410k LOC in 5 years (assuming it is actual source code and not template-generated junk)? If you are only three people you likely don't need any formal processes. They will just kill your "golden goose". 99% of all developers aren't as productive as your colleagues.

👤 ThrowawayR2
If you don't want to find a new job, roll with the punches. Startups are, by all accounts, always kind of a wild ride so, if you're expecting predictability, you're probably in the wrong place.

You need to show the incumbent engineers that improved engineering processes fixes a pain point that they have and I'd guess that they aren't experiencing enough pain to feel the need for it. (And with only a 10 person team, they're probably right; survival is the biggest priority, not process or technical debt) As the company grows, the need for structure and process will grow as well and the pain of not having them will become apparent to everyone and you'll probably find a more receptive audience to your ideas when that time comes.


👤 gus_massa
There are some good ideas in an old post by Joel Spolsky https://www.joelonsoftware.com/2001/12/25/getting-things-don... HN discussion https://news.ycombinator.com/item?id=258289 (24 points | July 27, 2008 | 15 comments) (At that time, 24 points was a lot.)

👤 mbrodersen
Trello is great for this kind of situation. It is simple and free to use for small teams. Just start using it yourself and step by step introduce one additional team member to it by adding a link to your Trello page in your weekly report.