Saturday 12 July 2008

The search for an agile, agile process

Agile is a great methodology, and applied right it can make your development process less like a black box, and more open to the stakeholders. It can do wonders for improving the reputation of your dev team with the rest of your org. 

However: 

There are a few things that make me nervous about the process, I have worked with it at Yahoo, and seen some the ways its original goals can become subverted. 

1. It can become the ultimate micromanagement tool, some aspects of agile are a PM's wet dream, being able to capture and track exactly the number of hours each team member spends on each each task in a sprint, gives the PM a unique view on progress etc. But it can also become very time driven, with team members feeling pressure to wrap up a task quickly to stay inside the timebox. It can make your team feel like a row of battery hens if not managed sensibly.  

I prefer not to assign tasks on a number of hours basis, rather on a complexity and resource basis, in reality the time element is only required to aid in the planning stage for sprint, to ensure they don't bite off more than they can chew.  Instead we will assign tasks to Tiny, Small, Medium, Large and Huge timeboxes. 

2. What is it with the obsession with statistics and graphs that most agile implementations seem to spawn?, if the process is consuming considerable time in itself producing statistics on a continuous basis, then it is not full-filling its aim. If we are spending more time on documenting the process and its progress than actually doing the work, then something is amiss, so for small teams with good internal communications, you should reduce the stats produced to the bare minimum. 

A good ticketing/issue tracker is an absolute essential, and if configured right should produce all the reports that are needed without the need to generate any by hand. 

Especially if the PM/SCRUMM master is themselves a productive team member producing work towards the sprint goals.

So i'm currently designing a bare bones, pared down, minimalist SCRUMM agile process for fav.or.it, one that hopefully wont hit the pain points listed above. 

I'll let you know how we get on......... 

Friday 11 July 2008

Working on fav.or.it

Wow, all i can say is that I haven't had so much fun for years, despite the shock of having to do a two hour commute each way, working at fav.or.it is turning into one of the most interesting episodes of my life. 

Im actually writing real code again, and you would not believe how good that feels. The crew at fav.or.it are great, and seem to take challenges in their stride, that would have other teams I have worked with scratching their heads, their enthusiasm for what they are doing is infectious. And they are all defiantly "can do" folks.  Nick has a great vision of what and where he wants to go, and we are working flat out to get there. 

And the product is great, in the two weeks I have been there, I have been thrust into the middle of a transformation of the site, what is going to come out the other end in a few weeks will be a top notch enhancement to an already top product. 

I am lucky having just come into the company after everybody has worked so hard to get the initial beta product launched and running, I can now help to shape the next set of iterations of the design.  Already we are adding some very cool features that will give our competitors a run for their money. 

Fav.or.it is kind of unique, on the surface it looks like any other blog aggregation product, but scratch the surface and a whole load of good stuff bubbles up, in fact the biggest challenge we will have is educating people that just because the product looks like other sites, that it is not, fav.or.it's big secret is its a two way portal, it does not just gather-up content for you to read, but it allows you to interact with that content, and distributes your comments back to the originating sites.  No more jumping around using different blog commenting  systems to spread your opinions and observations, you can do it all from one place, and there is more, fav.or.it will track conversations you are having on a host of sites and present them all in one easy to use reader/commenter. 

I used to be an avid digg reader, but since coming to work on fav.or.it I have hardly been anywhere near digg. 

Anyway stay tuned and I will describe some of the cool stuff we are doing with semantic analysis over the next few weeks.