Moral Obligations

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

Ed has posted an essay which he has titled "Y2K Survivalists, Safe Havens, and Bugging Out" on this site. I encourage all to read it. In this essay he brings up a point that he has apparently been getting hammered on, and that I have also brought up on this forum: Do those people with the skills to help fix Y2K problems have a moral or ethical responsibility to do so, even if they personally believe that their personal safelty requires them to retreat into some sort of safe haven? I would be interested in the opinions of those here.

Far be it from me, however, not to toss my own opinion in. For me, the answer is yes. I believe that if people are going to suck up the benefits of civilization (roads, bridges, schools, hospitals, the Internet, medicines, music, radio, libraries, etc.) then they have an obligation to that civilization that goes way beyond simply paying taxes. Vital skills should be shared in whatever way is possible. That is how civilized society was built, that is how it grows, and that is how it will continue. It doens't matter to me whether we are talking about doctors in case of plague, police officers in times of riot and other civil unrest, or programmers in the midst of the Y2K crisis. If you take, you should put back.

Now, would I say that Ed is shirking that obligation because he moved out of New York City and out to New Mexico? Not at all. Ed can have the same impact on society from New Mexico that he had from New York. The existence of this forum and the fact that he is working on a second edition of his book from New Mexico help prove that. In fact, he mentions that he actually may have a greater opportunity for impact where he is now than he did where he was before. Ed, if you in any way felt I was one of the people criticizing your actions, please accept my humble aplogies and assurances that this is not what I meant.

However, it is my belief that people with the necessary skills who simply pack up, move on and abandon their work simply because they see no hope or think their employer won't have everything up to snuff by Rollover Day are shirking that societal obligation. I've always believed in that Yogi Berra-ism "It ain't over 'till it's over." If people simply walk away from the problem as a whole just because they feel it to be too large in total, how many local problems will occur that otherwise might not have? How many people may suffer because a system that could have been remediated wasn't? If you can't save the world, might it not be enough to save one small piece of it?

Maybe I'm pig headed. (Okay, I'm definitely pig headed. Just ask my wife.) Maybe I'm a dreamer, or maybe I've seen too many movies where somebody does just enough to keep the ship from sinking in the end. I simply believe that every person who has the ability to give back to the society that had provided them with so much should do so, even when it is inconvenient or, yes, potentially dangerous for them to do so.

Let me put it another way: For those who would consider heading for the hills rather than stay and work towards a solution to Y2K, would you run away if the danger were to be an invading foreign power or would you take up arms and fight to protect your home, your neighbors and your country? If you would stand and fight, what is so different about Y2K?

Now, for the disclaimer: This is how I feel. This is my own personal take on the morality and ethics of the situation, and I have no wish to impose it on others. I can ask no more than for responders to be able to honestly say you have considered the issue and given it careful thought before posting. I dare say that there are those out there in the world who would not see this as a moral issue at all, and that is fine too. I do, but that's just me. I present my views for purposes of discussion only. Flame me if you want (and no doubt somebody will...) but I hope that the signal to noise ratio will remain high on this thread.

-- Paul Neuhardt (neuhardt@ultranet.com), July 14, 1998

Answers

It's almost like you are treating these programmers like Gods! They have an obligation to their family and to themselves first. Can you think of this Y2K problem as a plague?" What makes you think that it can be fixed? It's like AIDS, a new strain develops, it mutates, and no medicine can touch it. Just when they thought there could possibly be a vaccine, a quick fix, another wrench is tossed in. Maybe programmers do not have the expertise to fix all the thousands of programs out there. It's too overwhelming and I can see where frustration would set in. Maybe this Y2K plague is deserving on us. We lived the luxury. The CEO's got rid of human's and replaced them with a computer, and now they (the money makers) are whining for these same people to save their butts. These are the very same people that fired people. I saw it happen over and over and over! I was in corporate America at one time! The CEO didn't give a rats ass that the person they just fired had a family to feed, bills to pay. It was "here's your pink slip and lots of luck!" I'm all for the simple life anyway. No moral obligation as far as I am concerned for anyone to fix it.

What makes you think it can be fixed?

-- Barb-Douglas (bardou@yahoo.com), July 15, 1998.


Moral obligations to a company, bullshit. I had to fight tooth and nail to even get my company to start work on this issue. That was a year ago and if we would not have started then there is no way we would have even been close to finishing.

