4 ms·
Software has an unusually fat long tail, to an even worse extent than real engineering. The probability of something unexpected popping up and inflating the tim
by OkayPhysicist 3y ago
Software has an unusually fat long tail, to an even worse extent than real engineering. The probability of something unexpected popping up and inflating the time something takes by an order of magnitude is much, much higher than the likelihood of the same happening while cooking.
This ends up coupled with the fact that practitioners (of anything productive) tend to think in terms of 50-ish percentile estimates (i.e., there's a 50% chance this project is done in this amount of time), whereas business people care about 90th-99th percentile estimates. In software, the difference between between a 50th percentile estimate and 90th percentile estimate can be more than an order of magnitude in time spent.
- danenania 3y agoWell said. 50th percentile vs. 90-99th percentile estimates is a great way to put it.
- PH95VuimJjqBqy 3y agoI'm going to repeat what I said to another poster. If your shit is breaking so often it's affecting your willingness to estimate, that's a you problem. I'm driving to another state for the thanksgiving holidays, and I have an estimate for how long that will take. Is it possible when I walk out to my car that the battery died the night before? sure. Am I going to factor such an unlikely event into my estimate? no. Does that imply it's impossible for me to accurately estimate how long that trip is going to take? No it doesn't. Only in software could someone be using a tool that constantly doesn't work and they never consider replacing it or fixing it. Imagine if a carpenter showed up to your house with a hammer whose handle fell off once or twice an hour but they expected you to pay them for the loss of productivity rather than purchasing a hammer whose handle doesn't fall off.
- OkayPhysicist 3y agoNot quite sure how you found your way onto a tech forum without any understanding of what software development entails, but unlike carpentry, where every time you want a new wall the carpenter needs to go through the same process to make the wall, or in cooking, where every time I want a roasted turkey the cook needs to cook a turkey, software almost never does the same thing twice. If you find yourself doing the same thing twice, that's a tool problem. That produces a much fatter tail distribution, because you're doing someone that no one has ever done before, and thus no one knows exactly how long it's going to take.
- PH95VuimJjqBqy 3y ago> software almost never does the same thing twice odd, because my experience is that your CI/CD pipeline does the exact same thing repeatedly. Perhaps the answer to your confusion about my experience is that I don't suffer tools that hamper my productivity. Put it another way. I ran a raiding guild for several years and about halfway through that stint I recruited a player that raised the bar for what I thought was possible. Perhaps you need your bar raised.