17 June 2004


The Wrong Way To Re-Engineer a Database


Every now and again something interesting crosses my path.

A friend of mine works for the Department of Corrections. She’s part of a group that is tasked with keeping track of convicted criminals who are under conditional sentences. Some of them are under home incarceration, some of them are under parole and have to check in on a given schedule, etc. Every city has one of these departments, and they’re very busy.

Naturally, each city department needs a way to keep track of who they’re dealing with and what’s happening with them. The logical way to do this is to create a database which stores the information you want to track. Thus, each city department has a little database that it uses to store convict information. The system works and it works reasonably well, but someone up in the upper echelons of the Department of Corrections noticed something very interesting and decided that it required action.

You see, each of the different departments are using a different database. When the Department of Corrections realized this they decided that this was an intolerable state of affairs and that it would streamline operations enormously if all of the departments in all of the cities were drawing their data from the same system. I will give them credit for this much: the idea itself is quite logical.

Now, if I had been in charge of the project I would have done two things. First of all I would have had a look at the databases that the individual centres were using and crafted mine to work as close to the same way as theirs as I could manage, and to gather the same kinds of information. The second thing that I would have done is made sure I had a way to import the data from the older, individual systems into the new system. This would eliminate the need to manually re-enter information for every single convict and would have made the database usable that much more quickly. When I was designing the database for the Mechanic’s Shop at Red’s I used this approach and it has worked out quite well.

For the life of me, I do not think that I will ever understand why the Department of Corrections decided to proceed in the manner in which it did, but that’s okay. I don’t have to understand it. I just have to report the consequences.

The person or persons assigned to create the new database designed a product that would store all of the different kinds of information that each of the individual departments were gathering, but that’s about the only thing that they did right. For some bizarre reason the new database doesn’t have any provision for importing data from the old databases. When the members of the department who were going to be using the database asked why the answer they received was very simple: despite the fact that each individual database was designed and built by a member of the Department of Corrections assigned to work with that particular unit, the individual products were not produced by the Department itself, therefore the Department wanted nothing to do with them. After all, they have no way of knowing what the individual developers did to their individual products, so better just to avoid the whole issue, yes?

Of course, the immediate consequence of this decision is perfectly logical and easily predictable: each individual department must now manually re-enter all of the information for all of the convicts that they’re responsible for tracking. Naturally the unit wasn’t too pleased with this turn of events, but the Department had an answer for that. Any time they came across a convict who wasn’t in the database, then they were to inform the convict’s parole officer and he would be responsible for re-entering the convict’s data.
All this is bad enough and, by itself, was sufficient to create a situation that, while manageable, was poised on the very brink of becoming a crisis. Were it not for the occurrence of one other unfortunate and poorly timed event the there is every possibility that the situation could have recovered itself.

The Department of Corrections announced to the members of the local unit recently that, due to budgetary concerns, the unit was going to be disbanded. All of the members of the unit who were unionized would be guaranteed to receive employment in other divisions. Those members of the unit who aren’t part of the Union can look forward to unemployment, with our apologies.

As soon as this was announced, on the heels of the database fiasco, all hell broke loose. The Unionized members of the unit, in protest over the closing of their unit, flat out refused to have anything to do with the process of making the new data collection system work and have been doing everything in their power, short of actually walking out, to impede the efforts of the Department of Corrections to deploy the new system and work out all of the bugs. For example, anytime a convict is located who is not in the database, his parole officer is not informed of the necessity of entering his information to accommodate the tracking system. In fact, the Unionized staff are so committed to this protest that there is actually a certain amount of low level terrorism occurring. They have taken to complaining to their superiors about any non-unionized members of the unit who actually try to help in making the new system work. As a result of the complaint the non-union worker suddenly finds themselves with no hours. They’re not fired, they’re just not given any shifts.

Now, between the troubles with the database and the low level terrorism, what was once a recoverable situation stands a reasonable chance of degenerating into a full blown crisis.

You see, the troubles with the database were enough to throw a wrench into the monitoring schedule of the unit. As a result a lot of home calls and home visits weren’t being done when they were supposed to be, so the convicts weren’t being monitored. This promised to be a temporary concern, as long as the unit cooperated in sending the appropriate information to the parole officers.
However, as soon as the budget cuts were announced the low level terrorism began and the unit stopped cooperating with the parole officers. This resulted in a system in which convicts weren’t being monitored at all. In other words, there are hundreds of convicted criminals on conditional sentences roaming around the city with no oversight at all. Can you say potential crisis? I thought you could.
Personally, I find several problems with this whole affair.

The issue of the methodology used to design and implement the new database can be written off as a simple engineering disagreement. The attitude of the Department of Corrections that the old databases were effectively persona non grata is somewhat draconian, in my opinion. However, I can, from a certain point of view, understand their concerns and I can’t fault the fact that they actually took steps to deal with those concerns.

As for the actions of the Unionized members of the unit, I find those to be more than a little childish.

I’ve always believed that employment in Law Enforcement of Corrections carries with it a certain moral obligation in much the same way that service in the Military does. That moral obligation requires, on occasion, that you put your personal feelings or concerns behind you and do what you need to do to protect the citizens of your community. If that means doing your best to cooperate with a Department that intends to close your unit and abolish your position, then that’s what you do and that’s all there is to it. This business of low level terrorism and job action in an environment where you’re dealing with dangerous criminals is sheer bullshit and, I believe, should be punishable. But that will never happen because Unions exist to enforce a very one sided version of fairness that does everything to protect the employee but nothing to protect the community in which the employee works. While I freely acknowledge that there are times and places where unions are good and necessary, in this instance I believe that union politics are perpetuating the basic problem that is allowing this situation to continue largely unresolved.

Now that I’m done preaching it’s time for a little perspective. Everything that I’ve told you about crossed my path more than a month and a half ago. Why did I delay in bringing it forward? Simple, actually. I didn’t want there to be any chance for this piece to jeopardize my friend’s position in the Department of Corrections until after they had a reasonable chance to resolve things. Given the fact that I have a small and somewhat limited readership, you might think that this concern is somewhat paranoid on my part, but I’ve been bitten before by things that I’ve written and I wasn’t willing to take any chances.

Now, I mentioned before that I wanted to give the Department of Corrections a fair chance to resolve the problem on their own. My encounters with my friend since she told me of this have been few and far between so I have not recieved an update on their progress in fixing things. Given her few comments on the subject on the occasions when we have met I feel pretty safe in concluding that not a lot of progress has been made. But again, that conclusion is based entirely on inference and could be wholly inaccurate.

If the Department of Corrections has resolved this situation, then I applaud them. If they haven’t then I believe that the blood of every single citizen who is assaulted or killed by one of these felons rest solely on the hands of the unionized members of this unit who ignored their moral obligation to assist the Department of Corrections in spite of their personal feelings on the matter. I hope that they can live with themselves for this one.

Hosted by www.Geocities.ws

1