The only moral obligations one has in a crisis situation is to family, friends, and community, in all cases do what you can but always care for your family.

I have passed up numerous offers for money and position to ensure the one place I can have the most effect on this issue will get it fixed. I do this because I understand the issue. If the problem becomes so large I will not heasitate to put my "survival" plans into action. Make no mistake, the potential for problems does exist. The duration and severity is the only question. Stick around and place my family in harms way, no chance.

Y2K is different. It is a known problem. Business have chosen to ignore or delay Y2K issues. Tough cookies.

j

-- j (yada@yada.com), July 15, 1998.


'Moral Obligation' Obligation implies a contract. Their USED to be a contract between society and individuals. I am not sure it exists anymore.

Between individuals and employers there is only a contact on paper, if that. Most companies display not one shred of loyalty to their employee's, how can they demand loyalty in return?

I have the viewpoint that my skills and time are being rented for an agreed upon fee. That's it, no more. It can be ended at any time by either side, no questions.

Contract between society and an individual? I don't think it holds like it used to. If you break down on the side of the road can you expect someone to help you? If you are being mugged will someone step in on your side?

I think most people feel they must look out for themselves because no one else will.

Programmers are human, and must do what they see as right. Taking care of themselves and their families is right, no matter how you look at it. Staying to help a company that would just as soon fire them? What can you expect in that situation?

-- Art Welling (artw@lancnews.infi.net), July 15, 1998.


I was a programmer for several years, including such ancient languages as COBOL, FORTRAN, and many versions of the original BASIC and Visual BASIC. A friend of mind asked me to come back to the company I was with years ago as they are paying large bonuses for programmers now. I declined much to his suprise as when I asked one key question, he could not answer it; Where are they on solving the Y2K problem? He could not answer. The system adminstrator would not answer. The company, a large private transportation firm (in the top 10 nationally) refuses to provide any public information. My friend's insight is that they are 8 mos. behind schedule. No, I do not feel an obligation to return to this field. The politics and mismanagement of the MIS groups in large corporations is what drove me from working in the programming field in the first place. I will enjoy working for the small company that I have chosen, and yes for less money. But at least the population of the town I am moving to soon is less than 20,000 and over 50 miles from the nearest major population center. With that said, my wife and family will be taken care of first. I will make more friends, and hopefully our neighbors will unite with us if problems get that serious. I think they will. My friends tell me their projects are 6 to 8 mos. behind schedule. In the language of programmers, that really means 14-16 mos. And these are large private sector corporations!!!! If you are a programmer, post your company's status, without the company's name of course, and then do the translation. For every month that a project is behind at any corporation, usually that means they are really 1.5 mos behind. Let's hear the truth. Then let each individual judge on his own. Flame me if you want, but I have made my decision for the benefit of my family. The quote for this problem should be "Deal with it!", but in this field, that is much to original an idea. It's better to wait until you can squeeze it into the operating budget.

-- John Galt (jgaltfla@hotmail.com), July 15, 1998.

A good question, Paul, but I don't believe it is about morality, though. I believe it's about priority.

Where does one's loyalty lie? I believe that I am called to look: *first, to God, *second, for the safety and provision of my family, *third, for my community, and *fourth, for society as a whole;

Not the reverse order.

For one thing,it may well be impossible to work on program remediation in an environment of failed electric power and telecom. It certainly will be impossible to do such work in the middle of civil disorder if such takes place. For another, I question the amount of useful work an individual can accomplish when burdened with concerns for the safety of his family. After saying that, one answer would appear to be: establish a safe haven to use if (when?) you see breakdowns happening, but be ready to come back when order is restored and your work can be useful. Isn't this really what "Prepare for the worst, pray for the best," is all about.

You use police in a riot as an analogy. It's not a terribly good one......usually the cop's wife and kids are safe at home and it's only his life he's putting on the line. If you make a decision to stay, regardless of what happens, you've put family on the line. Do you owe society? Only you can answer that, but ask first if you owe your two little children? That's why I say it's about priority, not morality.

It certainly can't be an issue of corporate loyalty. America's corporate hero is "Neutron" Jack Welsh.....who rose to the top on the bodies of those to whom he demonstrated that corporate dollars are more important than loyalty. Am I called on to be loyal to the stockholders of corporations like this.....mainly other large corporations? I don't think so.

God Family Community then, and only then, society

-- Rocky Knolls (rknolls@hotmail.com), July 15, 1998.



