5 ms·
Time to apply the best analogy I've ever heard. > "Measuring software productivity by lines of code is like measuring progress on an airplane by how much it w
by Buttons840 1y ago
Time to apply the best analogy I've ever heard.
> "Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs." -- Bill Gates
Do we reward the employee who has added the most weight? Do we celebrate when the AI has added a lot of weight?
At first, it seems like, no, we shouldn't, but actually, it depends. If a person or AI is adding a lot of weight, but it is really important weight, like the engines or the main structure of the plane, then yeah, even though it adds a lot of weight, it's still doing genuinely impressive work. A heavy airplane is more impressive than a light weight one (usually).
- subhro 1y agoI just can’t resist myself when airplanes come up in discussion. I completely understand your analogy and you are right. However just to nitpick, it is actually super important to have a weight on the airplane at the right place. You have to make sure that your aeroplane does not become tail heavy or it is not recoverable from a stall. Also a heavier aeroplane, within its gross weight, is actually safer as the safe manoeuverable speed increases with weight.
- RugnirViking 1y agoright, thats why its a great analogy - because you also need to have at least some code in a successful piece of software. But simply measuring by the amount of code leads to weird and perverse incentives - code added without thought is not good, and too much code can itself be a problem. Of course, the literal balancing aspect isn't as important.
- fny 1y agoI think this makes the analogy even more apt. If someone adds more code to the wrong places for the sake of adding more code, the software may not be recoverable for future changes or from bugs. You also often need to add code in the right places for robustness.
- dahart 1y ago> a heavier aeroplane … is actually safer Just to nitpick your nitpick, that’s only true up to a point, and the range of safe weights isn’t all that big really - max payload on most planes is a fraction of the empty weight. And planes can be overweight, reducing weight is a good thing and perhaps needed far more often than adding weight is needed. The point of the analogy was that over a certain weight, the plane doesn’t fly at all. If progress on a plane is safety, stability, or speed, we can measure those things directly. If weight distribution is important to those, that’s great we can measure weight and distribution in service of stability, but weight isn’t the primary thing we use. Like with airplane weight, you absolutely need some code to get something done, and sometimes more is better. But is more better as a rule? Absolutely not.
- scarier 1y agoThis is a pretty narrow take on aviation safety. A heavier airplane has a higher stall speed, more energy for the brakes to dissipate, longer takeoff/landing distances, a worse climb rate… I’ll happily sacrifice maneuvering speed for better takeoff/landing/climb performance.
- subhro 1y agoAgain, just nitpicking, but if you have the right approach speed, and not doing a super short field landing, you need very little wheel brake if any. ;)
- scarier 1y agoSure, as long as you stick to flying light aircraft on runways designed for commercial air transport. I would also recommend thinking about how you would control speed on a long downhill taxi with a tailwind, even if you didn’t need brakes on landing.
- vdqtp3 1y ago> the safe manoeuverable speed increases with weight The reason this is true is because at a higher weight, you'll stall at max deflection before you can put enough stress on the airframe to be a problem. That is to say, at a given speed a heavier airplane will fall out of the air [hyperbole, it will merely stall - significantly reduced lift] before it can rip the wings/elevator off [hyperbole - damage the airframe]. That makes it questionable whether heavier is safer - just changes the failure mode.
- subhro 1y ago> That is to say, at a given speed a heavier airplane will fall out of the air [hyperbole, it will merely stall - significantly reduced lift] before it can rip the wings/elevator off [hyperbole - damage the airframe] Turbulence, especially generated by thunderstorms, or close to it.
- vdqtp3 1y agoManeuvering speed is Va which is about max deflection on a single control surface, I think you're thinking of Vno if you're referring to turbulence
- subhro 1y agoIndeed I was thinking of Vno. I just had a brain fart when I said manoeuvering speed. I meant to say maximum structural cruising speed.
- stockresearcher 1y ago> the best analogy I've ever heard. It’s an analogy that gets the job done and is targeted at non-tech managers. It’s not perfect. Dead code has no “weight” unless you’re in a heavily storage-constrained environment. But 10,000 unnecessary rivets has an effect on the airplane everywhere, all the time.
- runako 1y ago> Dead code has no “weight” Assuming it is truly dead and not executable (which someone would have to verify is & remains the case), dead code exerts a pressure on every human engineer who has to read (around) it, determine that it is still dead, etc. It also creates risk that it will be inadvertently activated and create e.g. security exposure.
- stockresearcher 1y agoYes, we all love pedantry around here (that’s probably 99% of the reason I wrote the original comment!) But if your position is that the percentage of time in the software lifecycle that dead code has a negative effect on a system is anywhere close to the percentage of time in an aircraft lifecycle that extra non-functional rivets (or other unnecessary weight objects) has a negative effect on the aircraft, you’re just wrong.
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- fragmede 1y agoit's still directionally accurate though. Dead code has a weight that must be paid. Sometimes the best commits are the ones where you delete a ton of lines.
- 1718627440 1y agoWhen you are thinking of development and refactoring, dead code absolutely has weight.
- fbd_0100 1y agoProgress on airplanes is often tracked by # of engineering drawings released, which means that 1000s of little clips, brackets, fittings, etc. can sometimes misrepresent the amount of engineering work that has taken place compared to preparing a giant monolithic bulkhead or spar for release. I have actually proposed measuring progress by part weight instead of count to my PMs for this reason