4 ms·
We can adapt the Gresham’s Law for Software Development: Project [A] is built within "x" months with lot of tech debt, crunch time and stressed out employees
by rkwz 7y ago
We can adapt the Gresham’s Law for Software Development:
Project [A] is built within "x" months with lot of tech debt, crunch time and stressed out employees
Project [B] is built within "x+y" months with sane architecture and healthy working hours
If management doesn't understand the benefits of good architecture and employee well being, [A] will become the baseline against which all future projects get measured.
The software system gets messier and messier => resulting in more bugs => resulting in working weekends and late nights => employees make poor decisions because of mental fatigue => resulting in more bugs => ...
- rantwasp 7y agothat's one way to look at it, but it's rarely this clear cut. usually the system is initially built from P1+P2+P3+...PN that are wired together in a somewhat sane manner and do the job. enter joe, that thinks P2 is over-engineered and thinks he can do a a better job without understanding why P2 is the way it is or why it was even built like this. joe proceeds to replace P2 with P2'+P2a+P2b that kind-of get the job done but make the system a little bit more complicated. Joe gets a promotion for being a doer and improving "complicated shit". Now, imagine armies of Joes picking up the least complicated part of the system and making their contribution. The initially sane and straightforward components get replaced with increasingly more complicated ones. In the end, everything is so complex that no progress can be made.
- castratikron 7y agoMicroservices https://www.youtube.com/watch?v=y8OnoxKotPQ https://www.youtube.com/watch?v=y8OnoxKotPQ
- thrwaway69 7y agoThat channel is legit underrated
- wdutch 7y agoI think you're dead right but it goes even deeper. With more bugs the company starts evaluating devs on their ability to fix bugs and put out fires. Eventually the devs who can build a sane product are squeezed out and all the devs are good at is fixing bugs rather than introducing fewer bugs in the first place. I noticed this when working as a dev in the finance industry. The devs who put out the most fires got the biggest bonuses and float to the top so they have a say in hiring and hire more people like themselves. A textbook case of Gresham's Law.
- quantified 7y agoOr basic Darwinism, which says that the fittest for their niche survive and reproduce. Fittest is relative to current circumstances, so each generation can modify the niche that others find themselves in.
- castratikron 7y agoWas at a job once where a dev shipped a bug on a Friday, spent the weekend fixing it, then got a bonus for it because he worked hard over the weekend and "got it done".
- chii 7y agobut why does the effect only happen in software engineering, but not physical engineering? You don't see buildings that are near collapse and require constant repair and redesign. You don't see construction contracts awarded to companies that build poor buildings. In fact, most buildings work fine, and even tho most also have some defects, those defects tend to be minor and can often be overlooked. So what makes software engineering different?
- yrb 7y agoSoftware engineering isn't special in this regard. It happens in a lot of other domains. Software often doesn't have a lot of the constraints of other disciplines so effects like these are more pronounced. I would characterize all the statements you made as false. Though it does depend on what your standards are. Most of the critical things are done well enough, but that is a pretty low bar.
- dredmorbius 7y agoTechnical debt, risk, maintainability, and long-term resilience are all elements that don't get fully accounted for. This joins a few related concepts: "manifestation" (or: cognizability, perceptibility, tangibility), risk (effectively a measure of probabalistic fiture cost), and resilience, which often contrasts strongly with efficiency. Sociologist Robert K. Merton pioneered many. of the concepts around manifest vs. covert functions, usually of social institutions or behaviours.
- cjfd 7y agoWe might also consider that if x is larger than a few weeks y might well be negative.....
- doubletgl 7y agoThis rather sounds like short term vs. long term decision making, or accumulating debt. What are the "coins" of Greshams's law in your example?
- dredmorbius 7y agoShort-term consequences (positive or negative) are far mor cognizable than long-term, both to individuals and organisations. Cognizability is, then, the market for exchange and evaluation. Options with short-term benefit but long-term harm, are excessively adopted. Options with short-term harm or cost, but long-term benefit, are excessively rejected. Put another way, markets consistently under-rate risks, and more complex ones to a greater extent. But they also under-value long-term. positive benefits. Markets operate in the now. Related is Robert K. Merton's work in manifest vs. latent functions, from sociology.