Bugs in version 1.0 of an app are inevitable

I work on projects for a wide variety of clients. Many of whom are new to having software developed for them. An important part of any project with a virgin client is educating them about the software development process.

One area of focus is bugs. What are bugs, why do they exist and reasonable expectations about their being some.

It's all too easy to use examples as excuses for why bugs shouldn't be something to get massively upset about. For some clients the discovery of a bug in a newly released app is the cause for a huge rupture in their relationship with their developer. It's vital that they are aware from the outset that the largest companies in the world release software with bugs. These companies have highly talented developers, well thought out processes and lots of resources for automated testing, continuous integration, behaviour driven development practices, etc. However despite all of this they still release software with bugs.

A case in point is the new Google Photos app for iOS. It is a lovely app. Great use of the material design language, easily discoverable gestures and accessible features. There are however some very annoying bugs that most users will encounter when first playing with the app. Just after it was released I found that bringing up an action menu for a photo left me stuck not being able to dismiss the menu. The only way out was to background the app and then foreground the app. This didn't happen every time but when it did it made the app a frustrating experience.

There are many reasons for bugs - in version 1.0 software there are almost always comprises made to get it out the door and into the hands of users. With the best test teams in the world you will miss something peculiar to a particular device or what one person chooses to do in your app.

As software developers we should always strive to release robust, well tested software. As clients of software developers you should be understanding of the complexity of development. Bugs shouldn't be taken lightly, however they will be there. The most important thing is to quickly acknowledge them, prioritise and fix those that impact the users the most.