Recently we had a new release of an application that didn't go as well as planned, which I'm sure a lot of you can probably relate to - after all, how many rollouts do go as planned?
This new release contained miles of bug fixes and enhancements and was being touted as a major step forward. Lots of work had been put into making this release "a fresh start", enabling an excellent foundation for us to build on in future versions - something the previous versions were lacking.
So from a development point of view this new release was a great success.
However, even though we (the developers) were pleased, once we rolled it out we began to notice a few problems, mainly related to the different environments (dev, test, live). You know - the errors that seem to "work fine on my machine" but crash horribly on the server.
Whilst we have since resolved the errors and the application is now working great, the questions remain - did we take a step forward in the eyes of the user? Will they overcome the inconvenience we caused them during the upgrade now that they see the benefits of the new version? etc, etc
Yes, I think so. BUT - we have tarnished a fragile relationship. The relationship the users have with us. They depend on the application to work, and work well, hence they depend on us. They trust us. They trust us to make sure each new version is better than the last. They trust us to make sure every release is smooth and seamless. They trust us to make sure we performed in-depth testing.
So did we break that trust? Did we deliver the quality the users have the right to expect?
I hope not, but if we did - trust is something that's going to take a while to rebuild - perhaps a lot longer than it will take to rebuild the application alone.