Fog Creek Software
g
Discussion Board




Post-deployment stress

There is really no point to this post other than venting a bit of frustration.
In early January I finished and deployed a webapp for a client. They found it to be working according to our agreement so they filled it up with data and I sent them a bill which they paid. All is well so far. Actually, things are still well I suppose.
Its just that the other day I logged on to the app just to see if everything was allright and it is not. One of the users is basicly destroying data. I wont go into details of the app, suffice it to say he is shoehorning thingummies into the widget tables and widgets into the thingummy tables.

This isnt a design error on my part and the rest of the users get it and like the app very much. Besides, most of the data is backed up, so, I should feel cool about it.
But I dont.
Im worried that they will blame me. Im worried that the app will break down and they will stop using it. Im worried that they will ask me to somehow fix the thing and I wont be able to decline. I also feel kind of sad that this one dude is absuing my creation.

Oh well.. Im just venting. Anyone else ever feel like this?

Eric Debois
Saturday, February 28, 2004

Everything you're worrying about will indeed happen.... but that's normal, the users always find a way to mess it up no matter how much idiot-proofing you put into it, it's part of the job.

But you need to contact them and let them know what's happening, and either retrain the user or work on a patch to prevent it. They're far more likely to use you for follow-on work and enhancements if they use it a lot and know you'll fully support it.

Ron
Saturday, February 28, 2004

Interesting.  I have a program that does some statistical analysis using a paper form that's been filled out by social service workers for years.  (Bear with me; this is relevant to your case.)  This paper form is, of course, one of dozens or hundreds these workers come in contact with during the course of their jobs, and every last one of them (the forms, not the workers) is Really Really Important because it's required for compliance with some grant or another.

Even on a simple form (twenty questions scored 1-5, with painfully clear scoring criteria), we've seen some really creatively screwed up forms.  They pick a number from 1-5 and draw a line down one bubble for all 20 questions (the cleverer ones fill in the same bubble for all 20 so it looks like they gave it more than two seconds' thought), they score a given question both 2 *and* 3, et cetera...

But now that the software lets their agencies analyze the data, it very quickly becomes *glaringly* apparent when someone hasn't been filling out the form properly.  (Especially when the app is used in a meeting with evaluators, directors and line staff all in the same room, and line staff see that someone really is looking at their work.)  Basically, the app turns the usual one-way workflow process (fill out the form, toss it in a file somewhere, it's never seen or heard from again) into a feedback loop.

Contacting the agency is a one-time way of completing that loop.  Next time, maybe there'll be a way to design the software to explicitly support that same process, which makes everyone's lives better.

Sam Livingston-Gray
Saturday, February 28, 2004

"Im worried that they will ask me to somehow fix the thing and I wont be able to decline."

What does your contract with this client look like? Does it specify the amount of time you must support the web app?

If not, you might want to contact this client and let them know about the "bad data" and offer your services for a fee. Below, are few ideas you could pitch to them:

* A maintenance contract
* Make the web app idiot-proof
* Train the end-users

One Programmer's Opinion
Saturday, February 28, 2004

Hi hi.. I was in a perfectly good self pitying mood, but you guys just had to go and be all productive on me.

Well, I've mailed them about it.

Sam > Interesting thoughts on the feedback loop.

Eric Debois
Saturday, February 28, 2004

What's wrong with just telling the manager over there that one employee is not using the app as intended, and that this may/might break things? Considering that all the other users seem to get it, I don't think the manager will blame you.

Fred
Saturday, February 28, 2004

Unless the "bad user" *is* the manager.

Anon-y-mous Cow-ard
Saturday, February 28, 2004

they wil say: "fix it, it's your problem, you put that feature in so you can fix this issue and get more money out of it.f


Saturday, February 28, 2004

You have done the correct thing in emailing them. What you should also do is offer them some training and approach it in a positive way. You are offering them something to help them, not to show they're dumb.

By the way, at the design level, you should have detected data types during input and prevented bad data being inserted.

Must be a Manager
Saturday, February 28, 2004

Must be a Manager:  Type checking alone is not sufficient to ensure that data in a table is correct or meaningful.

Sam Livingston-Gray
Saturday, February 28, 2004

All the data is must be correctly formated and resonable. The problem isnt the integrity so to speak, its that the data is plain wrong. The wrong names in the name fields, the wrong descriptions in the description fields, the wrong dates in the datefields.

But! I recieved a reply to my email. Aparently they are all well aware of the problem, and managment suspects that the guy is deliberatly trying to screw things up.
Turns out, he was caugt pornsurfing in september and his manager has been trying to fire him ever since, but hasnt be able to because of employment laws and stuff with the union. So now he is trying to get back at them.

Sad (and weird) as that is, it makes me feel kind of relieved.

Eric Debois
Saturday, February 28, 2004

Sam, I said to prevent bad data being inserted, not to perform type checking.

Type checking is what a dumb person would do. Understanding and filtering input data is what a smart person would do.

Must be a Manager
Saturday, February 28, 2004

Even if you filter for bad data it would be almost impossible to find someone entering first name/last name as Smith/John or Jones/Bill.

Dates are also a problem. Is 04/02/27 an incorrect date value?

One thing I really hate about this board is all the asshole junior programmers that jump in and criticize other people's work as being dumb or badly designed.

Must be dumb
Sunday, February 29, 2004

Right.

Must be a Manager
Sunday, February 29, 2004

Must be Dumb:

One thing I hate about this board is developers who think they have no responsibility to couteract bad users.  None of us have enough information to say if this problem can be solved but I think we developers are far too quick to say "The program is right but the users need to be trained to use it properly".  Some training is always necessary but a good developer can minimize the amount of training necessary.

name withheld out of cowardice
Monday, March 1, 2004

As Eric stated, the rest of the users do not have a problem with the application.

There is a limit to the amount of reasonable development effort to solve a people problem.

Must Be Dumb
Monday, March 1, 2004

*  Recent Topics

*  Fog Creek Home