Terminally Incoherent

Utterly random, incoherent and disjointed rants and ramblings...

Tuesday, December 27, 2005

How to talk to users?

I wrote a small app for my company, that let's them review and score Audit Reports via web based interface. The application is WIMP based, and fairly stable at this point.

Now my boss wants me to automate the procedure of receiving the reports from field Auditors, and tracking it's progress through the review and billing. Seems easy. I already scoped out the specs, and talked to the users. Their current procedure is a mess. It goes something like this:


  1. Person A Schedules exams using a Scheduling Spreadsheet

  2. Person B goes through the scheduling spreadsheet and generates another spreadsheet with the exams due each week/month/whatever

  3. Person A or B or C receives an email with attached exam from an Auditor, and stashes it on the network share (and possibly notifies person B)

  4. Person B updates her spreadsheet

  5. The file is then picked up by a reviewer D, and high level reviewer E (which is somewhat covered by my current app.

  6. The report is then sent out to the client, and person B moves it to the billing spreadsheet



The Scheduling document is un-parsable. It is essentially a grid. Horizontal axis represents a date, and the vertical axis lists auditors. The intersection gives you what given person is doing on a given day. Potential values are "Available" or the name of the scheduled assignment.

The report tracking spreadsheet is actually nice. It has well defined columns such as start date, end date, submission date ,review date and etc... How do you get these dates? You scroll around the scheduling document till you find the first and last cell of a given assignment. Essentially my Person B spends 2-3 hours every other day, simply flipping between these two documents, and copying and pasting data. It's a waste of time.

I could automate that, and link it up nicely with my reviewing system. I could track each report from the moment it is scheduled, through the review and evaluation process, down to billing. I already have the infrastructure in place. What is my problem then? Both person A and person B really like their spreadsheets. They hate maintaining them, but they can't imagine their life without them. So they would both like to use them and just have them automagically updated when the reports are in.

Now, generating the tracking document is a piece of pie. Since I could automate most of the stuff that happens to the actual files (and remove the necessity to email them around) I could easily eliminate all the work involved in maintaining that thing. But to do that, I need to have up-to-date scheduling data in the database. But I just don't see my user A happily switching to some web based, or non-excel driven interface.

I was actually asked "what is the difference of having the schedule in a database as opposed to a spreadsheet?" How do I explain data parsing to a non-technical user (preferably in one sentence or less)? Especially if in that user's mind database == arcane magic, and excel == easy? I have no clue how to do this without breaking into a lecture on data management, and database design principles.

Anyways, I decided to move forward with the design and do most of the stuff in PHP assuming that somehow I will get the scheduling data into the db. After I have the whole app working with a web based interface, I will try to figure out how to parse that damn schedule. There is some data in there, so if I bend over backwards, and stand on my head I should be able to extract something borderline useful :P


0 Comments:

Post a Comment

<< Home