Monday, May 21, 2012

On Testing, Crossing the Rubicon or Nailing the Theses to the Door

The last ten days or so, I've had a series of conversations that have left me baffled.  Do people really listen to the words they speak or write?  Do people understand what words mean?

Whilst being "gently informed" in a variety of ways that I "just don't get" testing.  Apparently I'm a heretic as far as at least these four people are concerned.

The details of the words varied, not by much, but they varied.  The expressions used were actually quite similar.  This surprised me because the environments they each work in are totally different.  Not just different companies, different development environments, but different intended development methodologies.

In short, they said "Our goal is to improve the quality of the software by doing good testing.  Testing needs to verify that everything is right."

I responded that I viewed testing as much more than that.  Testing is neither confirmatory nor destructive.  Instead, testing is an interrogative activity that allows us to discover the true behavior of the software and how it reacts or responds to various stimuli - data, keystrokes, sometimes, simply time.

Rather than breaking software or confirming the requirements have been fulfilled, or showing what doesn't work or... whatever, we can focus on learning how the software really behaves.

No, I was told by five different people, I was wrong.  Plain and simple.  Wrong.

That is NOT testing, they said.  Testing is proving the software conforms to the requirements.

So, all the requirements I asked?  Yes.  All the requirements.

Do we know the requirements?  Of course we do - they've been fully documented in the requirements definition phase (Even the guy that said they were Agile said that. I guess we disagree on more than one thing.)

Now, one of the benefits of the education I had lo those many years ago, is one retains certain things.  One of the things that is in my mind is Martin Luther's statement at the Diet of Worms - the one where he defended himself at an ecclesiastical court.  Some sources, now considered remarkably questionable, simply because the words don't appear in the earliest transcripts, have Luther saying "Here I stand.  I can do no other."

Now, I think it makes sense.  Its a great line.  It is the kind of thing we wish could be dealt with and directed and - well - a defiant refusal to submit; to not go down without a fight.  It is often portrayed as a defense of his heartfelt beliefs that he could not, and would not, gainsay.

Others may point to that as the sin of pride.  One can not admit to that they are wrong. I'm not sure. It could be something of a mix of these things.

In the end, I'm not sure it matters. The simple thing is, you can compromise on some things, maybe a lot of things.  Fundamentals though, tend to be closely held and tend to be inflexible.  At least for people who really believe them.

Are my views on testing firmly held?  Some of them certainly are.  I'm also open to discussion to see if we use different terms to mean the same thing.  I can be reasonable, after all.  Then there is the concept of developing understanding - that one's views can develop and evolve over time.

In the end, a breaking point will be reached.

I don't know the point that will be.  Mostly, it is a different point for each and every person.  What that point is, for anyone reading this, I do not know.  I know my point.

When that point gets reached, each individual must decide for themselves.

When Caesar (Julius - the real Caesar) crossed the Rubicon River in 49 BCE, leading his Legions into Italy proper and initiating the Roman Civil War, he is reputed to have said "Alea iacta est."

The die is cast.

At what point do we say "Enough?"  At what point do we refuse to compromise? 

Here I stand.  I can do no other. 




Tuesday, May 15, 2012

On Too Much Process or Too Much, Meh, Whatever

Process - noun - 
   1. a series of actions or steps taken in order to achieve
       a particular end

    (Oxford English Dictionary)

So, a fair number of people have heard me discuss excitedly (find the euphemism for rant) on how too much process stuff gets in the way of actually getting things done.  A fair number of times I pretty well am set in the idea that process should not be a controlling thing or a limiting thing, but a guiding thing.

There is a significant difference between the two of them.  Some people don't want to accept that.

Kind of like some people define "Agile Software Development" as 1) no documentation and 2) no testers.

When people allow the aspects of process to overtake the entire point of what is intended - typically the facilitation of what the process is supposed to, well, facilitate, where the process becomes more important than anything else, you don't have one problem, you have a collection of them.

The opposite end, well, makes bedlam look reasonable.

