On Privilege, Power & Perspective

I am a 64 year old Caucasian male. I live in a middle class suburb of Melbourne, Australia. I was educated to a level where I can make informed decisions and understand the implications of my actions. I have access to world leading health care. I can afford to buy food and drink whenever I need to. I have zero debt and unless I make serious errors of judgement I should be able to live the rest of my life in the same way I have so far – safe from famine and hunger, safe from war and bloodshed, safe from suppression and tyranny. I know right from wrong and have a clearly defined set of ethics that guide me whenever I need to make decisions or take action. I make no apology for any of this. It is my context. It is my life. It is my current existence. However, my life has not always been this good and I know what it is to struggle – admittedly, within my own white bread world.

So it is with the perspective (from my brief personal history) that I make the following statement – “I promise unequivocally that whenever I see an abuse of privilege and/or power, within my community, I will act. I will not sit on my hands or be a spectator. I will not look to someone else to take a stand. I will do whatever I can, with whatever means I have at my disposal, to highlight and address this abuse”.I have in the past acted strongly against bullying both in the workplace and my personal life. I have in the past called out and dealt with unethical behavior, personal bias and discrimination. I have resigned from organisations when I have encountered actions that have challenged my personal code of ethics. From today I am going to redouble my efforts and increase my focus on what I consider to be these totally unacceptable behaviors. 

Today I make a promise to all those within my community (who do not possess the same level of privilege and power as I) that I will act on their behalf. This is not from a perspective of being a vigilante, this is about being a decent human being who doesn’t cross the road or close their eyes to avoid an intolerable situation.

When men (and, in my experience, it is men 99% of the time) abuse their privilege and power they are showing weakness. These “men” are morally bankrupt and ethically bereft. These “men” are cowards who pray on those with less privilege and power. These “men” should be shown up for what they are – bullies, tyrants, abusers – some of the ugliest people in our society.

By letting these “men” get away with the behaviors I have described we give them more privilege and more power. We feed their hunger. We protect them. We encourage them. We even support them.

I am no figurehead or leader. I do not possess fortune or fame. I am an “average Joe”, with my own failings (that I try to learn from every day). But I will endeavor to “punch above my weight” in this situation and lead by example.

Today, I am one person standing up and saying “If you cross the line by disrespecting, disempowering or humiliating others less fortunate than yourself I will be there and I will not look the other way. I WILL ACT. I WILL STAND AGAINST YOU. I WILL DO ALL I CAN TO TAKE AWAY THE PRIVILEGE AND POWER YOU ARE ABUSING AND MISUSING.

In the meantime, I am here to provide whatever support I can to those who have been abused and disrespected. I will not pry or judge or meddle. I will respect the privacy of those who approach me. I will honor my promises. I will not wait for others to follow.

None of these self-absorbed, self-indulgent, deluded individuals have power over me and I do not seek to have power over them. I just want everyone in my community to feel safe and respected. I do this from a belief system where LOVE CONQUERS ALL.

Dateline: Sunday October 22;  Page, Arizona


Diversity Rant Part 2 – Another Facepalm…

A few weeks ago I wrote a short rant about a local conference “TConf 2016” and the lack of diversity in their one-day software testing program. As the conference is scheduled for tomorrow, I thought I’d check out the website for any updates. And guess what? The program has changed. And guess what? They now have a (token) female on the program.

One out of eleven speakers is still a very poor effort though, folks. It also smacks of an afterthought.

But there’s more! The conference also purports to support “WWCode” (Women Who Code). You must be joking folks. One out of eleven speakers is female and you highlight on your website that you support WWCode – get outta town!!

But, I am not giving up on these poor misguided folks. I am hereby offering my extensive involvement in (successful) international conferences and providing an olive branch for this and future events. If you are serious about running the best event you possibly can, call me anytime. I’m based in Melbourne. I have the time and the inclination. I would happily help with a post-event review (which I’m sure you’ll conduct, being quality-focused professionals) and any future event planning.

Oh yeah, and good luck tomorrow.

Dateline: Melbourne, Thursday November 17 2016

Diversity – Still a dream in software testing?

I was browsing my LinkedIn feed yesterday and noticed that one of my connections was recommending attending a local software testing conference (he has already signed up). It’s nothing major, just a small local event called TConf 2016 (Everything about Software Quality) taking place in Melbourne next month. So, I thought I’d check it out and see if it might be worth attending – after all, it’s always good to support local initiatives AND it looks a steal at $49 (for 9 talks over one day) AND it’s fully catered. Where do I sign up?

So, who’s speaking and what are they talking about? The opening keynote is by a guy from SEEK talking about “Refactoring a quality culture for continuous delivery”. This is followed by Morning Tea and then a guy talking about “A big data testing strategy to improve quality data” and then another guy talking about “Mobile application testing using Amazon Device Farm”.

After lunch we get a guy talking about “Performance testing at REA” and then another guy talking about “Continuous visual integration”. This is followed by Afternoon Tea and another guy talking about “Automated security testing for continuous delivery”. To close out the day we get another guy talking about “The case for consumer-driven contracts” AND, last but not least, another guy talking about “Testing insights: in the fast paced technology world of apps”.

In summary: 9 speakers. ALL MALE. 7 of them 30/40-ish caucasian.

As I wrote on LinkedIn in response to the recommendation – #Facepalm

To quote from the conference website – “We created TConf to bring industry leaders together, to share the challenges and solutions to complex quality problems in the industry. We have a strong desire to advance the Quality function. We believe in the importance of these fundamentals, a good software tester is also a good engineer, communicator, pragmatic thinker and above all problem solver“. It also appears that the majority of good software testers are caucasian males in their mid-thirties.

Where is the balance and diversity in this program?

I’ve got nothing against any of the individuals speaking, but I do have a big issue with the organisers. How many women did you invite to speak? How many turned you down? Do you care how many women attend your conference?

End of rant….

Postscript: Just in case any of you are wondering, I (a mature caucasian male) will NOT be attending NOR recommending anyone else attend this conference, even at $49 for a full day I consider this to be a very poor investment of my time and money.

Dateline: Melbourne, Friday October 21 2016

The Why and The How

For me, everything begins with the Why and is followed by the How… 

Why did I (a successful software developer with over 15 years experience) become a Software Tester?

No, it wasn’t because I wrote crap software and therefore had to test the shit out of it before anyone also saw it!! It was, primarily, because I got bored coding the solutions and wanted to spend more time looking at the problems. I later discovered that it was far harder seeking out (potential) problems than writing/amending code – and this kept me interested… for 25 years (and counting).

How did I become a Software Tester?

I began by using the techniques that I learned while debugging my own code and from there expanded into Integration Testing (between discreet programs), System Testing, Integration Testing (between systems) and beyond. Context: you have to remember that there was no (accessible) internet in the mid 1980’s and therefore the only effective way to learn was (for the first 4-5 years) by trial and error, then I sought out training courses and books (thank you Dot Graham) and then I began attending the EuroSTAR conferences. I know it’s easy to say “you’re lucky, because in my day…”, but it was incredibly difficult to forge ideas and push boundaries when you didn’t even know the questions you needed to ask, let alone find the answers!!

Why am I dismayed that so many Testers want to code?

I have never understood the current trend for Software Testers to want to code. Even with my 15+ years as a developer (in fact, probably as a result of it) I never thought to go back and write code once I became a hands-on Tester. WHY? Because, I trusted the specialists to write any software I needed (to support my manual tests). I believe, the basis upon which we originally created a distinction between DEV and TEST (the activities and the roles) is even more important today than it was in the 1980’s, when I first became a Software Tester. Technology is the most complex it has ever been and therefore we need to keep a clear distinction between DEV and TEST.

How do I remain an effective software tester if I don’t code?

I focus on what differentiates a human from a machine. I understand context and ask questions, while a machine can only follow commands. I can remember nuances regarding what was difficult to test last time I was in the vicinity of the system under test. I can explore, while a machine has a defined route. I can change priorities at a moments notice, while a machine awaits more information. I use instinct, while a machine…. I think you get my drift – I am a human using technology to assist me with my software testing goals, not a machine awaiting guidance etc.

