SShortSingh.
Back to feed

How to Identify and Improve Your Team's Bus Factor Before It Becomes a Crisis

0
·1 views

The 'bus factor' measures how many team members, if suddenly unavailable, would critically disrupt a project — a score of one signals a dangerous single point of failure. Engineering teams can identify these risks without special tools by asking targeted questions, reviewing on-call escalation patterns, and analysing pull request histories. Practical fixes include deliberately rotating on-call duties, requiring design documentation for non-trivial changes, and conducting quarterly audits of critical system access. Pairing engineers on high-risk systems and mandating cross-level code reviews help distribute knowledge more evenly across the team. Treating bus factor as a trackable metric — reviewed quarterly alongside measures like test coverage — allows teams to monitor improvement over time rather than discovering gaps only after a key person has left.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Developer removes tailwind-merge from production after silent class conflict bugs surface

A developer discovered that tailwind-merge silently drops custom CSS utility classes when they resemble known Tailwind patterns, causing bugs with no warnings or errors. The library resolves Tailwind class conflicts at runtime on every render, but the developer argued these conflicts are static code issues that should be fixed at the source rather than patched in production. After auditing a monorepo of seven apps, they replaced tailwind-merge with a 25-line concatenation helper and restructured variant strings to eliminate conflicting class properties entirely. The developer validated the change by capturing tailwind-merge's output across 109 variant combinations as a baseline before rewriting, confirming behavior was preserved. The post frames the shift as moving from runtime conflict resolution to build-time correctness, similar to replacing runtime validation with static type checking.

0
ProgrammingDEV Community ·

Developer builds Relay, a protocol daemon to preserve context across AI coding agent handoffs

A developer has built an open-source Go daemon called Relay that automates context transfer when AI coding agents like Claude Code or Codex hit usage limits. Instead of manually copying summaries between tools, Relay detects quota thresholds in real time, requests a safe pause point, and snapshots the session state to a dedicated git branch. It then generates a cryptographically signed continuation contract containing the original prompt, plan, decisions, and file states, which the next agent verifies before resuming work. The system uses a finite state machine with disk-backed steps, ensuring a crash mid-handoff can be safely recovered on restart. Released under Apache-2.0, Relay also supports account-aware failover, burn-rate forecasting, and multi-agent DAG pipelines, with several features shipped in recent weeks.

0
ProgrammingDEV Community ·

Developer Releases Axiom Shield Tool Claiming to Block Client-Side Scanning on Desktop

A developer has released Axiom Shield (v1.2.0), a self-described non-commercial desktop workspace engine intended to prevent client-side scanning of user communications. The tool is presented as a response to EU Chat Control 2.0 proposals, which critics argue could enable governments to monitor encrypted messages by scanning data before it is encrypted on users' devices. Axiom Shield claims to isolate messaging apps like Discord, Telegram, and Meta platforms inside sandboxed memory environments with enforced Content Security Policy layers to block background data collection. It also includes a custom Telegram client built on the GramJS MTProto library and an automated memory purge cycle running every 60 seconds to clear session data. The project is open-source and available on GitHub, positioned by its developer as an independent privacy tool against what they characterize as expanding government and corporate surveillance infrastructure.

0
ProgrammingDEV Community ·

How a missing database update caused refunds to vanish in a NestJS payment system

A startup founder discovered that customers were not receiving refunds despite the payment provider confirming they had been processed. The root cause was a NestJS backend that called the provider's refund endpoint but failed to update its own database if anything interrupted execution afterward. Because the internal ledger never recorded the refund, no confirmation email was sent and support had no visibility into what had gone wrong. The fix involved treating each refund as a separate database event logged before the provider is even called, ensuring a record always exists regardless of later failures. A background notification queue was also added so customer emails are dispatched only after the refund is fully confirmed in the system.

How to Identify and Improve Your Team's Bus Factor Before It Becomes a Crisis · ShortSingh