Making plans to be able to clear out, and continuing to try your dammdest to make that unnecessary, are not mutually exclusive. You could, for example, install your loved ones in a safe place while continuing to work from a temporary pad in the big city that you'll abandon only if there's no alternative.

Also, programmers can telecommute (work on a computer system anywhere in the world from just about anywhere else, via the telephone net). Of course, if the phones go out then you lose your teleprogrammers, but then if *all* the phones have gone out fixing just about any other sort of business will have to wait anyway.

For the record, I agree with the sentiments expressed; I'm just pointing out that just because someone moves it doesn't mean they are giving up!

-- Nigel Arnot (nra@maxwell.ph.kcl.ac.uk), July 15, 1998.


I'll try to respond one issue at a time. This may take a copule of posts, so please bear with me.

Art said: "Contract between society and an individual? I don't think it holds like it used to. If you break down on the side of the road can you expect someone to help you? If you are being mugged will someone step in on your side?"

Nigel: So long as you maintin the fight, I don't see that it matters from where. If I gave the impression that I did, sorry. The issue to me isn't "will someone step in on my side if I'm being mugged" but rather "would I step in on someone else's side if they are being mugged?" Morality and ethics are not descriptions of the behavior of others. They are the basis for own own actions and behaviors. Big difference. (By the way, the last time I was broken down by the side of the road, someone stopped to assist within ten minutes. Yes, I was shocked, but pleasantly so.)

Rocky said: "A good question, Paul, but I don't believe it is about morality, though. I believe it's about priority."

So, exactly what do we use to set our priorities with, fortune cookies? Our own moral and ethical beliefs determine those priorities for us and are therefore the true driving force in these decisions. The other question I have is this: For most people, is there a significant difference between community and society? Let's face it, not many folks have a change to have a significant influence beyond their local community, but that's okay if enough people act locally. Enough local actions in enough places has very nearly the same net effect as global action.

Barb-Douglas writes: "What makes you think it can be fixed?"

One, the basic problem isn't rocket science. It's math, and comparitively simple math at that. The issue surrounding remediation isn't one of complexity so much as volume and access: There are so many places to fix that we can't do them all in time, and some of the places where there are problems may not be accessable (embedded systems on the sea floor, programs with no existing source code, etc.) Can it be fixed in all places? Doubtful. Is that really necessary? I don't think so. Will it get fixed in enough places for life to proceed reasonably normally? I believe so.

Two, the problem is an invention of man, and with the exception of long-lasting pollutants and radioactive waste man usually finds ways to clean up after himself.

j said: "Moral obligations to a company, bullshit."

Reread my post. I don't believe you will find the word "company" anywhere in it. This has nothing to do with company.

-- Paul Neuhardt (neuhardt@ultranet.com), July 15, 1998.


Paul,

I agree that you will not find "company" anywhere in your orginal post, but where else am I to apply my talents to fix the problem. I have choosen to remain with the company I convinced to fix the problem. I will fix the problem where I am at. What else would you have me do? I have tried to raise awareness with all I encounter. I am usually met with behavior I attempt to avoid with friends. I have been outcast and labeled a "nut" for dealing with this issue.

If this Y2K problem turns out to be a major pain in the butt, I am very comfortable with the actions I have taken to prepare members of society I am in contact with. Even if the Y2K problem turns out to be a minor blip on the meter, I have done more to prepare my company, friends, and family to deal with the issues than anyone else I know.

If Y2K is major issue, would you have me risk my family when I have already done all I can for my little corner of the universe.

thx,

j

-- j (yada@yada.com), July 16, 1998.


>If Y2K is major issue, would you have me risk my family when I have already done all I can for my little corner of the universe. <

Of course he would, remember, he has only 3-4 days of food and water at home. With an absolute commitment to the status quo, people like Paul will stop at nothing to keep the geeks at their monitors. Including I'm sure, a draft. What is fascinating is his insistence that programmers stay on the job combined with his assurances that this is not a REALLY big problem.

Below is a post from c.s.y2k that I would like to share. It is too large to post as one entry.

==================

Well with Y2K it really _is_ the testing, stupid! I always knew that testing was more than half the problem, but this has really hit home for me, now that we have reached the point that serious century boundary testing is about to begin.

For the last few months, we have been happily scanning and correcting a few million lines of Assembler code. Although extremely boring, it was also pretty easy (especially after I wrote a macro to handle the windowed date comparisons).

