Friday, November 2, 2007

More Requirements

Today, we have a system in place that provides users with a ranked list of worker assignments for a job. It's pretty good at coming up with a useful list, but it's a little slow and "mysterious. "


Users want to know why the system gave out the suggestions it did and why it didn't give out some other seemingly obvious ones. Our support team fields questions like this all the time:

  • I know there's a worker right around the corner from this job site. Why didn't the system put him on the list? Possible Answer: This worker doesn't have the proper certification to do a job of type X.

  • Why was Worker A ranked lower than Worker B? Worker A hasn't done a job for a bit, but Worker B just completed one. Possible Answer: Worker A was too far away from the job site and would have to start work late.

  • What are the differences to the business between selecting Workers A, B, and C? Is one choice more profitable than another one?

So, the new system will be required to explain itself. Why did it select and rank the workers as it did? Why did it not select some seemingly obvious workers? And, what are the key attributes about potential choices that affect the business?