Having no controls and no processes in place can, and I suspect will, lead to its own problems.  Point of codifying processes, the "How we do stuff" is centered around making sure nothing gets missed: no steps get left out, nothing critical that will impact customer experience (like .JAR files not being where they are supposed to be) and other small things like that.

A process can also help us be certain that everyone who needs to know about something actually knows before that thing happens.  People, myself included, often talk about process as something that is ungood.  I've tempered this over time to be more like, process can help us, it can also hinder us - and the specifics of the situation will no doubt have a direct impact on which one it is.

What often gets lost in the shuffle when talking about process, or some development methodology or approach, is that the point of most software processes is to get things done that need to be done, and make sure people know - I kind of said that a bit before - I know.  But if you look carefully at the second portion of that, the bit that process helps "make sure people know" then that sounds alot, to me at least, like communication.

People forget that communication is less about what is said and is more about what is understood - what is heard on the receiving end.

If you have good communication and people succeed in hearing A when A is said, or written in a report or email or... yeah, you get the idea, then process forms a framework to operate within.  When people don't communicate, process may help - but I suspect it just adds to the noise.  More emails and reports to ignore, more meetings to sit in and do something else whilst they are going on, more of the same Dilbert-esque pointy-haired-boss stuff.

Even companies that quite publicly talk about their lack of formal process have processes - they have rules that people work within - frameworks that guide them  and their activities.

I suspect where I draw the line for processes that are useful and those that get in the way is the willingness of the staff - the people who are directly impacted - to follow and adhere to the given processes.

I prefer processes that are organic - that grow and develop based on the experience and relationships among the people doing the work.

I object to processes which are imposed by someone, or a group of someones, who have never actually done the work (except maybe as an exercise in school or a single project in the "real world") but have read, or attended a workshop or talked with someone at "the club"on some best practice that involved some stuff.  Whatever that is.

If people want to have a thoughtful discussion around what can work for their organization, team, company, whatever, I'd be extremely happy to participate.  If you tell me things must be done this way because of some study or best practice or whatever, don't be surprised if I ask what was studied and what practices were compared to determine which one was best. 

Monday, May 14, 2012

On Managers and Mothers and Bush Trimmers

As I'm writing this, it is the evening of Mother's Day in the US.  Because the weather was lovely, much time was spent in the garden this weekend mowing the lawn, trimming bushes, preparing the vegetable garden for the summer. I then took my lady-wife and mother to dinner where we had a lovely meal with nice conversation, a very drinkable bottle of wine and cannoli for the mothers in the party.

It has been a remarkable spring. 

The apple blossoms are done - no surprise there.  This is fairly normal for us.  The pear blossoms are done.  This is unusual.  Lilacs are done - not terribly unusual.  The tree peony are done.  Tulips are done - again not that unusual as they often are.  Its a little odd that the late blooming variety are done as well, but, that is not far from the realm of possibility.  Let's see.  Hmmm.  Oh yeah, iris are in bloom and there are peony ready to bloom.  Those two are unusual for mid-May in Michigan.  July is closer to the expected.

Oh, the stuff that is done?  They all bloomed within a few days of each other.  By mid-April.  That is not only unusual.  It is remarkably unusual.

Right then.  What does this have to do with anything?

On Shrubbery

