Software accretion: The hoarder and the clam
The hoarder and the clam
A challenge was issued to all storage workers. Whoever could store the most and provide the most value after everything was stored would win. A hoarder entered the competition and boasted that he could gather the most things and be able to store them. Upon hearing the boastful statement a clam entered the competition. The clam knew that the hoarder would get bogged down and would be unable to handle the mess he created.
And so the competition started with both contestants having empty storage. The hoarder started stacking and storing at a frantic pace. Many were amazed how quickly the hoarder was able to assimilate the items he was supposed to store. The hoarder exclaimed how easy it was and that he will easily win this competition. The clam continued to diligently work at his own pace. He assimilated the items to store slowly but he distilled them to their purest form as he went. He structured and organized the items so that they fit together. He knew what he wanted to accomplish and storing the items was only part of the goal. As the competition progressed both contestants were strained and stretched to their limits. The hoarder was frantically trying to find room for items and was constantly stuffing items wherever they fit even if it didn’t make sense to put them together. The hoarder was stressed and overworked but he was still making a mess. The clam was stressed as well but it was because he wanted to make the best out of what he was given. He wanted to give his all and make sure he used all his skill to store the items. He wasn’t driven by the competition or vanity like the hoarder but by the desire to make something beautiful out of what he was given.
As the competition wound down the hoarder was tired and was moving much slower. There was nowhere else to store items and his existing storage gave way in occasional landslides. He spilled items and kicked them out of his way in order to store more things. As they both stored the last items the competition ended. The contestants were judged on their storage and the final product. The hoarder stored all the items requested of him and sure enough the place was a mess. He was commended on being able to quickly perform all that was asked of him.
The judge then asked the clam where the items he was to store were. The clam replied that he had not just stored the items but had distilled them and remove any impurities. He had organized and structured the items in a matter that would benefit the judge in the end of the contest. He then handed the judge a pearl necklace and walked away.
The judge was confused by the clam’s actions. He had not known it was possible to make a pearl necklace from the mass of items he had given him. The hoarder claimed it was unfair since the judge had not said that they were supposed to create anything from the items but were meant merely to store them. The judge told the hoarder to throw away all the items he stored since there were no longer valuable as rot had destroyed most of their value. He awarded the clam win the prize and congratulated him his perseverance in taking a mess and making something beautiful.
A not so hidden message
Everything changes. Nothing is static. Entropy will always find away to tear down the greatest works. The only reason that everything is not in a complete state of disregard is because there are people performing maintenance and fighting entropy. Without a vigilante steward and someone who has a good sense of ownership and quality software maintenance becomes a race to the bottom as entropy takes over more and more of the system leading to that unmaintainable mess known as the big ball of mud. Whether you are pulling the weeds sown by careless programming, distilling the domain, or tuning your algorithm by continuing to push and refine you can make the messiest codebase shine.