Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "bus factor"
-
Bus-Factor: A new metric to describe how well kowledge is distributed among the team members by calculating how many of your team members can be run over by a bus without killing your project!6
-
Oh boy.
I've been partially on-loan to another team that's relatively new at the company for a couple of weeks now, mostly to help them get some testing sorted out, and had scheduled a call with their lead the other day. The call basically started like this:
Lead: Hi
sudo-woodo: Hey
Lead: Okay, so let's talk about <subject>, but I guess you've been told the news
sudo-woodo: What news
Lead: I'm putting in my notice
I love listening to seniors because they always drop some wisdom, but this was some serious wisdom. Guy sounded exhausted at everything, talking mad shit about the company and certain people and I'm just here like 🍿. Seems understandable, a lot of butting heads with the higher-ups and not being able to do his job properly.
Unfortunately we all kinda needed him to do his job because his job involved juggling fifteen different things that the project (and like 90% of my backlog to be honest) depends on.
shit's fucked 🙃5 -
I used to work in a company with such a high bus factor that we called "teams" composed of a single people "immortal" like in the movie "highlanders" because of the fact they could not be fired since they were the only people to know how their project works. We went through hard times for the company when several of the immortals resigned one by one. Each time one of us left premises on his last day, we played the song "Princes of the Universe" very loud on the office. I was the last and I left four months ago.3
-
My boss is letting a really strong bus factor grow around me.
I try to show them how to do things but they really can't wrap their heads around it and I keep improving our stack/infrastructure ...4 -
- Launch the new version of the system I have been refactoring for 2 years and counting, then ceremoniously burn (literally) the legacy code as well as the cluster fuck of hardware it runs on.
- Decrease my stress + bus factor by bringing another up to speed on my code & the new version (his cluster fuck now).
- Pay attention to & take better care of health, my wrists in patricular.
- Find a mentor and mentor someone else.
- Get out of crisis management mode and find the time to write tuts, experiment and live a little.
- Find & join a local dev meetup, maybe make a local dev friend.
- Book leave and actually take it, preferabbly without having to take my laptop to the beach - actually, preferabbly at least have the choice to take a offline vacation.
- Sort through the drives containing ALL the code I have ever written, migrate the usefull interesting bits to Github.
Phew, that bit of self reflection was intense! I'm adding a cron to my server to sms & email me this rant in a year to remind me what hope looks like. -
I've just realised something... I haven't ranted about work for a looooooong time.
It seems now all the monkeys have left the team and we've hired young people that actually knows how to get things done without blowing things up (though still need to work on documentation, bus factor still too high). So I'm no longer cleaning up their shit or the bugs they're too incompetent to analyze and fix...1 -
IT admin on paternity leave since Friday.
Can't access one of our servers, backup person can't find their password.
So... Looks like I'm doing something else for a bit.3 -
Apparently I have to teach what I know of Linux to my coworkers to reduce the bus factor on the server management role. ( already ranted about it )
What I want to do is create a single slide power point with "google.com" on it.
😂3 -
A dev life in Queen songs:
„A Kind of Magic“ - Build successful
„A Winter’s Tale“ - Key Account Manager visits customer
„Action This Day“ - Release day
„All Dead, All Dead“ - System down
„Another One Bites the Dust“ - kill -9 4711
„Breakthru“ - 10 hour debuging session
„Chinese Torture“ - Microsft Office
„Coming Soon“ - Client asks for delivery date
„Dead on Time“ - shutdown -t 10
„Doing All Right“ - How's the progress on the new feature?
„Don’t Lose Your Head“ - git push -f
„Don’t Stop Me Now“ - In the zone
„Escape from the Swamp“ - Hand in resignation letter
„Forever“ - while(1)
„Friends Will Be Friends“ - friend class Vector;
„Get Down, Make Love“ - No rule to make target "Love"
„Hammer to Fall“ - Release day
„Hang on in There“ - 2 weeks until release
„I Can’t Live With You“- Microsoft
„I Go Crazy“ - Microsoft
„I Want It All“ - Google
„I Want to Break Free“ - free( (void*) 0xDEADBEEF );
„I’m Going Slightly Mad“ - Impossible feature requested
„If You Can’t Beat Them“ - Impossible feature promised by sales
„In Only Seven Days“ - Impossible feature ordered
„Is This the World We Created...?“ - Philosphic moments
„It’s a Beautiful Day“ - Weekend
„It’s a Hard Life“ - Weekday
„It’s Late“ - Deadline was last week
„Jesus“ - WTF?
„Keep Passing the Open Windows“ - Interprocess communication
„Keep Yourself Alive“ - Daily struggle
„Leaving Home Ain’t Easy“ - Time to get up and go to work
„Let Me Entertain You“ - Sales meets customer
„Liar“ - Sales
„Long Away“ - Project start
„Loser in the End“ - Dev
„Lost Opportunity“ - Job ad
„Love of My Life“ - emacs/vim
„Machines“ - Computer
„Made in Heaven“ - git
„Misfire“ - Unhandled exception at Memory location 0xDEADBEEF
„My Life Has Been Saved“ - Google drive/Facebook
„New York, New York“ - Meeting at customer
„No-One But You“ - Bus factor = 1
„Now I’m Here“ - Morning rush hour
„One Vision“ - Management goals
„Pain Is So Close to Pleasure“ - NullPointerExcption
„Party“ - Delivery completed
„Play the Game“ - Customer meeting inhous -
„Put Out the Fire“ - Support hotline
„Radio Ga Ga“ - GSM/GPRS/UMTS/LTE/5G
„Ride the Wild Wind“ - Arch Linux
„Rock It“ - Linux
„Save Me“ - CTRL-S/CTRL-Z
„See What a Fool I’ve Been“ - git blame
„Sheer Heart Attack“ - rm -rf /
„Staying Power“- UPS
„Stealin’“ - Stack Overflow
„The Miracle“ - It works
„The Night Comes Down“ - It doesn't work
„The Show Must Go On“ - Project cancelled
„There Must Be More to Life Than This“ - Philosophic moments
„These Are the Days of Our Lives“ - Daily routine
„Under Pressure“ - 1 day until release
„Was It All Worth It“ - Controlling
„We Are the Champions“ - Release finished
„We Will Rock You“ - Sales at customer
„Who Needs You“ - HR
„You Don’t Fool Me“ - Debugging session
„You Take My Breath Away“ - rm -rf /
„You’re My Best Friend“ - emacs/vim4 -
The lack of one (no thinking about long term design and issues) leading to poorly designed systems that crumble when it needs to be scaled and has massive bus factor and code duplication.1
-
Whenever I hear "this <person> is going to work on <project>" I edit my "bus factor of 1" wiki page.
Teams work on projects. People work on teams.5 -
So I resigned from work 6 months ago and they counter offered with a sweet pay deal as they were totally fubar without me
That 6 month deal expired today and they are totally surprised that Im not going back to full time (so I can work on my start-up side project)
I've offered to go back part time on a more reasonable salary and they are totally pissed. Surely the writing was on the wall!!
Here is an idea. When your bus factor is 1... Hire some other people! -
Most companies, if they have a 1 person bus factor, only have one of them. My company has 3. Not 3 people that would have to get hit by a bus for things to fall apart, but 3 people that if any of them get hit by a bus, everything falls apart... Woo!3
-
Long post, TLDR: Given a large team building large enterprise apps with many parts (mini-projects/processes), how do you reduce the bus-factor and the # of Brent's (Phoenix Project)?
# The detailed version #
We have a lot of people making changes, building in new processes to support new flows or changes in the requirements and data.
But we also have to support these except when it gets into Production there is little information to quickly understand:
- how it works
- what it does/supposed to do
- what the inputs and dependencies are
So often times, if there's an issue, I have to reverse engineer whatever logic I can find out of a huge mess.
I guess the saying goes: the only people that know how it works is whoever wrote it and God.
I'm a senior dev but i spend a lot of time digging thru source code and PROD issues to figure out why ... is broken and how to maybe fix it.
I think in Agile there's supposed to be artifacts during development but never seen em.
Personally whenever i work on a new project, I write down notes and create design diagrams so i can confirm things and have easy to use references while working.
I don't think anyone else does that. And afterwards, I don't have anywhere to put it/share it. There is no central repo for this stuff other than our Wiki but for the most part, is like a dumping ground. You have to dig for information and hoping there's something useful.
And when people leave, information is lost forever and well... we hire a lot of monkeys... so again I feel a lot of times i m trying to recover information from a corrupted hard drive...
The only way real information is transferred is thru word of mouth, special knowledge transfer sessions.
Ideally I would like anything that goes into PROD to have design docs as well as usage instructions in order for anyone to be able to quickly pick it up as needed but I'm not sure if that's realistic.
Even unit tests don't seem to help much as they just test specific functions but don't give much detail about how a whole process is supposed to work.9 -
A few days ago I took some time off at short notice to help someone close to me with their medical condition.
On the same day the CEO of the company made a request that only I could've fulfilled out of 12 devs so yesterday I was reprimanded for it.
Why don't companies do something to actively increase the bus factor on projects? -
Two weeks sick and several meetings where canceled, bugs haven't been touched the slightest bit and requests from customers have been deferred until I'm back.
That's what I call a low bus factor. -
"There are people so important to maintaining code that the internet would break if they were hit by a bus. (Computer security folks literally call this the “bus factor.”) "
https://hbr.org/2017/07/...
What do you all think of these ?
(Personally I think there is fluff to what he says. But there are loop holes to his argument. Not entirely true. And HBR should run stories through experts in field before publishing tho)3 -
Our Bus Factor is 0.1:
if a Bus, somebody, or something breaks or slightly touch one of my balls, the whole company is screwed.10 -
Do you have any images/memes for `bus factor == 1` situations ? Any devopsreactions ?
Strikes at me too many times nowadays :)
Not this one with yellow bus :D It's ugly