Free Vouchers this time. Apparently I’ve won £100 of vouchers for implementing the Scrum methodology! I have no idea which shops the vouchers are for, only that they’re high street vouchers, so I suppose that’s cool, they could have been for kitchen tiles or something equally as mundane. But, heh, I’m not really doing anything to achieve these awards (like my iPod winning idea), just kind of, well, plugging away at changing things. I guess someone’s starting to listen!
Anyway, we’re kind of a heavily entrenched Waterfall development shop so, I thought I’d liven things up and ignore the people that said we couldn’t do Agile here :). So I merrily headed off down the Scrum path – having done it before I’m pretty sure by now the shoe will fit.
Friction, damn I thought I was on fire. Straight from 15 years of waterfall into scrum caused friction on a galactic scale – most of it not from the project itself, but the organisation. So, while the project works pretty well, and customer satisfaction skyrockets, the rest of the organisation is playing catch up. Still I guess nothing worth doing is easy. If it wasn’t for the customers complete buy in I don’t think I’d be winning awards, I think I’d be winning P45’s. (for you international readers that’s the short walk to the long unemployment queue…)
So, the best bit is actually that the customer loves the method so much that they’re bending over backwards to keep us using it, so much so that I hear they’re making requests of other projects to be run the same way! So from the customer side I’m starting to shine so much you need sunglasses when you approach my desk, whilst from our side I have dozens, if not hundred of disgruntled waterfallers baying for my blood. Some people simply don’t want to change. Heh, you can’t please all the people all the time.
Here are a few things I’ve noticed using Scrum with non-technical customers that are worth pointing out.
- It doesn’t matter how much work you’ve done, if its not on screen its not done.
You can have web services coming out of your ying yang, and if the customer can’t push a button and see it work you haven’t done it. - It doesn’t matter how your project schedule is organised, if it doesn’t list when visual elements appear, they’re not interested.
- Make sure that you’re fully resourced before you start.
Ok, a bit obvious you may think, but the customer may not be your best friend when it comes to telling them you cant deliver feature X,Y or Z because Johnny Programmer hasn’t joined the project yet. - When organising the project by allowing the customer to prioritise the feature set for the product before generating each sprint, make sure that they’re prioritising Visual Features. They won’t understand anything else.
- If the customer is involved in providing data to you, make sure they’re in easy to edit formats like word or excel. Deal with translation or the data conversion yourself, hiding it from the customer. Hint : customers don’t like angle brackets.
- Customers like deadlines, make sure that the door swings both ways and provide dates you’d like them to have things ready by. It’s a good idea that keeps them working towards the same goals as you and makes them feel committed to making the product a success.
- If you’re having real users testing the application, make sure that its as close to zero defect as possible. Users take great delight in pointing out the obvious like the focus rectangles are missing, they’re not bothered that you haven’t finished that bit yet.
- Make sure you have customer identical kit before you start. Requesting kit wasn’t the problem, the waterfall police ended up delaying requests because we weren’t in the testing period yet.
- Prepare to spend a lot of time repeating yourself – especially to the crews on your side. If they’re still in waterfall mode, it will be a while before they ‘get’ it.
- Play nicely with others. Although the agile methods typically mean you do everything, it could make whole gaggles of people feel redundant and won’t win you any friends. Even if you can automate all your testing, make sure that your testing dept buys in, and maybe you could even get them involved in learning new testing methods. Who knows they may even want to help provide some code for you. Make sure that everyone feels needed.
Not an exhaustive list, but things worth keeping in mind if your customer isn’t technical, or they don’t have anyone au-fait with the technology and methodology you’re using.
For the current project I’m using WPF and scrum – so we’re already 7 years ahead of most of the crowd who are barely breaking free of VB and winforms 1.1 😉
And,for those of you wondering, yes, you can do LOB applications with WPF. 🙂