When I was a kid I was taught that failure was a bad thing. This was a constant and overt message I received from both my parents and my teachers. This was also later reinforced by my sports coaches and several bosses early in my career. Yet, as I have grown older, I have become more aware of the philosophy that we learn a great deal more from our failures than our successes. Leading to the belief (of many) that “failure is good”.
But, is it that simple and straightforward? I don’t think so. Neither success nor failure are black and white; in fact, in my opinion, it is generally just a matter of perspective. If I got anything less than an “A” for Maths (while I was at school) it was seen as a failure; however, if my brother, Paul, got a “B” in Maths there would be celebrations for a week!! It was about expectations and perspective. I was expected to excel at maths, while Paul was perceived to be bereft of mathematical acumen. They say that beauty is in the eye of the beholder, but I also think that failure is in the eye of the beholder. I also believe that by not setting clear goals we set ourselves up for failure.
I have been a perfectionist (with regards to my own achievements and goals) for as long as I can remember, but I believe that I am a realist when it comes to my expectations of others. I do not measure myself against others or measure them against myself and therefore I do not measure my success or failure based upon the achievements of others. This is something that I am very grateful for as I hear many people say how unhappy it makes them feel when they fail to measure up to someone else’s expectations.
As a Software Tester I expect to find failures when I am testing software. In fact, I expect to find failures in software throughout the normal course of my daily life, not just when I am actively testing it. Why is this? Because I spent almost 20 years writing software (before I changed careers and became a Tester) and instinctively know the pitfalls common within the software development life cycle (SDLC). There are literally hundreds of opportunities for failures to occur in software development, right from the concept or original idea through to the launching of the finished product. In fact, it is reasonable to assert that launching software is just the beginning of another cycle (the live cycle), where market-driven forces take over.
So, is failure in software good or bad? You’d probably say “It’s bad if it causes me to lose some money“. You’d probably say “It’s bad if it causes the loss of my arm or leg“. You’d probably say “It’s bad if it results in my car malfunctioning“. You’d also probably say “It’s bad if the power goes off when we are cooking dinner“. But I would counter these arguments by saying “It could have been far worse, if we hadn’t thought through these risks and reduced the impact“.
When I look at the possibility of failure I do not think of it as an opposite to success, I see it as an unwanted outcome that I can mitigate via various means. Whether it is a personal or software-related goal, that I am working on, I make sure that I am very clear about what I am trying to achieve and therefore, if a failure does occur, it is because I wasn’t realistic and/or clear in my goal setting.
My current thinking is that we need to be far clearer when we identify our needs and goals – when it comes to the development of software. We need to define and agree success at every stage of the SDLC in order that we do not carry (unacceptable) residual risk forward to the next phase and certainly not into the live state. I also believe that when people talk about personal failure they are referring to setbacks, which is a whole different ball game and probably needs to be the subject of another blog post!!
As I said before, failure is in the eye of the beholder and therefore stating categorically that it is good (or bad) to FAIL does, in itself, sets us up to FAIL.
Dateline: Melbourne, Wednesday September 28, 2016