C
ccc31807
We have an institutionally critical process that consists of a back
end (getting data from various sources and creating input files to
generate the documents) and a front end (preparing and sending the
documents from the input files.) We do this multiple times a year, and
it's task based, with single individuals performing multiple tasks
(from one to about six), and it generates hundreds of task documents
institution wide. Several years ago, I wrote the back end, and it's
worked perfectly.
A month or so ago, I was given the front end process as well. The due
date was Tuesday a week ago, nine days as I write. It was a week late,
I finished it last Tuesday, a week late. (I had to wait on input from
other people to finish the job, and they were tardy getting back to
me.) About 3:00 p.m., I got a call from the manager in charge who told
me that the software wasn't doing some of the documents correctly,
some weren't prepared at all and some were prepared wrong. Four
documents were affected out of 489.
After looking at it, I saw that the problem was the some tasks could
also be performed by multiple individuals, and my scripts only allowed
for tasks to be performed by one person. (The main database we use
contains a 'task' table, with one row per task and the individual
responsible for the task. It doesn't not contain information about
multiple individuals per task.) To correct the problem, I literally
had to start from the very beginning -- the first problem is that the
data now has to come from two tables that do not share a common key --
and revise the database queries, data formats, data structures, etc.
I griped (to anyone who would listen) that this requirement to
generate task documents accounting for tasks to be performed by
multiple individuals was a critical functional requirement, and I
DIDN'T FIND OUT ABOUT IT UNTIL THE SOFTWARE WAS A WEEK LATE!
It wasn't that this requirement wasn't known, these documents have
been generated for years, the manager wasn't aware of the details, it
just worked, and assumed that I knew the details. The guy who did the
front end had his methods for accounting for this requirement, but he
wasn't available. I'm guessing that he made the corrections manually,
but he had access to sources of data that I do not have.
It mystifies me that a critical requirement of this nature wouldn't be
specified until after the software had been written, and when the
software was already late. Apparently there's some universal law that
states this, but I don't know what the law is, or why the law is.
I know what some on c.l.p.m. will say -- don't correct the software
but comply with the wrong requirements, or get another job, but these
aren't realistic.
I'm just blowing off steam, decompressing. I've been pretty beat up
over the last three weeks, I'm about to take the rest of the week off,
and I just wanted to relate my experience. Thanks for listening.
CC.
end (getting data from various sources and creating input files to
generate the documents) and a front end (preparing and sending the
documents from the input files.) We do this multiple times a year, and
it's task based, with single individuals performing multiple tasks
(from one to about six), and it generates hundreds of task documents
institution wide. Several years ago, I wrote the back end, and it's
worked perfectly.
A month or so ago, I was given the front end process as well. The due
date was Tuesday a week ago, nine days as I write. It was a week late,
I finished it last Tuesday, a week late. (I had to wait on input from
other people to finish the job, and they were tardy getting back to
me.) About 3:00 p.m., I got a call from the manager in charge who told
me that the software wasn't doing some of the documents correctly,
some weren't prepared at all and some were prepared wrong. Four
documents were affected out of 489.
After looking at it, I saw that the problem was the some tasks could
also be performed by multiple individuals, and my scripts only allowed
for tasks to be performed by one person. (The main database we use
contains a 'task' table, with one row per task and the individual
responsible for the task. It doesn't not contain information about
multiple individuals per task.) To correct the problem, I literally
had to start from the very beginning -- the first problem is that the
data now has to come from two tables that do not share a common key --
and revise the database queries, data formats, data structures, etc.
I griped (to anyone who would listen) that this requirement to
generate task documents accounting for tasks to be performed by
multiple individuals was a critical functional requirement, and I
DIDN'T FIND OUT ABOUT IT UNTIL THE SOFTWARE WAS A WEEK LATE!
It wasn't that this requirement wasn't known, these documents have
been generated for years, the manager wasn't aware of the details, it
just worked, and assumed that I knew the details. The guy who did the
front end had his methods for accounting for this requirement, but he
wasn't available. I'm guessing that he made the corrections manually,
but he had access to sources of data that I do not have.
It mystifies me that a critical requirement of this nature wouldn't be
specified until after the software had been written, and when the
software was already late. Apparently there's some universal law that
states this, but I don't know what the law is, or why the law is.
I know what some on c.l.p.m. will say -- don't correct the software
but comply with the wrong requirements, or get another job, but these
aren't realistic.
I'm just blowing off steam, decompressing. I've been pretty beat up
over the last three weeks, I'm about to take the rest of the week off,
and I just wanted to relate my experience. Thanks for listening.
CC.