Thursday 14 August 2008

Tools?

Someone has recently posted a question on a Scrum forum, asking about the best software tools to enable the use of Scrum. Ok, they have some issues with remote teams, but they kind of missed the point.

Fortunately, plenty of subscribers have replied with the basic recommendations:
Index Cards (lots)
Post-its
A whiteboard (but a wall will do)
and, if you like the finer things in life, a spreadsheet for generating the burn down graph.

That's what I like about Scrum. It's about doing the simple things (A.K.A "the bleeding obvious") well.

That's not to say I don't like tools though.
I have been trialling some pretty heavy duty tools, and I like them. As a company, we build on a Microsoft platform, and Microsoft have something call Team Foundation Server. It's a pretty nice collaborative development tool that can be used for source control and work item tracking. What's even nicer, is that lots of people are developing tools that sit on top of TFS, that provide templates for managing Scrum. My favourite tool is a "virtual whiteboard" with "virtual cards" that we can move across as we progress. We like this tool so much, we are even considering ditching the physical whiteboard.

But the really important thing is, that we can do this ONLY because we know our process works. The software doesn't make us good at Scrum. It just saves trees and allows us to keep all our information in one place.

The trouble with really neat tools, is that they can easily distract us from the really important thing, which is the process underneath. Don't buy a tool because the packet says that it will cure all your ills. It won't. But if your existing processes are sound, then by all means get something that saves you a bit of time.

Be warned!

Tuesday 8 July 2008

Yes, we have no designers (or information architects)

Well, this is the first post on this blog. I did have another one, but I had so little to say, I forgot where it is.

Anyway, I have some thoughts which are bugging me, so I decided to write them down.

I work with a couple of web development teams, and we're 'doing' Scrum and talking all "Agile" and stuff, and it's working pretty well. But we have some new work coming up and something is bugging me.

We're starting on web site redesigns, 'spivving up' old features, adding new ones, improving the user experience, making it look nice and shiny.

Great. So what are we going to do?

Let's call the creative department! Excellent. A good bunch of designers listen to the product owners ("Can you make it more sexy?"), and come up with some lovely visuals. A bit of tweaking goes on, and 3 weeks later a bunch of image files land on the development team's desk.

That's cool, but what have the development team been doing for the last 3 weeks? Well, the deadline for this is quite tight, so they've had to start developing. Database tweaks, new business logic, some nifty new web services.

Hmmm. What's going to happen?

Well the visuals look great, "sexy" even. But we have an issue. The website publishes articles about, let's say, chemicals. Those chemical names are really long, with no spaces. They won't fit in the column. There's a lot of content on this homepage. It'll be really slow. Is that what you want?
When you click that button you are taken to the next page. It looks kind of confusing. I'm not sure I want to be on this page. And my web service certainly won't do that!

Let's call the creative department!

3 weeks later...



There's a few issues here.

The designers are really good, but they are isolated from the product, the users, and crucially to this process, the people building the product.

We're doing too much design "up front". This smells like WATERFALL, we're supposed to be "Agile".

And we're being given a 2-dimensional view of the future. Who's modelling the behaviour of the site? I'm not sure that it should be the product manager.

And how do we know if this is what the user wants?

I don't know if we should go all UCD, but I have worked with teams which had a slightly different make up and avoided some of the mini-niagra issues, and went some way towards thinking about the user.

Typically they would consist of "front-end" developers, "back-end" developers (but a good all-rounder will do), a designer (or a percentage of one) and an "Information Architect" (a what?). I even managed to get a "user" embedded in a team once!

The Information Architect would think about how the system should behave, model the work-flows, data and even organise user-testing. Very useful, but I think we could get by without if we had a DESIGNER.

If we had a designer working with a developer to create quick prototypes, we could find these problems and fix them quickly. We could demo something tangible to product owners and get immediate feedback. Hey, we could even get some users in!

In the 3 weeks it takes to produce some glorious photoshop mock-ups, we could have a whizzy clickable prototype to get any product owner moist.

We're supposed to have multi-disciplinary teams, so... can I borrow a designer for a bit?

I promise I won't mistreat them.