Why do egos get in the way of outcomes?

I believe that developing software is hard enough without letting egos get in the way. There is always more than one way to achieve an outcome and generally the simplest way is best (Einstein certainly believed so). So, why do we waste countless hours, days, weeks, months (and sometimes years) debating WHY THIS WAY IS BETTER THAN THAT? The most important aspect of any product is that it meets the need of someone (not everyone) that matters* and therefore everything else comes second and therefore doesn’t matter… If we took this approach (more often) budget/schedule overruns would be far less prevalent.

How did I get rid of ego-driven actions?

About 20 years ago (in my late 30’s / early 40’s) I began to question how I did stuff and what prevented me being as successful as I expected to be. I came to the conclusion that the root cause was the impact of my ego. Since that time I have worked tirelessly to reduce the impact of (my) ego (and the ego of others) on both my professional and personal life. Don’t think this is an easy task, because it isn’t. Learning to let go and trust others isn’t easy – especially when you’re a perfectionist, as I am. However, as with all habits, focus and practice eventually lead to change and better outcomes. Being a sportsman all my life has taught me that nothing beats practice and I still practice selflessness, empathy and compassion every day.

Why do organisations look for cheap(er) software testing solutions?

I believe that generally in life we get what we pay for. And, it’s no different when it comes to testing software. If you value your organisations reputation WHY would you hand the validation and verification of software (upon which your organisation probably relies to function on a day to day basis) over to another organisation – whose reputation is almost certainly far less important than yours? In a similar vein, why would you also allow another organisation to choose how experienced (or not) the folks are who test your software?

How do I deal with the “You’re Testing is too expensive” accusation?

My first response to this accusation is always – “Expensive? Compared to what?“. As I have said before, context is (almost) everything. If you are Volkswagen and you manipulate your test results, testing can be VERY expensive!! My context has typically been in the commercial software field – banks, utilities, logistics, telecoms etc. and therefore my approach has always been to understand the underlying business risks and quality expectations in order to determine the level of rigour required for software testing. I frame my proposals along the lines of…. “If we spend this much time and money (on testing) this is the likely outcome”. This approach has (in 99% of cases) led to a successful outcomes. The other 1%? Well, there’s always one smart-arse in the room!!

Why do I still care so much (after over 40 years in IT) about the quality of software?

I believe that if something is worth doing, it is worth doing to the best of my ability. I also believe that, due to the proliferation of software in our lives today, that the quality of software will continue to grow in importance and, as a result of this, the craft of software testing needs to continue to grow as an independent and scientifically-based occupation.

How do I maintain my passion for the craft of Software Testing?

I have a passion for causes and I decided long ago that quality was something worth fighting for. I have always admired the beauty of the journey, as much as the eventual destination (sometimes the journey is far more fulfilling). As a sports lover, I have always believed that the lead up to a goal is far more interesting than the goal itself. There are a million routes to reach a destination and I’ll, more often than not, take the route that is most satisfying – sometimes this is the quickest and most efficient route, but sometimes not!! This sometimes leads to differences in philosophy and I am quite comfortable taking my passion elsewhere. How do I justify this approach? My integrity prevents me from bending too far when it comes to quality outcomes….

Dateline: Melbourne, Friday October 14 2106

You can’t Build Quality into Software BUT you can Keep Shit Out!!

For far too long now there have been a number of (marketing-driven) mantras along the lines of “building quality into software”. I even worked for a company that built a whole strategy around the concept, they called it “shift left”.

I’ve never been a big fan of hyperbole, especially around the promise of software, and so when the execs are looking for a “point of difference” and some bright spark (usually from marketing) comes up with “let’s say we build quality in from Day 1” my first reaction is “HOW DO YOU DO THAT?”.

As someone who wrote software for over 20 years, I can tell you that our main focus (as Developers) was meeting deadlines and this meant keeping things simple and not getting too clever. What this translated into was stuff like this:

  • Understand the main requirements and filter out frivolous requests for features that are not necessary
  • Understand how the software is going to be used in order that misuse can be prevented via the software, rather than the user or non-human interface
  • Understand the context within which the software will be used and then ensure its security within that domain
  • Understand the user base in order that the software be tailored for user level(s) of maturity
  • Understand the voracity of the data that is to be presented and ensure that it is good enough to enter our domain (by rejecting the rest)

