management quality

Software validation

Today I paid someone to clean my house.

Since I am on my own with the kids this week, I just went outside for a while and returned once the cleaning person told me they were ready. 

I paid them, they left, and I began checking their work. 

To my surprise, the laundry room and the half bath were not cleaned, the other areas were done halfway, and the house looked “ok.”

You can think of it as having performed user acceptance testing on the cleaning job that resulted in a negative experience.  

This made me realize that when we default to UAT as our primary form of testing, it sucks, and our reputation suffers.

Based on my experience, I will not hire them again, but I thought about how I would feel if they had performed other validations.

Could I have changed my outlook on the results?

If I had the time, I could have validated her work after every room, or maybe sections of a room.  

I could have given her a checklist and had her check the items on the list. 

Imagine the checklist as the test-first approach where you already know what success looks like, and then you implement the work to make sure that success happens and your tests pass. 

A room check could be seen as an integration test, where I would ensure that all areas looked well together and not just individually.

The above tests could have quickly surfaced the missing areas and the places that needed an extra pass.

So when UAT happened, I would have seen more minor problems easier to digest, and I probably would now hold them to a high standard of quality and customer service.

In summary, test changes early, test often, mix your test types to include unit, functional, and QA. Have other people check your work and do all of this before it lands on your users.

You could be saving your company’s reputation.

Icons made by Freepik from www.flaticon.com