4 ms·
i'm currently the only developer on a project. i now have ... 3-5 'managers' (depending on how you count) involved in planning/direction. PM on "my" side, PM
by jacobyoder 5y ago
i'm currently the only developer on a project. i now have ... 3-5 'managers' (depending on how you count) involved in planning/direction. PM on "my" side, PM on "client's" side, PO on "client's side", and... some other 'higher ups' on each side that drop in now and then.
Recently, they've instituted formal RCA process with "5 whys" and... every 'why' ultimately ends up being my fault. Now... they're not saying 'fault' directly, but no matter how you cut it, I forgot to add another test, or I didn't document something clearly enough, or I forgot some error checking, or... I forgot to remind someone of something or... whatever.
"Oh, don't take it personally! It's not just you, we're a team". But.. I'm the only one doing the work that is breaking, and I'm the only one fixing it, and every documented RCA lives on, pointing out that I made mistakes, and each document is delivered to 12 stakeholders every time there's a mistake, and mine is the only name on it attached to the 'root cause'.
"What lessons can we learn from this?" That we can't sustain this pace, and adding more managers is not helping the situation in any way.
I've been saying for a while we're formalizing way too much stuff, and that most of the practices they're bringing in from other places all had the baseline of "more developers than managers" in a team environment. I'm a team of one, and processes designed for teams of 3-5-10 aren't appropriate, imo.
- laumars 5y agoI think your closing statement is very apt. Your points about tests et al works when there is a larger team so instead of accusing individuals for errors you’re blaming the process. But I can see that process blaming feeling a little more personal when there’s only one person writing the processes.
- jacobyoder 5y agoYes. As more management layers/people are added, people are all wanting to be "more professional", and seeing "oh, we did formal written RCAs on production events at my last company, we need to do that here". I did a 6 month gig at a company a few years ago. Team of... 6-8, with a dedicated PM and a good team lead. Company was around ... 80 or so at the time, and there were a couple other 'dev' teams (I think around 35-40 'dev' folks at all - it was growing so hard to pinpoint numbers). I saw some of these types of processes there - I didn't always agree with 100% of everything done, but there was a team. 1 lead, one PO/PM, and... 5-6 devs and a couple testers - a self-contained unit. It worked pretty well, all things considered. I'm currently in a situation where it's completely backwards, but they're trying to implement all the 'correct' and 'professional' techniques. Oh, and I'm part time - ~20 hrs per week. Pretty much everyone is part time, either overall, or part time on this project, and... the wrongness of trying to bring in techniques built for full time larger teams seems to be lost on everyone but me.
- mlac 5y agoYou’re not taking the why far enough… You need one more “why” about “why” you made the mistake: “Why did you make the error?” Was it a competency issue that training can fix? Resource constraint? Process problem? Do you just suck at your job (I say this in jest, but to highlight that you do want to ask the “why” that explains “why” you made the mistake, and not just stop at “Jacob messed up again”). That’s a broken 5 why process… A proper root cause might be: “I don’t have enough resources to properly get the job done, and need another developer on the project” or “I’m too time constrained due to overhead meetings to properly perform tests on code”. I feel the current root cause for why everything is broken is: “Jacob” And you want to stop that immediately.
- jacobyoder 5y agoI've gone further in some of these, but sometimes it gets to "there's not enough time or people to do X". There's been some cases where "I missed X - there's not enough time to check everything and I missed X". "Well, you should have told us X wasn't checked" or "you should have raised the alarm before". I've been raising it for ... 5-6 months. And the whole point of "I missed something" was... it's a mistake/oversight, not "I intentionally didn't check X". There are rumors of other developers being interviewed, but no one has come on board. Assuming someone does, I suspect the thinking will be "let's double the previous workload - we have 2 people now". I'm understanding of the situation, to some degree. Pretty much everyone on the project is 'overworked' in some sense, but they've been hiring and doubling up other positions, just not this one. I've been keeping this pace for 18 months. I scheduled one day off - 2 weeks in advance - because I had to drive someplace. That morning, someone noticed a financial bug that was preventing everything from working. 2 hrs later, from my hotel, I had to connect in and review and fix stuff. It was totally my fault - I missed stuff - but there's just... no getting away from it. Adding in '5 whys' and other formal review processes on top of this situation borders on insulting.
- mlac 5y agoFair points. Sorry you’re dealing with it.
- 5y ago