We even made the deadline for this task (the end of June) and everyone thinks we are well on schedule for the end run. Well, we're not. The only testing we have done in this phase has been "regression" testing for C-20. For the unwashed, this means that we just tested to make sure that we hadn't broken anything that works right now with dates in the 1900's. It's a simple process of running both the original and the modified programs on the same (production) data and then using another program (Comparex) to make sure the output files are identical.

This type of testing is OK (though not highly recommended) for a minor change to a single program, but it is _not_ appropriate for the large scale changes we have made to an entire system with hundreds of programs. In reality, we haven't tested _anything_ at the level which would be required by a competent QA department. We have had no sets of test cases to exercise all programmed functions, and nobody has prepared any documentation of expected results. And, of course, we haven't even begun to test for C-21 (dates after 2000).

I raised the issue more than six months ago, saying that we really needed to sit down together and brainstorm a testing plan. But it never happened. It was left in the hands of the one person who has been responsible for maintenance for the last few years -- the one person who knows "everything" about the system (no loud groans, please, he is a nice guy). But at a recent project meeting, when the issue of test cases was finally raised, he stunned everyone by saying "Oh, I thought the users were supposed to do that!"

Actually the users _are_ supposed to provide test cases for the later "enterprise" testing but, to stir the pot a little more, all they have so far produced is a list of the specific transaction types that they think should be tested. They had no idea they were supposed to produce actual test data, or expected results! But, anyway, they never were responsible for providing test data for the system testing phase, so I don't blame them.

The upshot of this is that we have remediated the code, but we don't have a meaningful test plan. It will take _months_ to produce one (if that _ever_ happens), but in the meantime we log our time on system testing and happily do relatively useless testing on aged data, with no idea whether or not our results are "expected" and with nothing to compare them against! Everything is reported "on schedule", although we are really months behind where we should be to get the job done.

So how did we get into this mess, and what can be done about it? I think a large part of the problem is the _age_ of the code, and it's past history of maintenance. This stuff was originally written in the 1960's and has been patched and plugged ever since, with a little tweak here and there but no major renovations. If there ever was any functional documentation it was never updated and has long since disappeared. There has never been a formal testing strategy, with formal test cases, and it probably wouldn't matter, anyway, because the bank doesn't have a fully functional QA department (although they have been trying for a long time).

The other part of the problem is what I call the maintenance mindset. Over the last fifteen years, as corporations have attempted unsuccessfully to downsize mainframe task loads onto PC's, almost all new mainframe development has come to a halt (which is one reason we are working on a 1960's system in 1998). During this time period, the really good superstar developers left for greener pastures where they could put their talents to better use. The ones who stayed in the mainframe field were the maintenance programmers, traditionally the second tier of DP talent. This worked just fine for the limited changes still being made to the systems, but it engendered a maintenance oriented organization which lacked the skill sets and techniques required for successful, large scale development projects.

-- Will Huett (willhuett@usa.net), July 16, 1998.


This is perhaps the main reason we don't have an effective testing plan. The people who kicked this project off thought of it as a simple _maintenance_ problem and honestly thought their usual tools and techniques would work for the most part. In fact, in spite of the basic simplicity of the underlying problem, Y2K is really a _major_ development effort affecting hundreds and even thousands of different programs. The sheer scale of this effort requires development style tools and techniques. In particular, from the very beginning, we really needed a proper testing environment, with subsets of all the master files, and a means of generating test transaction files and documenting and checking the output results.

Maintenance programmers don't have the skills to do this, and the development programmers brought on board to help don't have the knowledge of the system to do it quickly by themselves. We _should_ have documented the system first, at the very least in the form of data flow diagrams between the major components. But that never happened, because the maintenance programmers already knew the system, right?

Quite frankly, I don't believe that _anyone_ knows this system well enough to prepare test case/expected result scenarios for all of the system's functions, certainly not in the time remaining. Worse yet, from conversations with one of the enterprise level Y2K managers, all of the other application teams are in much the same boat (the SS Titanic?) and none of _them_ have a realistic test plan either!

So what will likely happen is this. We will continue our meaningless test runs, filing the output for some perfunctory examination by bank regulators who don't want to scare the public into bank runs, and everything will be reported as complete. But in January, 2000 many of these systems are going to _fail_ because they haven't been properly tested.

