Skip navigation.

Selling the Vision, not the practices

agile
[textile]Selling Agile Development to sceptics isn't always easy. Sometimes management are trying to "sell top down":http://www.xprogramming.com/xpmag/AgileTopDown.htm , other times the troops are selling bottom-up and other times you are selling laterally to peers.

One of the things that I have learned over the years is that one of the best ways to move people towards anything is by selling a vision. Not necessarily the vision of Test Driven Development (TDD) or of Continuous Integration or even automated acceptance tests. I am talking about the vision that will inspire the group or individual you are selling to. In fact, in some cases, I wouldn't even mention 'Agility' until I can see that they have bought into the vision...

What do I mean by a vision?

For some people, they just want to do TDD, something they want to do because it's cool (whether they need it or not) or adds to their CV. So, selling the practices to this individual is easy but still needs to be backed up with the right metrics to ensure they deliver on their promises.

For others, the sceptics, you will need to sell a completely different vision.

For example, you are talking to the testers (a.k.a. QA team for some)… "So, we have this plan that will get you involved earlier in the development, where you will be able to help drive the development of the system and help us to avoid the 'usual types of bugs' you said you got frustrated with when you found them again and again. We'll give you software incrementally and regularly for you to explore but you won't spend your whole day finding bugs. All the easy testing will have been automated under your guidance and run before the system is deployed for you to use. You'll even know when any of these tests fail, just monitor the build with this little system tray utility and it will flash red when the build fails for any reason… in fact we were thinking of this big red lamp in the middle of the office. What do you think?

"When the system is on the Test Environment, you'll enjoy flushing out harder to find, more interesting 'bugs' not the usual ones that probably could be avoided just by getting you involved from the beginning… although, these will be fed back in as Acceptance Tests that will be automated for a future release collaboratively between you and the developers… so you won’t need to repeat the steps again. Your involvement will be a collaboration with the developers and the customers so we can improve the quality of the code we deliver into the System Test Environment and eventually to our end users. What do you think? Like it? Good..."


So, you are talking to developers? "You know how it is, early on, your doing interesting code for new features, towards the end of the project you feel like you are just fixing bug after bug! Boy! Those testers do find a lot towards the end. It gets laborious huh?!?!

"So, we have this idea... we don't want you getting bored out of your brain fixing bug after bug towards the end of a release cycle... who wants to be doing that. We want you to spend more of your time consistently writing new code, for new features and new behaviours in the system! Making it better and faster, being able to easily change the architecture any time if we realise we want it to work differently. OK, OK, bugs won't dissappear but we want you to have less to work on. Oh, and when something does stop working after you check in some code, we want you to be notified within minutes, not weeks or months later in lists of bugs from the System Testers (or QA or whatever you prefer). Don't believe it's possible? Well, there are a whole bunch of people doing this already and it's working... we want your working day to be more interesting and fun, so, you in?"


Ok, so these are just two simplistic and grossly generalised examples (sorry not time to go into visions for managers, analysts etc) but you get the idea... it isn't about the practices but the differences that these practices make to the working day of the people... what pains are there... what pains will go away... what interesting things will people spend more of their time on?

That is the sort of vision that inspires people, not threats of changes to working practices that they have grown accustomed to over years and years.

You get people excited about how their new working day might look in a years time and, in my experience, they will be much less likely to resist change and much more likely to want to move closer to applying Agile Methods.

My efforts so far have just b

My efforts so far have just been trying to get a testing/QA culture established here - and educating myself

Finally it all seems to be paying off - it's been agreed that I can now spend 3 out of 5 days testing with a move to fulltime testing status by October
Now that I'll be actually doing rather than just reading theory, I should have a lot of experiences to share and it will be good to give back to the community
I've certainly learned a lot from it

Re: a timely reminder

[textile]I find it better to show empathy first - "Isn't it boring to spend months in a test-fix cycle? Some of those bugs you get lumbered with must be tedious."

Then, offer the vision, "Personally, I'd prefer to spend most of my time looking at new features and building new or enhanced functionality... and if my code broke something else, I'd want to know straight away not weeks later"... then, if there is a light in their eyes, offer the solution.

Bear in mind, however, that the outcome of having regression tests is a by-product of TDD not the primary purpose. The primary purpose is to help the team to understand the problem better... to think of it from the outside-in (how do we want to interact with the system/component/class) rather than from the inside-out (how are we going to build and architect such a system/component/class).

On the matter of selling to managers, I have made some notes about it but not had a chance to write the post for it. I'll try to fit that in soon.

I'd focus on showing empathy for the problems they have to face...

I'll offer some common ones but your managers will have their own specific issues too. Much of the managers' pain, in my experience, is about predicting a future that never happens they way that it was predicted. Over budget, late, pressure from their customer/manager/director because they did not predict the future accurately in that enormous gantt chart that made everyone feel safe at the beginning. Then the fire-fighting that goes with that.

Selling to managers is slightly tougher in some ways. Once they are convinced, they will have the difficult challenge of answering to their superiors/customers who have become used to predictive planning and may be scared off by a more adaptive and iterative approach.

I would spend some time getting to know the pains that the project managers face in your organisation. Don't offer solutions, just listen at first. Think about how you might be empowered as a team to solve certain problems... One good way to get these things out in the open is a retrospective on a recent project or phase or iteration. That's assuming you have them. It may or may not be so easy to get one to happen depending on your role and the culture of the company.

I am glad that you get something from me sharing my experiences... Why don't you share your experiences too. What has worked for me may not work so well for you but you will learn lessons along the way and they will be valuable to the community.

All the best

Antony Marcano

a timely reminder

I like your Agile articles - we are trying them out where I work so all advice is much appreciated

Thats a very good point about selling the vision - I'm pretty sure I've sold the testing vision to the manager ( though he doesn't quite get it yet and doesn't appreciate that testers are going to be involved ALL the time and not just at the end of a Sprint )

Some of the developers have got it, some remain to be convinced and only the other day one of them was muttering about all the time he'd have to waste writing unit tests
I was thinking along the lines that you mention and tell him that it's better to spend the time writing some tests NOW rather than spend endless months stuck in a fix-test-bug-fix cycle. Sell the vision rather than get stuck in the process - I like that idea

so will you be writing an article on selling the vision to directors or are you leaving that as an exercise for the reader ?
:)

Couldn't have said it better myself!

Well, maybe just a *little* better. :P When I started "selling" performance testing 6ish years ago, I was selling on "geeky advantages". I'd get the interest of some techies, but virtually nothing from the people with the money/authority/responsibility to make it happen. Over the years I've learned the same lesson that Antony discusses here. Some of my heuristics when "selling" now include:
  • Don't use any "loaded terms" before decisions are made (i.e. Exploratory Testing is so widely mis-understood that you can get exactly opposite reactions from the same people with exactly the same message except one time using the term and one time not)
  • Be enthusiastic about the "new" idea, not critical of something else
  • Speak about related and relevant personal experiences, rather than abstract theory or "stuff you read"
  • Try to get the person engaged, lead them to the idea/concept, but let them be the first to say it
  • Don't try to "sell it" all at once. Plant seeds, ask questions, make observations, plant another few seeds, etc.
  • Be ready to respond, with personal examples whenever possible, to the inevitable comments like "That sounds cool, but we couldn't do that because..."
-- Scott Barber Chief Technologist CEO & President PerfTestPlus, Inc. sbarber@perftestplus.com http://www.perftestplus.com

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.