Diary of a Software Manager

The trials and tribulations of managing a development team

Archive for the ‘Scheduling’ tag

Agile Requirements in a Waterfall World

leave a comment

One thing I haven’t been able to wrap my head around since going Agile is how to give estimates when asked. And you will be asked. Sales likely isn’t going to care about your development methodology or it’s principles. They are under pressure from existing or potential customers who want a date attached to projects.

But doesn’t the whole Agile thing teach us that you can’t estimate with any accuracy until you break down all the work into stories and TODOs? You obviously can’t waste your teams time breaking down every single request you get. They would never develop anything. So what do you say to the sales folks? We don’t estimate until much later in the process? See how far that gets you.

I read an interesting post about this topic recently. The argument here is that since your estimates get more accurate as you break the work down into stories and tasks, you need a  scale for estimates. The suggested scale looks like so (Certainty level – Estimate Technique):

  1. Agile Task – Hours
  2. Agile Story – Story Points
  3. Agile Epic/Theme – T-Shirt Sizes

So for those roadmap items you’re forced to give estimates for, use the T-Shirt scale (or a similar one). The explanation I attached was:

  • S = hours
  • M = days
  • L = weeks
  • XL = months

Written by B

March 27th, 2010 at 1:21 am

Posted in Uncategorized

Tagged with , ,

The importance of requirements

leave a comment

Lots of times, I get a requests from sales like:

Customer X wants a report that lists each external link a user clicks on

Seems pretty clear. I had this exact request recently and we started developing BEFORE talking to the customer. I said it would take a couple days of development time and since it was an important customer, we started developing right away.  When we sent an example report over, and the customer replied:

We said we wanted a report of advertisements each user clicks on and how long they spend watching videos

The first thing to recognize is that sales does not understand the technical details, nor should they take the time to do so. Their job is to sell, your job is to gather requirements and schedule the work, the developers job is to develop. You’re playing telephone here. We know this request has been relayed at least once from the customer to sales to you.

Even if it seems like a small task:

  • get the client on the phone
  • make sure the appropriate technical people are involved
  • agree on the requirements
  • send out an email detailing the requirements so everyone has them

Written by B

March 27th, 2010 at 1:00 am