Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>Losing a key team member happens</strong> often, whether temporarily or permanently. Whether someone is taking a long lunch, or the flu is going around the office, or a programmer wants change roles within the same company, or a goes through a painful divorce, or quits to sail around the world, or is tragically harmed, the prospect of a sudden and unexpected change in the team is inevitable.</p> <p>One of the attributes of a good developer is that they strive to reduce their team's "bus factor" by <strong>making them selves <em>less</em> essential</strong>. That's hard to do when you're feeling insecure about your job. A <strong>good manager creates the security</strong> people need to relax about this sort of thing.</p> <p><strong>Practices</strong>, roughly in priority order:</p> <ol> <li><p><strong>Well-factored code</strong> means your intent is written in the code, and eliminates secrets.</p></li> <li><p>Thorough <strong>Unit Tests</strong> serve as both a kind of documentation and as a safety net when a secret-holder is not available. (That is, they are <em>verifiable</em> documentation.)</p></li> <li><p><strong>Pair programming</strong>, especially <strong><a href="http://csis.pace.edu/~grossman/dcs/XR4-PromiscuousPairing.pdf" rel="nofollow noreferrer">Promiscuous Pairing</a></strong>, will spread knowledge over the development team and exposes secrets.</p></li> <li><p><strong>Shipping often</strong> means that even if something happens, your customers already have a recent, working product, and you have a known quantity to roll back to if things go haywire.</p></li> <li><p><strong>Documentation</strong>, both in comments and elsewhere, stores ideas and intent that can't be expressed in code. However, documentation is expensive to create, expensive to consume, expensive to maintain, and often ignored, so the other items are preferred.</p></li> </ol>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload