Select Page

Here are a couple of really awful ways to build software.  A lot of times, these are dressed up as an “agile methodology” or as a “product management framework”.  Truth is they are just failure states that result in developer turnover, slow development progress, poor product quality and ultimately will put your startup out of business:

Bonus Driven Development (BDD)

Building software to criteria that results in the biggest bonus to the developer.

Well, I got my bonus. 2x base. Glad the boss didn’t notice that the team hasn’t  fixed a single bug on our own all year… Also, the two day deployments are great – I spend all day playing Fortnite while Chris wrestles the servers.

How to avoid:
Realize that aligning pay with shipping requires you to bonus the dirty work. Fixing bugs, updating deployment tools, and documentation should count towards bonus.

Resume Driven Development (RDD)

Software is built by selecting components that look good on a resume as opposed to what is best for the product.

So… our app is 100% microservice based, uses AWS, Google, Azure and a few third party cloud services, uses 14 databases, and is written in six languages, including all the sexy new ones. For some reason, all of the developers move on after a year…

How to avoid:
Set standards and don’t change every time a developer asks if they can use the new hotness.

Deity  Driven Development (DDD)

Software is built to stroke the ego of someone in management, and the manager’s ego usually requires a different stroke every day. Failing to stroke the ego is a firing offense.

I can’t get anything done because we keep changing everything every day. Everyone is afraid of pissing off the CEO. We need to have an intervention or something.

How to avoid:

Have an intervention. Show the executive what is going on. If the intervention fails, find a new employer, unless you like sacrificing your days at the alter of giant egos.