I had assumed that everyone has heard the story about the blind men and the elephant.

However, in a very non-scientific poll of a hand full of fellow engineers at my day job, only about half had.

So I was going to try to quote it here, but when I looked up a reference for it, I came across a joke that amused the pants off me.

So here’s the joke:

Six blind elephants were discussing what men were like. After arguing they decided to find one and determine what it was like by direct experience. The first blind elephant felt the man and declared, ‘Men are flat.’ After the other blind elephants felt the man, they agreed. Moral: “We have to remember that what we observe is not nature in itself, but nature exposed to our method of questioning.”- Werner Heisenberg wikipedia entry

Well. I thought it was funny.

Trust me that this ties in with software development and testing.

Perspective

I’ve had a long-ish career as a software engineer and now a team lead.

It’s been about 18 years so far since I started my career in writing software for test and measurement equipment.

My job and tasks changed about every 6 months or so, as stuff was completed, and new assignments came around.

I also switched divisions several times, working on spectrum analyzers, oscilloscopes, cellular test instruments, satellite test systems, and a slew if internal productivity tools.

Every one of the teams I’ve been on has been different.

Every software task has been different.

And this is all within the umbrella of embedded test equipment software.

If the different projects I’ve worked on have been so different, even within this small piece of embedded development, then surely the projects that you are working on are quite a bit different than mine.

There are gobs of different types of software getting developed in the world.

I have no idea if the advice and learnings that I share on this blog are relevant to you and your job. I hope it is useful.

All I have is my own experience to base it on, and readings I’ve done from others.

Therefore, if anything I say seems off kilter to your own experience, please:

Speak up. Let me know. Comment on the blog. It will help others that have experience closer to you than to my own experience. Be open minded. It may seem like we are miles apart in perspective and opinion. But remember, we are just probably experiencing a different part of the same elephant.

Opinions

I’m actually quite opinionated about, well, just about everything.

However, I have been keeping my opinions in check (mostly) on the site.

I’m not sure why.

I think I’ll try to let my opinions fly freely a bit more.

We are bound to disagree on something.

Don’t take it personal.

It would be boring if we agreed on everything.

I actually have Harry Percival of Test-Driven Development with Python fame to thank. I talked with him for a brief time. And he encouraged me to let more opinions run free. Those weren’t his words. But the general sentiment is correct.

BTW, Harry’s book is really worth a read, especially if you are new to django development. I like his emphasis on top-down, pragmatic TDD.

Dogma

When I think of dogma, I can’t help but think of Alan Rickman in the Dogma movie. Great movie.

But I’m more thinking of this:

Dogma is a principle or set of principles laid down by an authority as incontrovertibly true. wikipedia entry

In my mind, this has no place in software development or in software testing.

Care about what your are doing. Really try to do the right thing and create great software.

There are many perspectives on what the right way to develop and test software.

There are many opinions.

But there is no authority.

There are very few incontrovertible truths.

What works for testing communication systems software might not work for testing web apps.

What works for web apps probably wont work for missile guidance systems.

Share anyway

We are probably all standing by different parts of the software development/testing elephant.

And we may each have a different animal altogether in front of us.

However, software development and testing does have lots of commonalities.

We can learn from each other even when we work in seemingly different fields.

Wrapping up

This is getting a bit too campfire song cheesy.

I’m not sure why I felt the need to point out that I probably have an entirely different job than you do.

But I did feel the need.

And I really wanted to retell that elephant joke.