Danzig on Delivering Software


Yeah, can you keep them in the dark for life
Can you hide them from the waiting world
Oh mother

Danzig’s “Mother” has always been to me a song about parenting. His threats to expose your kids to his world are hollow if you have done a good job and prepared your kids. He is right that your kids will never be ready for such a world without preparation. You prepare them by exposing them to elements of it in a controlled way.

Vaccination is the same idea. You expose a person’s body to a small amount of pathogen turned non-threatening. The pathogen triggers a response so that the body can build antibodies. When the person comes in contact with that pathogen later, those antibodies help them fight it off.

The same can be said for software. You will never know if it is ready for the world without getting it in front of actual users. Betas are as old as software itself, but they are no longer enough. Software has become too complex to take finished software to a few customers and find if is ready for the world. There are too many unknown cases where bugs can hide. Users expect software to be usable as well. It is hard to fix usability once the software has hit beta. You might be able to make some tweaks, but you can’t make systematic changes.

You need to put the software in front of real users often. This helps you see that the quality is there. You can’t repeatedly put unfinished work in front of users and expect them to believe you. You have to get it to done. If the users can use the software, you will see if it is usable. You get this feedback early enough to make changes if you discover major problems. Even small tweaks are cheaper when you can make them before things are completely solid.

Do like Danzig says. Give your software exposure to the real world as often and safely as possible. Then it will be ready when you let it out.