January 23, 2018

Fail Fast

Do you remember all the posts about new businesses (read startups) need to fail fast (Business section)? Release first version
as soon as possible to make them competitive? (insert peperidge farm meme here, haha)

Recently it seems to me like almost every company adopted this startup mentality in their products. While I understand
the need to release your product before the competition does, I disagree with using the consumer of said product
as a beta-tester.

There are tons of instances when this happened (not only to me). Microsoft Windows 10 being major example here.
Games like Assasins Creed being utterly broken. Microsoft begging you to use new Skype even you told the installer
several times you don’t want to, and it “bugging” and somehow making you use the “new and awesome” version anyway.

I don’t need to share more examples. Anyone who ever used any software has plenty examples of being dissapointed
by product (or it’s software) while paying them for it. I think this really comes to companies wanting primarily
the money, and new features, while not focusing enough on quality of their software.

Fail fast indeed.

I don’ really blame companies for mistakes. Mistakes happen. They are also major way humans learn. It is OK to fail.

Famous quote by Ed Catmull:

We need to think about failure differently. I’m not the first to say that failure, when approached properly, can
be an opportunity for growth. But the way most people interpret this assertion is that mistakes are a necessary
evil. Mistakes aren’t a necessary evil. They aren’t evil at all. They are an inevitable consequence of doing
something new (and, as such, should be seen as valuable; without them, we’d have no originality).

But! There have to be limits.

When I try to remember when this all started happening, I think back to using MS-DOS, playing DOS games.
I can’t remember any errors in games I played. I ran the game and played it. Sure, there were some exceptions
when some software didn’t install or run. But they were so few.

I think this mentality is tied to the companies being able to update any problems later easily, thus
not needing so much time thoroughly testing their software. In the past, when you wanted to make your software public,
you had to produce diskettes or CD’s. This process was expensive and time consuming. It would not make financial
sense producing software which would have critical bug, causing 50% of your users not being able to use it.

Now, you pay monthly for a service, which is usually online website. When it doesn’t work due to bug or maintenance downtime
there is not much you can do. You agreed to the terms, where you usually agree that the service will work XX% of the time.
Or it is simply not stated in terms of service, and you can cancel your service. Well, what if you depend on it? Too bad. Not
much you can do here.

On the other hand, updating your software quickly leads to fewer bugs. I don’t need to provide examples here,
there is plenty of proof on the internet it is so.

But what is the solution? How to force companies to not publish unfinished/broken software?

I don’t know.

Mabye it is up to us, software developers, to refuse deploying broken software. After all, it is our reputation too.