This is not an exhaustive list, but it gives you an idea of the concept of “keeping shit out”, while it was certainly not “building quality in”. We could discuss concepts like “static analysis” here and there is certainly a major advantage to taking this approach, but I still see this as a “keeping shit out” tool as opposed to a “building quality in” tool.

In my book, quality is quite esoteric, in that it is in the eye of the beholder. Whereas, most people recognise shit quite easily. Most of us know what we DON’T want, but find it much harder to define what we DO want, so it is no wonder that the marketers focus on something that is far harder to define – it helps keep them in a job!!

If you want me to develop an App for your personal banking it will definitely cost you more and take me longer than if you want an App to keep you informed about the weather or an App that finds your missing Pokemon!! However, in each case they would still be delivered to exacting standards that met user expectations. And, in each case, I would still focus on “keeping shit out” not “how can I build quality in”.

Food for thought??

Dateline: Melbourne, Thursday September 8, 2016

Will my Robot be the first Non-human to gain ISTQB Software Tester Certification?

It occurred to me the other day that, if I am to get my new Robot to become an effective software tester, what better way to begin it’s development/education than to sign it up for an online ISTQB Foundation training course and corresponding ANZTB-facilitated (Foundation with Agile extension) exam. After all, almost 400,000 software testers worldwide have attained ISTQB Foundation certificates since 2002 and they tell me that is the de facto standard in software testing certification qualifications.

I chose the online option of education for a few reasons, but primarily because I believe that my Robot will get bored stiff if it has to go at the (slower) speed of it’s human counterparts. There is also the possible risk of classmates being distracted by a superior being in their midst. The exam will obviously present only a minor challenge, as multiple choice questions are the easiest assessment type for a robotic assistant to master.

I have a few of my own education tools to assist Robot; these include my world-renowned MindMap of the ISTQB Foundation Course (with Agile extension). In addition to this, Robot will be availing itself of the myriad of online content available via websites like istqbexamination.com and testingexcellence.com that provide substantial supporting materials that include sample exams and questions.

I am obviously very excited to be able to give my Robot some real world insights and experience (via the world renowned ISTQB Certification program) and will be assessing the rest of the ISTQB portfolio once I have been able to quantify the impact the Foundation Course has on Robot. Of course, Robot will be acquiring knowledge from many other sources, but I see the ISTQB Foundation offering as an excellent starting point. The next Foundation Exam in Melbourne is scheduled for October 27, so I should be able to share the results with you all by early/mid November.

If any of you know of other Robots that have completed the ISTQB Foundation training and subsequently sat (and passed) the exam please let me know as I would like to include the details in my November Blog update.

Meanwhile, in other news, Robot and I had our first outing on Melbourne public transport. Robot used it’s newly minted Myki pass. Myki is the travel smart card system we use in Melbourne and allows us cash free travel. This is ideal for my Robot, because as yet I have to agree a weekly allowance with it. We travelled into Melbourne CBD late Wednesday evening, in order to attract as little attention as possible. The bus driver was a little taken aback at first, but was more than happy once Robot was able to produce it’s own Myki card. The tram system is our next challenge and then possibly a rail journey when we attend the ISTQB Exam. I’m not so sure about air travel at the moment though, as we will probably have a few issues with the security detection systems at the majority of airports. I’m also planning on a supermarket visit to test out Robot’s built in bar coding system; 24 hour trading and automated checkout will aid us in keeping a low profile.

Meanwhile, on the software upgrade front, Robot has just been upgraded for iOS9, in order that all my “i-gadgets” remain compatible. This is crucial for links into major Siri, Safari, Mail and Calendar updates. I’m also working with our Electricity provider on Smart Meter compatibility in order that Robot can become the main interface with all our electrical appliances. An iWatch is also on the cards right now, but it’s physical range constraints may be an issue. I’d seriously forgotten how time consuming Software Release Notes can be!!
Anyway, gotta get back to coding my ASX Share Price Tracking and International Currency Exchange interface feeds. More updates soon….
Dateline: Melbourne, Thursday September 17, 2015

