The bananas in your software business.

Two dancing banana people.
Software is a bananas industry—image courtesy of MidJourney v6.

For twenty-seven years, I have spent my career in the technology business. It has been a financially rewarding career, but it is also profoundly stressful and unstable. One day, you are looking forward to making long-term financial plans, and the next, you are filling out unemployment paperwork. I enjoy a front-row seat in many of the positive changes in the technology world. I also witness many of the negative consequences of the attention economy. My experience makes me appreciate technology's good, bad, and ugly aspects. Today, I must discuss the nasty part of technology and its construction.

The first copy of software is grossly expensive. Highly trained and compensated specialists spend significant amounts of time performing a task that resembles writing a novel in an alien language. Countless stakeholders, often unfamiliar with the development process, will criticize and inspect the code once committed. I joke about the process because it borders on farce, and I remark that Earnest Hemingway would have drunk more if he had authored software.

After the people providing the feedback are done, developers, testers, and designers often return to make necessary revisions, and the creation process repeats until everyone involved thinks they have a product they are willing to ship. At this point, software is dirt cheap because it can be duplicated and disseminated in seconds. After years of frustration attempting to create a product, Instagram became a billion-dollar company in an afternoon. The nature of software construction creates a paradox because, with the wide adoption of a software product, consumers find new and unique ways to use and exploit its features. It is why many experienced software professionals and leaders are naturally cranky because regulatory, security and customer satisfaction become a burden that can crush a career.

Kent Beck, on SubStack, points this out, calling software development 'bananas.' He says this is because software development is a messy human activity. In his words:

  • Mistakes are inevitable.
  • Mistakes are often compounded.
  • Finally, those mistakes only manifest in production environments.

It is the worst of all possible situations for a business because quality is never 100% guaranteed. To improve quality, Beck returns to the metaphor of a banana. When you purchase a bunch at the grocery store, a person must eat the fruit before it turns brown and melts into a grotesque liquid. At that point, you cannot freeze these bananas for banana bread. You are stuck with a mess and a cloud of fruit flies in your metaphorical kitchen.

In my experience, many leaders and executives do not understand this reality until it is too late. When they notice the mess, the people who pointed out the problem have quit or are downsized from the organization. Non-technical people think software is magic, but it is more like produce. It must be appropriately cultivated, correctly transported, and safe to eat. Otherwise, you are forcing people to consume grass.

This means that projects require more flexibility and better response times. Before Neil Armstrong and Buzz Aldreran stepped on the moon, the moon landing required Mercury, Gemini, and the Apollo programs. It is astounding how many executives will conceive of a moon launch on a technology project only to discover that shooting from the moon is more complicated and less glamorous than it seems.

People must understand how quickly metaphorical bananas spoil and which are suitable for fruit salad. Executives do not know what to do with these people. Author David Graeber refers to them as the ‘ducktapers’ of the corporate world. These people spend their time working around organizational inertia and dysfunction. People like this are necessary in organizations but often create enemies. It is why you don't hear stories of project managers or agile professionals advancing to executive ranks: they're evaluated on accomplishments, not executive appearance. The people in Taupe Blazers who get work done are often a mystery to the executive class, which makes decisions.

I suspect that is why technology is so bananas; the skills to get it working run counter to the feudal nature of many large corporations. Organizations are struggling with this reality. My career and its misadventures are a testament to this.

It leaves us with an unpleasant realization. Software is messy and created by fallible humans. This inherent sloppiness breeds mistakes. Production environments often become breeding grounds for these errors. When mistakes hit production, they compound due to the chaotic nature of human and system interactions beyond the original software's control.

People created the agile reformation because they sought a better way. The quick feedback cycles allowed business people to ensure that work created value for the business. It also allowed for rapid response when mistakes and mishaps emerged. It is not a system or mindset focused on perfection or appearances. Instead, it emphasizes adaptability, empiricism, and excellence. A system or mindset that becomes more important as the bananas world of software devours the world.

Until next time.

Edward J Wisniowski

Edward J Wisniowski

Ed Wisniowski is a software development veteran. He specializes in improving organization product ownership, helping developers become better artisans, and attempting to scale agile in organizations.
Sugar Grove, IL