Well, a few years ago, some friends were over visiting a day or so after I had trimmed the bushes in front of the house.  He (Dan, the male in this married couple, and father of a bright boy, married to the boy's mother)  made a comment, asked a question really, "Who trimmed the bushes?  They look very... zen."

I had.  I tend to do that a couple of times a year, three depending on the particular year and how much the bushes have grown.  You see, left to their own devices, shrubs - there are a couple of good-sized arbor vitae, a healthy juniper and a couple of others that I have no idea what they are.  The thing is, when it comes to trimming bushes, shrubs whatever, some of them can be trimmed into shapes really easily and will do quite well.  Others will struggle, sicken and eventually die.

As a shrub grows,and is untended for some time, it will do what ever it pleases.  It will stretch for light and water and... right you get the idea.  The thing is, if the thing is left alone, it will grow quite... big,  These were quite large the first time I tried to prune them.  How do you prune something that is probably larger than most people have them, and still allow them to be healthy and thrive whilst doing what they are supposed to do?

How does one get the most out of anything, help it develop to its full potential and achieve the goals one sets for it?

Well, with bushes, its pretty easy.  You can trim the recent growth, prune the large branches that are sticking up and neaten up the edges.  Maybe give it a nice round shape.  The thing is, from this point you can direct its growth from this point by trimming given branches one way or another - yet always allowing the bush to be a bush. 

So, this got me thinking.  It is, after all, Mother's Day.  Never having been one you see, how does a Mother guide her children in their development, growth, etc.?  I have my ideas, but, like I said, I'm not a mother - grandpa, yes, dad - well, I've played one now for an awful lot of years.  But, how does one teach young people to grow into, well, mature, positive people?

On Mothers

How does a good mother raise children?  Well, I can talk from observation of how the lady-wife and my mother tried - they focused on getting the best from their kids all the time, encouraging them to try things, if they wanted, and sticking through the commitment after starting.  Backing out after starting when things are hard or unpleasant or, boring, was discouraged.  Firm, yet loving might be a good short description.

My siblings and their spouses are using (or have used) this general approach with their kids.  Other folks we know are trying as well. Finding the balance is a challenge.  Learning what will motivate people and what gets them all excited can be a challenge - as any mother (or dad) with more than one child.  The fact is, one-size-fits-all style approaches simply do not work for raising kids - or bushes for that matter.

Some folks tell us that mothers always will do the right thing for their children.  Maybe in a movie.  I don't know.  There are plenty of examples of mothers who did a terrible job and were amazingly horrible at being mothers.  Let's face it - some people are not cut out to be mothers.  (Same with fathers, but my mind was wandering around on mothers today.)  They may want to be mothers, or think they do, but really, they have not considered what it means to be a mother at all, how much work it is and how long that work will continue.

The lady-wife tells people that becoming a mother is a life-changing event that will continue for the rest of their lives.  Once they become a mother, as long as they are alive they will be a mother.  Its a pity that some who chose to do so are not very good mothers.  I think sometimes people forget what their role is.

This got me thinking.

On Managers

Why do some managers try the one-size-fits-all when it comes to career-development, professional-development and generally assisting their staff to improve and grow?  Why do some people believe that the motivational devices that work for one or two people will work for everyone?  Yes, I know - it is up to the employee to seek out and strengthen their career - it is their career after all.  Still, managers can encourage them and show support to them for learning more and broadening their skill-sets, even if it includes learning concepts that may not be directly applicable to what they are doing right now.   After all, the way technology changes, what is to prevent them from learning something that will be helpful to them, the team and the broader company on the next project or a future project? 

Compared to mothers, managers have it easy.  They can become an "un-manager" by changing jobs, quitting, retiring, getting fired... lots of ways.  I wonder if people who want to be managers before they actually are managers would still want to be a manager after they learn the  reality of how much work it is.  Then again, if becoming an un-manager was as difficult as becoming an un-mother after being a mother (or a manager) I wonder if that would change how badly people want to be managers.  

Still, we have our own bias, don't we?  A fair number of people presume that because they wanted to become a lead and then a manager and then some higher level of boss, that the really good testers want to do the same.  Possibly the really not-so-good testers do as well.  I suspect this is because we see this path (novice >  experienced > really experienced > lead > manager > bigger manager > knight > Earl > King) as the only way to measure success.  Because "moving up" in the organization is what we are told is what we want to do - and some people really DO want to move up - then that is what everyone wants to do, right?

Or are biases and personal views getting in the way.  Mom wanted to take ballet when she was a little girl so darn it, her daughters will take ballet.  They only THINK they want to do soccer or karate.  But that can't be part of the one-size-fits-all thing right?  I wanted to be a manager so Joe must want to be a manager too!  I'll get him going and he can move up instead of being just a tester.  That is not part of the one-size-fits-all thing either.  Right?

So, Managers and Mothers - consider what it is that you want for your people - either staff or children.  Is that what you want or is that what they want?  We can't always get everything we want - I know - there's a song about that, right?

The question boils down to this - are we trying to shape out children and our staff in a way that they can be shaped or are we trying to force them into something they can not be?   Shaping and pruning them to enhance their growth will result in an amazing thing of beauty - a well-formed person.  If we force things they can not support, there is a chance they will wither and never achieve the potential that is theirs.

To all the good mothers in the world, I salute you.  Likewise all the good managers.

Bushes, shrubs and hedges?  My hedge clippers and pruning shears are cleaned and sharpened for the next time I need them. 

Tuesday, May 1, 2012

On Managing Testers, or Being a Coach

I had a revelation recently that I wish I could have had some time ago, like years.  It may have made me a better employee, and in my forays at lead and manager roles would have made me better at both.

While my thoughts here probably don't rise to the level of great writing that can be found for the betterment of leaders everywhere, it represents the sum of experience and belief demonstrated by many managers and leads I have worked for and with.  I trust that some may find it useful and help them manage testers perhaps better than they might without such thoughts.


1.  Encourage Learning.  This is important.  There is a significant difference between "training" and "learning."  Encourage your staff to look for ideas new to them and try things they have read about.  Don't bog them down with mandated, "This is the only way things are done" type of rote memorization.  Allow them to explore areas of interest to them, then gently guide them with how these can be applied to their current and future work.

2.  Discourage Self-limiting Behavior.  Kind of a contradiction, eh?  But really - anyone who has been around the block more than once has seen more than one person set themselves up for failure.  Maybe they like it.  Maybe they don't know any other way of doing things.  Help them discover what they are good at, what they enjoy doing and what they want to do and maybe other ways of doing things. 

3.  Encourage Participation.  I have found that one great way for people to learn and appreciate things, is to have a hand in the doing of it.  I know everyone is busy and is scheduled at 110%.  Well manager, MANAGE - encourage your staff to get involved - then make sure they have the time to do it without missing their kids school programs and family vacations and trips away and holidays and... right.  You get the idea.  The hard part about being a boss is telling other people "No."  And yet, we need to do that all the time, right?  This is just one more reason why you must tell someone "No," or if that makes you uncomfortable, try my favorite alternative "We can not work on that right now.  We should be able to start on it by ..."

4.  Discourage Lockstep Conformity. 
I know we must all follow the process or whatever is in place at the company.  Sometimes it takes people with a lot more pull than we have to change the rules.  Well, sometimes bending the rules to let your people flourish is important too.  Allow them the space to be creative in approaching problems.  Allow them time to THINK.  Remember when you'd think about something deep and technical?  I still find a proper cup of tea, with a bit of sugar and a little milk, just sitting and sipping it, can help my brain unravel a problem that is in my way.  Allow your people the same room for creativity and innovation - particularly if there is no Time Reporting Code for that on their time sheets. 

5.  Encourage Innovation.  I find this tends to flow from what happens in number 4.  Sometimes thinking leads to a new approach.  This approach can take a little tinkering to get sorted just to see if it will work.  Give your people, that's what they are after all, people, the flexibility they need.  Don't force it on them, but if they want to try - let them.  Then help them learn and clear the path of roadblocks in ways only a Manager can.

6.  Discourage Disparaging Comments.  Negativity can be a serious drain on energy and morale and productivity.  If one of your people is down, a lot - see if you can help.  It might be nothing you can fix, but maybe just letting them know you are concerned is a help.  Then lighten their load, if possible, so they have the energy to deal with whatever is weighing them down.  If they are just being, well, negative for the sake of being negative, talk with them about that too.  Everyone gets down.  Everyone has a bad day (sometimes a week!)  Everyone has times when they'd rather be at the beach or the woods or... whatever.  We just need to get the job done.  Then let them go to the woods or beach or wherever.  Just keep an eye on folks - If they know you have their well-being in mind, more than just what they do at work, they may turn around and surprise you.

7.  Encourage Growth.  This one is a mix of "mentor" and "coach."  I know some people look to mentors for some level of guidance and teaching.  If you can do that for your people - fantastic!  Otherwise, keep an eye out for people who CAN do that - then get the mentors and students connected and allow things to happen - don't force them.  One thing I have learned is this.  Most technical professional types have a failing, somewhere.  One common one I have found is how they relate to other people - technical peers and non-technical as well.  It is amusing that so many people consider testers "non-technical" still, compared to some, most of us are.  Compared to others, we're technical rock stars.  Help them to navigate these waters.  Help them to learn to do them better.  Help them to learn to be a better team, and give them transferable skills they can use anywhere.

8.  Don't be the Control freak.  Like this guy. If you're my boss and you do those things, I'll quit.  Promise. 


Lessons Learned - I've seen these ideas applied often at various shops.  Where two or three are used effectively, the result has been stupendous.  The staff revel from one positive experience to another, the software gets better from one project to another, practices improve and, surprisingly at some shops, customer satisfaction went up - way up. 

Remember: Managers are the oracles of the Truth, but the people working for them are the spirit that make that truth relevant.  My wife used to say (when the kids were younger, at least, not in their 30's) "If Mama ain't happy, nobody's happy."  You can set the tone - will you be happy and uplifting or a burden to be endured?  By setting an example in attitude, work, learning and life balance, a good manager can do more than simply qualify for stock options and large bonus checks. 



Monday, April 30, 2012

On Controlling Testing, or Being the Boss

I had a revelation recently that I wish I could have had some time ago, like years.  It may have made me a better employee, and in my forays at boss-dom would have made me a better boss.

While my humble outline here may not be enshrined amongst the great writings on leadership that are available for the betterment of leaders everywhere, it certainly represents the sum of experience and belief demonstrated by many boss-types I have worked for and with.  I therefore submit this for consideration toward your professional success as a controlling boss and the success of the group (we'll call them a team) over which you have control.

1.  Encourage Training.  This is important.  This is really important.  You want your testers (they like being called testers better than being called them peons of serfs) to believe that you want them to get better at what they do.  Make sure they know that training is important to their career development. You want to make sure that the training they get is company sponsored training.  Other stuff like, well, that encourages them to think is to be avoided, discouraged and downplayed.

2.  Discourage Outside, Corrupting Influences. We want the people working for us to only consider the information we present to them as being relevant.  When people express an interest in something they read about, maybe on the web somewhere, let them know that it is important they "get all the facts" before deciding to learn about it.  Have them go looking for examples of companies where these wild, new-fangled ideas have actually worked.  When they come back with some examples, make sure they know that these are not really solid examples because they are from outside the industry you are in, or are multi-national, not multi-continental (other way around works as well!)  or they are in environments that are regulated differently than the environment we are in or... any number of reasons why "that won't work here." 

3.  Encourage Engagement.  This is important, too.  You want them to feel warm-fuzzy thoughts in their tummies when they think of the company.  They want them to think, "Wow. The bosses at TLA* really DO have my best interest at heart when they tell me to do something and I'll be rewarded later.  I hope I get a pony as my reward."  This is particularly effective in large urban areas where the belief that a pony might be the "reward"is a complete impossibility where the large urban area does not permit ponies within the city.  The idea is similar to "A rising tide lifts all boats."  That is true, as long as the boats in question have plenty of slack where they are tied-up or moored.  We want to be certain there is no slack at all for the people doing our bidding team, before the tide starts rising.
*TLA: Three Letter Acronym (thanks to Matt Heusser from whom I blatantly stole that concept.)

4.  Discourage Uncomfortable Questions. 
Well, not really discourage them, just redirect them to be discussed "off-line" so people are not side-tracked by "side issues like this."  The beauty is that when people ask questions you don't want asked, you can appear to be concerned with addressing their concerns completely, and at the same time keep those questions, and the discussion around them, from causing discomfort to the rest of the laborers.  This allows the quick-thinking manager to isolate the trouble, and trouble-maker, pat their hand and say "there, there" and reassure them that everything will be fine.  The upside for the manager is the next round of "synergy actions"/"staff rationalization"/ happy-sizing / down-sizing, you already have at least one candidate for "change agent" status.

5.  Encourage "Extra Effort".  Getting people to get things done when most people looking at on schedules that simply can not be achieved at a mere 45 or 50 hours per week per person can be a particular management challenge.  One effective technique is to make the "casual" observation that contracts are tied to these dates and the delivery must be made on time.  Of course, if the delivery cannot be made on time, well, "other options" will need to be considered.  Then, this leaves open the carrot of the "stretch goal" set a week or two ahead of the "mandated goal" - where completing the project early may get recognized with a raise (or at least not a pay cut) IF all the other projects get done on time or early as well.  (Notice the subtle conditional statement slipped in there, its a possibility, not a certainty.)  

6.  Discourage Process Questions.  Yeah, this is kind of a big deal, too.  The Process is sacrosanct.  You are not in a position to suggest improvements to the process until you have moved through it completely, successfully at least once.  Well, maybe twice or three times (because success is a habit, after all.)  If people are having problems working through the process, it is because they are not doing it right.  If they do it right, they have no problems.

7.  Encourage Participation.  This one is important, too.  One way to handle trouble-makers is to get them involved.  If someone asks questions, like a lot of questions, ask if they'd be willing to participate in a study group that has been created to look into that very issue they ask questions about.  It is a great way to get all the people you need to keep an eye on in one place.  Additionally, because this must be done in addition to the project work (see number 5 above) it will be one more way to drain them of extra energy to make trouble.  If they still complain, ask if they have been "participating" with the study group on the issues they are complaining about.  If not, you just transferred blame to them!  That is good leadership.

8.  Discourage Independent Thought.  This is a hard one and it may take all the previous lessons to pull this one off.  You want people who can do decent testing.  That means you may have to hire people from outside the company.  That also means you may need to hire people with some level of experience.  This experience may have given them ideas of their own, or at least carried the lessons they learned from previous jobs with them.  Encourage them to "observe and learn" how things are done at your company.  Then, use the ideas from number 6 above to get them to become fully assimilated into the mindset of the company.  This will, hopefully, keep them from thinking something is wrong with the company by reinforcing the image that the problem is with them (after all, they left their old job because of why?)

Lessons Learned - I've seen these ideas applied often at various shops.  Where two or three are used effectively, the result has been promotion for the manager who did such fine work.  Of course, the fodder complained and whined until they were replaced or learned that complaining led to them "seeking new opportunities" - which pretty sell stopped the complaining.  In public.  Which is as good as stopping complaining altogether.

Remember: Managers are the keepers of the Truth.  The Guardians of the Holy Flame of Knowledge.  Facts can change and shift and using these techniques what the Manager agreed to on Monday, on Tuesday, if you are effective, you can disagree with and explain that the staff misunderstood.  This technique is good for keeping them from ever really understanding what is expected, which is even better because the money set aside for raises and bonuses will go into your pocket.



Sunday, April 22, 2012

On Passion, or Be Careful What You Wish For

Recently I was reminded of something that was said several years ago.

The Several Years Ago part: In the middle of a project that was simply not going well, in fact, it was a bit of a train-wreck.  Nah, not a bit.  It was a complete and total train-wreck.  Pick something that would go wrong and it did.  In spades.

Yours truly was QA Lead and was overwhelmed.  A "target rich environment" does not begin to describe what was going on.  Massive effort, huge amounts of overtime to try and control the damage, stop the flooding, stop the bleeding, well, pick a metaphor.

Fact was, the testers were putting in a lot of effort and, frankly not many others were.

So, sitting having an adult beverage, or several, with one of the development managers on the project, he looked at me and said, "Pete, you have a real passion for what you do.  You're better at testing and understand software better than an awful lot of people I've worked with.  You are really passionate about what you do.  That is great.  Be careful though.  If you're too passionate you can burn out."

That struck me as odd, at the time anyway.  How can one be "too passionate"?  Is it possible that one can be too involved? Too close to the work? Too passionate?

After all, we have a lot to do and scads of work and... whoa.  Why is it that some folks are diving in and going full bore and others are, well, sliding by and doing what seems to be the minimum.  Why is it that some people just, well, not as deeply into making the project work as others?

The Reminder part:  So, talking with another tester I know, she was muttering about a project where the developers just did not seem to care, about deadlines, quality of the project, impact on, well, performance reviews, raises, bonuses, and the like.  She looked at me and said "Its like they just don't care!" 

SO,  why is it that some people just, well, are not as deeply into making the project work as others?  I don't know.  Maybe it depends on what is expected, or what the normal approach is for the shop or company or, whatever.  Maybe it depends on the nature of the project leadership.  Are people being managed or controlled, compelled.

While what is often called craftsmanship is something that seems hard to find.these days, in some places (maybe many places, I don't know) I remember hearing many people speak passionately about being, well, passionate - as a tester, as a developer, or as whatever it is that each one of us is.

I got to thinking some more Friday night and generally over the weekend about this.

When looking for places where everyone is passionate about their work, what does that look like?  How do you know when you find it?  I used to think I knew.  I've worked at places where the majority of people were very passionate about what they did.  They wrapped much of their view of their self-worth into their work - so if the project was a success, their efforts were "worth it."

Then, I started wondering what a project that was a success looked like.  I suspect it rather depends on the software development group's target audience.  Are the people who will be using the results of your work all working for the company you are working for?  If so, "market" is a hard concept - unless the results of their work, with the new system, improves so much that the company as a whole performs better because of the many long hours and weekends in the office and ... yeah, you get it.

If the company makes software that will be bought by other companies for use in their business, the combination of sales, licenses, recurring/renewal of contracts around the software and the like will be one measure of how your efforts contributed to a successful project.  Likewise, the customer-companies being able to conduct their business better, more efficiently, is another measure of the success of the project.

And so, what about the other signs?  What about the places where people are not passionate about their work.  What do they look like?

That's easier to find examples...

People use "process" as an excuse to not do something.  "I'd love to do this, but I can't do X until D, F and L are in place.  That is what the process is."  (Whether its true or not does not seem to matter.)

People lock into rituals and stay there.  Arrive 5 minutes after the "start time"; start laptop/desk-top computer; get coffee; drink coffee, eat breakfast; sign on to network; get more coffee; sign on to email (personal)... etc., leave 10 minutes before official "stop time" to "avoid the rush".  Use the, "well, I work a lot of extra hours from home and over the weekend" reasoning.  (Oh, laptop is still in the dock on the desk as they are heading home.)


The appearance of work counts more than actually doing work.  Lots of reports being filed, status reports, progress reports, papers being shuffled up to leads and supervisors and managers and, of course, process management.  This is different than using process as an excuse to not do something.  This is taking the literal process and ignoring the intent.

Heroic Behavior is rewarded  more than steady solid work.  Now, I'm not down on heroes.  I've been in that role, and was recently called a hero as well.  I mean the false-heroes, the ones who dawdle and obfuscate and put things off and delay, and miss interim deadlines and miss delivery deadlines - partly by using the first three behaviors - and then work massive hours the last week of a project to pull things together and deliver something - and let everyone know how hard they worked. to "make this happen."

I bet you can come up with a bunch of other examples.  I stopped there simply because, well, I did.


Now, What to Do?  If you find yourself working at a shop or department or company that you find described above - where it seems you are the only one who cares - what do you do about it?  Ask yourself, "Has it always been this way?"  Maybe something changed recently, or not so recently.  Maybe the change has been gradual.

Sometimes, it takes you being the one to be burned by this behavior to notice it.  Sometimes it has been going on with some people and not others and it is your turn to work with these people and - what a mess.

You can say "Maybe they learned their lesson from this and the next time will be better."

Don't bet on it.  There is likely some other reward system in play that they value more than the rewards workmanship, craftsmanship and passion for doing good quality work can provide.  Ironically, they may get rewarded from their supervisors for being heroes (even though they created the situation that needed heroes) or "preserving the process" or, whatever.

So, back to what to do.

Your choices are limited.


You can try to "change the culture."  This is easier in small companies than in large Borg-like companies that grow by assimilating small companies into the Collective.  I know people who have tried to do this.  Some were successful; those dealing with the Borg Collective were less so.

You can try to "change the environment."  Here I include "process" as well as the nature and flow of the work and communication.  You can ask questions and field inquiries and take part in improvement task forces and, and, and... don't let the project slip.  I know people who have tried this - myself included.  It may work, you may feel more engaged and more aligned with improving the company.  At some point you may look back ans wonder what has been accomplished.

You can stop resisting - Accept it for what it is.  Turn off independent thought and go with the flow.  Collect the paycheck, take the "motivational development" courses and continue to collect the paycheck.

You nuclear option - Leave.  Go somewhere else.  That is what I did with the company in the first part of this post.  I packed it in.  I do not regret it.  My other options seemed so improbable.  I tried them - the engage thing, the culture change thing.  I could not bring myself to stop resisting.

Please, never select to stop resisting.  Never conform that much.  We are testers.  We can not be good testers if we stop questioning.  That is what is required of that option.

Sunday, April 1, 2012

On Unintended Consequences or Self-Blindness to Risk

As I write this, it is the early afternoon of Sunday, April 1, 2012. 

I was sipping a cup of very nice coffee, reading student self-reviews for the Foundations Course of BBST that I am an assistant instructor for (this go-round!)  and a story on the news threw me back 1 day shy of 30 years.

On April 2, 1982, military forces of Argentina invaded the British holding of the Falkland Islands.  There had been a long-standing dispute over Argentina gaining/regaining control over this small archipelago that had been a British possession for generations.

There was a large naval battle fought between Germany and Britain in December of 1914, during the First World War.  At the time, it was an important refueling and resupply depot for the Royal Navy - if Germany could seize the island group, it would prove to be a heavy blow to the British, and replace the base the Germans had lost at Tsingtao a short time earlier.  The German squadron could also refuel themselves since coal was in short supply.  The Royal Navy scored a decisive victory there, sinking or capturing six of the eight ships in the German squadron.  The naval victory in 1914 put the Falklands in an almost mystical place in the history of the Royal Navy.

In the midst of growing economic unrest, the military junta ruling Argentina decided that it was time to more aggressively act to raise patriotic sentiment and firmly grasp a nationalist ambition by regaining sovereignty over this small collection of islands off their coast.  It was believed that Britain was unwilling, and possibly unable, to respond militarily to a challenge in the South Atlantic over the Falklands, South Georgia and the South Sandwich Islands.

Remember what the economy was like globally in 1981 and 1982?  Argentina was not the only country that was having economic problems.  They seized a holding of another country that was also having its own economic problems, with a Prime Minister who was not terribly popular at the time.

The small Royal Marine contingent was overwhelmed and surrendered.  Word of the invasion reached London.  There was a furor over the Argentinians attacking/seizing/invading part of the British pantheon of Naval Victories.  The Empire struck back.

A task force was dispatched and the Argentine forces in Port Stanley, the capital of the Falklands, surrendered after a string of British victories.  Yes, there were a series of blows that hurt the British - two destroyers and two frigates were sunk, along with two other ships that were destroyed, and a number of aircraft.  The Argentine forces lost a submarine and a cruiser, a World War Two vintage ship that was sunk by a British submarine, along with scores of aircraft.

Both sides had their operational problems that led to mistakes that led to lives lost and failed operations.  There were some 3,000 people killed or wounded in this brief fight.  There were over 11,000 Argentine military forces captured.

Margaret Thatcher soared in popularity for a time.  The protests against the Argentine junta  increased and it eventually collapsed - the exact opposite of what their planners intended.

Two things stand out in my mind from this that apply to testing:
1. Deluding yourself over the potential for failure can be career (or at least job) ending;
2. Evaluate the real risks involved, honestly.

Know what the risks are.  Know what the likely results are.  Know what the possible results are.  Know that you can not control everything - and sometimes you can control nothing.  Plans are great, as long as you don't expect them to be carried out precisely as they are written.  Planning helps us understand what problems may be encountered.  No plan survives initial contact with the enemy.

Oh.  One positive thing did come out of this.  A really nice pipe tune was written by a bagpiper in the British Army who fought in this campaign.  The Crags of Tumbledown Mountain is a really nice tune on pipes.