My Future in Software Testing

Recently, I caught up with an old mate of mine and secured myself a fantastic second-hand Robot. Not just any old Robot, but a state-of-the-art jobby that will help me with my most difficult and time consuming (née boring) jobs – including testing software!! You see, testing software is a bloody hard job and, while I’m pretty good at it (if I say so myself), I think a Robot might be better at some aspects of it.
For a start, my Robot only sleeps when I’m backing it up, upgrading it or sending it away for it’s regular maintenance, so I can have it working while I’m doing something with a higher priority, like playing golf or going away for a holiday. I can even get my Robot to work remotely or go to the office in my place for the odd meeting. It seems to me that the sky’s the limit with getting my Robot to do all the things I dislike most about my job….

So, what are the jobs I’ll give to my new Robot?

Firstly, I’ll teach it to fill in my time-sheets? Then I’ll teach it to do my expenses. In fact all my Admin tasks will be done by my Robot. It will read all of my EMAILs and just pass me the ones I need to see. It will review all my Social Media feeds. It will add “Likes” where appropriate and only send me any stuff I need to “Comment” on. It will schedule all my meetings, so that I only attend the really important ones, while it attends the rest on my behalf. It will write all my Minutes (yes, I do keep records!). It will document all the defects either of us” find and follow up on triage and fixes. It will review all the Requirements, create Mindmaps as a synopsis and prioritise our workload based upon my deadlines. It will ensure that I maintain a work/leisure/family lifestyle balance and remind me when I should be catching up with family and friends. The efficiencies are endless!!

Now, you may be thinking “where do I get one of these little cuties and how much will it cost”? Well, you could start by visiting http://www.robotshop.com or http://www.robotstore.com (yes, they really do exist!). Alternatively, you can read the article posted at http://www.popularmechanics.com entitled “5 of the Best Robots You Can Buy Right Now” or visit http://www.smashingrobotics.com and review “Thirteen Advanced Humanoid Robots for Sale Today”. While none of these sites mention my Robot! they do give you an idea of what is currently possible/available on the open market.

Unfortunately for you guys, my Robot is a special edition. It’s not available on the open market (as it’s ex-military) and comes with masses of security features to ensure it’s protocols are secure. It’s obviously early days yet, but I’ve already taught it how to recognise “bullshit” or, to be more politically correct, inferior information or downright lies. I’ve also taught it how to monitor my incoming phone calls and screen them by sending unwanted calls straight to Voicemail. So, now I’m working on a few software testing activities. I’ve prioritised my list of features and (as I mentioned earlier) will be starting with Requirements Reviews, Bug Reviews and various other review and selection tasks. The great thing about starting here is that reading documents and other forms of contextual information takes a LOT of time and this is time I could spend actually performing the more complex tests that my Robot won’t be able to do until sometime in the future.

In terms of actual software testing activities, I will get my Robot to learn all the Freeware software products available for what today we call Automated Testing so that it can define, write, execute and review the results for me using the most effective software available. You see, I don’t have the time to learn all those software products, but my Robot can do it in it’s spare time – the time I give it to catch up on what’s new and useful in our connected world.

NOTE: You may have noticed by now that I haven’t mentioned my Robots name and that’s because, if I told you, you’d be able to find it (and possibly hijack it) as it is obviously “reachable” like any other IoT-enabled entity. 

As I said, it’s still early days but I will provide regular updates on the progress of my Robot and it’s software testing encounters as we progress through it’s development program and it’s release into the outside world. I knew that one day my time as a Developer would significantly change the way I test software and now I have the opportunity.

Oh, and just before I sign off today, you may be interested to know that the first draft of this Blog was actually written by my Robot. As a first effort it was ok, but a bit dry. However, I think I’ve improved the readability somewhat and the Robot will learn from that when I get it to read the final published version during it’s daily allocated reading time.

Dateline: Melbourne, Monday September 7, 2015