That's bank-wide failures, not just our system. And do you pollyannas really think we're the only data center like this? Do you really think any outside auditors are going to dig deep and call us on this like the GAO did with the Department of Defense? Do you think anyone is even going to _look_ at businesses that aren't regulated?

But even if the pollyannas were right, and we did get the testing done properly, it _still_ wouldn't matter because even after the very best testing there will still be failures. And the biggest problem of all in Y2K is the fact that the vast majority of these failures will occur in a single very short time span. As anyone who really knows this business will tell you, you _never_ put more than one system into production at the same time, because you know in advance that there will be _some_ problems with the new or modified code. These problems grow exponentially with the number of systems involved. But, effectively, we will be putting _all_ of our systems into "production" _all_ at the same time, January 2000, and without proper testing.

For Alfred E. Neumann's sake (what, me worry?), let's be _really_ generous and say that the failure rate will only be 7% (the metric for _simple_ program changes). Therefore, each system has a probable success rate of 93%. Let's be even more generous and say that there are only 30 mission critical systems in this condition (there are actually more). That means that the probable success rate for the bank as a whole would be .93 ** 30 = 11%. The chance of at least one mission critical failure, internally to the bank, is 89%. Them's is not good odds, folks, and in reality it's certainly _much_ worse than that, given the number of actual program changes.

Now think about similar failure rates for all of the bank's business partners, customers and vendors. Remember the Catholic chant? Who want's to play a game of Dominooos? (Monty Python, IIRC).

It's time to head for the hills. I don't think I, personally, can really do much more to avert disaster, and I still have preparations of my own to make. It won't be long now.

-- Will Huett (willhuett@usa.net), July 16, 1998.



Will,

So, let me get this straight. If I think it's a small problem, then I'm an idiot for saying "let's fix it." I hope you expect better from people like your auto mechanic or you'll end up on the side of the road an awful lot. Actually, I really hope you expect better from your physician or the next flu you catch might take you out.

If, on the other hand, I believe it's a big problem I'm an idiot for not bugging out and just letting a major disaster happen to folks when I might be able to lessen the impact. "Screw everyone but me and mine?" Is that your message? Let's be clear about this now, because it's important.

By the way, I'll be the last person you hear calling for a "draft" of people to work on the problem. The last thing these systems need is a bunch of poorly trained and unwilling people mucking around in them. If that were to happen, I would expect the overall problem count in the systems draftees worked on to go up, not down.

-- Paul Neuhardt (neuhardt@ultranet.com), July 17, 1998.


Oh, one more thing. I never said it wasn't a big problem. I just said it wasn't the end of the world, or even of our modern lifestyle. Big difference.

-- Paul Neuhardt (neuhardt@ultranet.com), July 17, 1998.

Paul,

Your initial post to start this thread wasn't about your decisions for YOURSELF, it was about how other people should sacrifice themselves for your vision of what it would take to solve this problem.

You went from the collective to the individual in your argument. That is a non sequitur.

You said first "I simply believe that every person who has the ability to give back to the society that had provided them with so much should do so, even when it is inconvenient or, yes, potentially dangerous for them to do so. "

You have no right to expect or demand that of anyone else. You really don't grasp the human aspects of this unfolding drama.

Next, you said "If I think it's a small problem, then I'm an idiot for saying "let's fix it."

No, if it is a small problem there is no need to discuss the "morality" of obligation to fix it.

You then said."If, on the other hand, I believe it's a big problem I'm an idiot for not bugging out and just letting a major disaster happen to folks when I might be able to lessen the impact."

Again, your ASS-UMPTION of the ability to fix this is only your opinion. Any qualified programmer such as the one in my earlier quote is free and morally obligated to follow his/her own conscience.

"Screw everyone but me and mine?" Is that your message? Let's be clear about this now, because it's important. -Paul

No, my message is protect your family first. The programmers aren't screwing anyone by doing that. THEY DIDN'T CAUSE THIS. The systems are broken, your opinion that they can be fixed in time and that this will not materially affect our life style are seriously divorced from reality, hence all positions you take after that are flawed.

When I spoke of a draft, I was talking about a draft of qualified programmers, not convenience store clerks.

One more thing, your constant assumption that anyone believes this will be the end of the world is silly. Believing that does simplify your rationalization, however.

-- Will Huett (willhuett@usa.net), July 17, 1998.


Moderation questions? read the FAQ