One thing that can greatly help in going ugly early is the existence of a user community for a software product. Spookily, Guy Kawasaki posted The Art of Creating a Community to his blog yesterday. Good advice, all of it, and as always the emphasis is on authenticity and openness.
I don’t think I had heard the phrase “going ugly” until I read Go Ugly Early by Dwayne Melancon today. To quote Dwayne:
“This concept involves releasing early iterations of your products so you can allow your customers to interact with them and provide feedback. I’m not talking about releasing unstable or buggy products – I’m talking about releasing stable products that have limited functionality, but which telegraph the shapes of things to come.”
Which, of course, is exactly the approach promoted by all of the agile software development methods. Sort of.
In fact, the agile community has amazingly little to say about beta programmes and the like. We talk a great deal about the OnsiteCustomer (aka ProductOwner or ChiefEngineer or ProductDirector) who gives rapid feedback to the developers on a daily basis. But that’s not the same as giving a try-out version to a few key users. If you’re developing something you would use yourself, then trying out your own dog food early is very easy and relatively risk-free. But when the target user is potentially a paying customer, it can be all too easy to perceive the risks as outweighing the advantages. What if they laugh at our half-baked ideas? What if they steal the idea and take it to our leading competitor? Frankly, I don’t believe any of these are real issues. Not compared to the benefits of using early-access free stuff to forge a long-term relationship.
The ProductDirector’s rapid feedback and direction is essential in the microcosm of the development shop itself. But in addition, giving genuine users the chance to genuinely use parts of your new product under genuine conditions can be … genuinely useful – both to you and to them. Your user (or potential user) is being given the opportunity to ensure that your next product fits them like a glove. Most will be prepared to invest a little time to get that. And if they laugh, you’ve learned something about your understanding of the market – and you’ve learned it without investing the whole kaboodle.
Of course, the partial system must be production quality. If it isn’t bug-free and trivial to install you will probably be dismissed out of hand. (Again you’ve learned something – but it was something you already knew and could have avoided.) So this isn’t prototyping, it is real product development, in small chunks. The opportunity only arises because of honest and thorough use of agile practices such as TDD, ContinuousIntegration, DailyBuild etc. (Maybe that’s where the perceived risks come from: this is all new. Waterfalling never gave us the chance to create this kind of relationship with our customers.)
Do you have a story where going ugly early saved your bacon? I’d love to hear it.
In Accessible = Approachable = $$$ Scott Ginsberg (the guy who wears a name-tag 24 hours a day, 7 days a week) discusses the benefits of making sure you and your business are easily accessible. I know I’m no great shakes in the ‘approachable’ department, but last week I also discovered the truth in Scott’s words: three separate people in twenty-four hours independently told me they struggled to find my email address starting from pages in this blog. I hope I’ve fixed that now, but it does underline the point. So a big thank-you to those people who took the time and trouble to work out how to contact me, and then to give me feedback on their struggles. I wonder how many other people have just shrugged and left…
In the main, Scott writes about approachability – which is also vital to the success of an agile software development team. For example, anyone who wants to get a view of the team’s progress towards the next release needs to know in advance when they hold their daily stand-up meetings. And because feedback is the fuel of the agile process, it’s essential that development teams ensure that their team persona is also approachable. For example, it’s no good going into an iteration review with arms folded, and rejecting stakeholder comments with responses along the lines of “no, you’re wrong.” Because people will soon get the message and stop attending. At which point the team’s product begins to lose its way; morale, time to market and profitability will surely follow.
We software geeks have a lot to learn from Scott…
I decided to keep this month entirely free of work – the plan being to spend the time catching up on those home improvement jobs that have slid down the pile since James was born. Sunday we made a good start, spending a couple of hundred pounds on paint and light fixtures and stuff. But then Monday morning I was struck down by the sickness-and-diarrhoea bug that baby James had last week. So I’ve already lost three of my 10-12 available days (taking into account the school holiday, weekends and childcare days). Now Donna looks as if she’ll succumb to the virus, and James has been refused back into nursery until he’s completely well. Both the girls had a wee touch of it over the weekend too. So our whole family has virtually ground to a halt – I’d like to find out why.
Our first thought was James’ new nursery. He went in for a 1-hour taster session a couple of weeks ago and came back with a cold that lasted a fortnight. And then two days after he started full-time, he comes down with the s-and-d bug. Today the nursery confirmed that they have “three or four” babies his age down with the same thing. So James brought it into the family from nursery, right?
In Try this with Me: Acknowledge and Appreciate Hal Macomber invites us to join him in changing the way we reward those around us:
For the next week take the time to acknowledge or appreciate someone on your project, in your organization, or your circle of family and friends. Take care to be sincere. Appreciate them for who they are not what they did for you or someone else. Rather than say, “Thank you for taking such good meeting notes,” say, “I appreciate the care you give to capturing the conversation we had today.” Do this AT LEAST ONCE every morning and every afternoon. Make a short note to yourself each time you express your appreciation to track that you are doing the exercise.
I suspect that the phraseology and frequency might grate somewhat on the British ear, but I’m willing to give the idea a tentative try…
This project has been running since July. It’s now the day before the ‘development complete’ milestone for part of the system, and all that remains is to show it to the users and get them to sign off that they’ve manually tested it and they’re happy. As it turns out, this afternoon is the first time they’ve seen anything of the new software. After over three months of design and development. Guess what happens…