The Origin of Features

“Our competitor has released a new update,” the vice president said, “with thirty new features.”

“We should have new features too,” said the other vice president. “What do users want?”

“Presumably, because our competitor is second in market share, they want some of the features our competitor has produced.”

So they chose one at random from the list, and passed it along to the project architects.

“Why do we need this feature,” said the project architect, “when we already have another feature that does the same thing? We should actually be improving that feature to handle the use case that this implies.”

“What use case does it imply,” asked the other project architect.

“I’m not sure, but whoever is using it this way is going to choose our competitor’s product if we don’t get busy.” So, they passed the use case onto the project managers.

“OK,” said the project manager to the engineer, “we have two weeks to implement a new feature to handle this use case.”

“What is the purpose of this use case,” said the engineer, “when we handle this behavior better in the happy path already?”

“I don’t know,” said the project manager, “but the order is coming from the top with a high priority so it must be based on customer feedback.”

“This use case requires violating several assumptions made in our critical flow. If people are actually doing this, we should cater to them by modifying that step in the happy path, and merge it into the existing flow instead of creating a new feature.”

So they made some tickets, and six weeks later — only three times the original estimate — their implementation finally passed all of its tests. The following week, it was launched to customers.

“What the hell is the purpose of this new feature,” asked the customer into thin air, “when there’s already a way to do this a lot easier?”

“Oh wait,” the customer sighed. “No, that way is gone now. It’s almost like the way their competitor implements this feature, except worse. I’ll have to figure out a brand new way to get my work done now.” So he spent his entire afternoon working around the new feature, making use of awkward side effects of other features in order to get his work done.

“Our competitor has released a new update,” their competitor’s vice president said, “with thirty new features.”

Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store