Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Are we our "Brother's Keeper"? 5

Status
Not open for further replies.

BJCooperIT

Programmer
May 30, 2002
1,210
US
There is a thread in the Oracle forums:
in which the poster asks a how-to question. The design of the poster's system was called into question (and rightfully so) by one of the MVPs. The poster then responded that he was stuck with it because "thats apparently the way the powers that be want it". The MVP declined help due to faulty design, but I did show the poster a simple how-to.

As a consultant, I have been in the position of having to make something work even though the system was poorly designed or badly coded. I also try to offer analysis on the problem. Sometimes the analysis is appreciated, sometimes it is not. Often the resolution is financially/politically motivated and there is no alternative other than to patch it up as best as possible and walk away.

After voicing concerns, is it our responsibility to withhold technical advice if we feel that the poster is going astray?

[sup]Beware of false knowledge; it is more dangerous than ignorance.[/sup][sup] ~George Bernard Shaw[/sup]
Consultant Developer/Analyst Oracle, Forms, Reports & PL/SQL (Windows)
Author and Sole Proprietor of: Emu Products Plus
 
I think the answer like most ethical questions is yes and no. While I too have been in the position of supporting unwise management decisions, I can easily condone those that wish to not contribute to the further propogation of such poor decisions. By facilitating the questioner in doing things the wrong way, are you helping them? Again, I can condone either side of this question and accept that it is a personal choice whether to help or not.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
==> is it our responsibility to withhold technical advice if we feel that the poster is going astray?

In the Tek-Tips environment, I don't think it's a matter of responsibility either way. It is simply a matter of choice.

Yes, we often have to "play the hand we're dealt" regardless of the cards, but often choosing a good line of play can be time-consuming and require investigation of some clever approaches that via the Tek-Tips medium, may not be practical. It may not be a matter of withholding technical advice, but one of not having any advice to give, given the situation as is, especially from a distance.

--------------
Good Luck
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
I have been on both ends of it. i have had to make systems with poor designs work and i have choosen to help people with poor systems designs. i believe those with knowledge should help those who want to learn.

i did not read the thread so i am going off your summary. i would alert the poster to the poor design and offer an alternative. if that design had to be used, then i would offer the best advice i could. Its each person choice to help or not but i would think that penalizing a person because of a poor design choice is equally bad. sometimes you cannot choose.

the majority of poor system designs i have seen are a result of politics. on one the system designer was new to everthing and the golden boy of the CIO(still not sure how, he was a moron) so we had to stick with it. On another, the PM who wasnt really part of IT but was part of Sales designed the system without any input form anyone in IT. Sometimes you just have to do the best you can
 
The solution is to say that it's a poor design, that there are many *better* ways to design it, and that he can ask to see better solutions.. But give him the answer to his problem, since he's asking..

-Haben sie fosforos?
-No tiengo caballero, but I have un briquet.
 
As I stated, I believe it is a personal choice. There should never be an a priori duty to give a solution simply because the question was asked.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
We all make a choice when we decide whether or not to answer a question. Hopefully we use some common sense before making that decision. There are a number of factors to be considered. Just a few include:

1. Should this question be red-flagged?
2. Do I know the answer?
3. Do I have the time to post a reply?
4. Can a forum MVP answer this better than I?

Please remember, this is the ethics forum. Is it ethical to provide/withhold an answer when the design is faulty?

[sup]Beware of false knowledge; it is more dangerous than ignorance.[/sup][sup] ~George Bernard Shaw[/sup]
Consultant Developer/Analyst Oracle, Forms, Reports & PL/SQL (Windows)
Author and Sole Proprietor of: Emu Products Plus
 
Given two facts:

1) A question is asked regarding propogating a poor coding/design practice.
2) I know the answer to the question.

I believe that my ethical duties go no further than:

1) Pointing out that the pratcie being used in poor.
2) Showing how to accomplish the same goals using better practices.

Beyond that, if through dialog I feel that the questioner would be somehow adversely affected by me not providing a poor practice answer, then I may choose to give a poor practice answer, but I don't feel that I am under any ethical compunction to do so.

NOTE: I feel that these ethical constraints are purely a result of my voluntary participation in these forums and do not in any way reflect some industry wide professional ethical obligations.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
Firstly, I don't think whether someone is an MVP should have any bearing on the situation whatsoever, nor should it be a factor in deciding whether or not to answer a question, or whether or not to get involved in a thread down the road.

==> Is it ethical to provide/withhold an answer when the design is faulty?

Having read the thread, and responding in the context of that thread, I don't see an ethical issue from either the original poster, or from any of the respondents.

--------------
Good Luck
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
First, let me say that Barb (BJCooper, Original Poster (OP) of this thread) is one of my most admired colleagues on Tek-Tips, both technically and ethically. She is the epitomé of selflessness...always willing and able to help our Oracle collegues in need. And this case is no exception: Barb posted a simply elegant, elegantly simple solution to the OP's problem. (See thread186-1127556 for full details.)

Second, I am the Oracle dude that is reticent to enable the OP's misguided approach.

Third, I must admit that I did not see Barb's excellent post before I posted my most recent (possibly inflamatory) reply to the OP. Without seeing Barb's solution, my post may have appeared to impugn the reputation of anyone willing to post an enabling solution for the OP, and thus (unintentionally on my part) criticizing Barb's post. Nothing could have been further from my intent.

I am not looking for absolution from my behaviour, but I would like to present my rationale for my response(s) to the Oracle thread so responders and readers of this thread can have a full disclosure on my implied "ethics" (or lack thereof) in this case:

1) I pointed out the technical reasons why the OP's situation is flawed.
2) I disclosed methods to remedy the flaw with about 1 minute of coding, one minute of execution time.
3) If the OP chose not to implement my remedy, I requested from the OP a "business reason" for the flawed approach.
4) The OP responded basically, "This is the way The Powers That Be" want it.
5) I asserted that that is not a business reason for a bad design/implementation and wanted him to revisit the need for a business justification for the bad design.
6) I also asserted:
SantaMufasa said:
...unless "The Powers That Be" are your Technical Review Committee and can show Business Cause for (the poor design), then non-technical "Powers That Be" absolutely, positively should not be giving you advice on how to build your system. That's similar to me telling my trusted auto mechanic how to repair my car.
Basically, IMHO, business managers should not be dictating/demanding bad technical designs and implementation for their applications...the must trust their IT people (or fire the IT staff and then take their places).

7) My purpose in the exercise was to assist the OP in understanding that there should be good business reasons to override sound technical judgment; non-IT personnel should not be interferring with sound IT decision any more than IT should interfere with sound Finance, Marketing, or Sales decisions; and "Because I said so" is not an adequate Business Justification for bad technical decisions.

The bottom line for my postings was "If you can correct a bad flaw and achieve your business objectives with 2 minutes worth of remedial actions, then you should do that. Resultingly, I'm not going to enable propagation of the technically aberrant behaviour."

If I'm being unreasonable or unethical, then I apologise...we may need to just write my behaviour off to my occasionally being "an ornery old coot", but given similar circumstances, I'd probably do it the same way again (except that I'd look for other posts from fine colleagues before expressing inflamatory comments.)[blush]

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[ Providing low-cost remote Database Admin services]
Click here to join Utah Oracle Users Group on Tek-Tips if you use Oracle in Utah USA.
 
Dave,
Actually, after I read your comments I questoned my post, not yours. I wondered if I should have provided a solution or taken your moral highground. I hate to provide any newbie with the tools to propagte mistakes, but isn't that how we all learned?

CajunCenturion ,
The MVP factor is simply that, in the Oracle fora, I know that Dave can always provide excellent code with the knowledge and explanations to backup his stance better than I can. I am sure he, also, would leave the Oracle forms & reports questions up to others if he thought they could provide better solutions.

[sup]Beware of false knowledge; it is more dangerous than ignorance.[/sup][sup] ~George Bernard Shaw[/sup]
Consultant Developer/Analyst Oracle, Forms, Reports & PL/SQL (Windows)
Author and Sole Proprietor of: Emu Products Plus
 
Are we our brother's keeper? Yes.

Let me just answer with my approach for technical questions:
1) Usually if I see something that sticks out as bad design, I say so. It's amazing the amount of bad design that is out there, really. And by "bad design" I mean, a bad design approach, or what I see more often, a bad choice of tools for the job.

Why these "bad designs"? You'd be surprised at the politics that go on. I found out one time that a lot of the "bad design" decisions on tools came from the red tape management setup. In writing a program, it ended up requiring three times more effort just to get through the red tape than to write, document, and test the program itself. So off-the-shelf utilities get bent and shaped to solve problems they were never meant to solve (no red tape there!).

So what I usually end up seeing when I go into technical fora on this site and others is questions where people try to bend the use of regular utilities to solve the problems. Now do I answer these questions? Often times, I don't for that very reason - it becomes foolish to try to solve problems with tools that weren't designed for those problems (and I point that out if I do respond). And the funny part about it too is that these utility makers update their packages to HELP this process. Only problem is that these "utility solutions" take more time anyway, and leave the company prone to the "hit by the bus" scenario we described in the "rogue IT" thread.

As far as design decisions go, usually those are set in stone with the person posting having no "pull" to change those design decisions. A good example from back when I was working: A typical process in a system we had required navigating 7 (yes SEVEN!) tables to access 5 (yes FIVE!) fields. Now this process happened in 99 out of 100 attempts. Now if I were to post to a technical forum about it, I might get that "this is a bad design" response, but 1) I know it, and 2) I can't do anything about it. The worst thing I know from experience is to try to work with a system cobbled together with a bad design in it from the start.

I can warn them if I happen to post to the thread, but it's still their decision if they walk off that cliff.
 
BJCooperIT - I understand and agree with the respect the you afford SantaMufasa. My point is that it has no bearing on the ethics of the situation. Whereas he has chosen not to proceed because of the flawed design, that doesn't mean that you or anyone else should.

==> It's amazing the amount of bad design that is out there, really. And by "bad design" I mean, a bad design approach, or what I see more often, a bad choice of tools for the job.
Indeed, how correct that is, not just from politics, but also from the sheer incompetence, ignorance, and ego of both senior IT staff, and higher authoritative positions. I'm sure we all agree that management should not dictate and demand poor designs, but in reality, it happens quite regularly. The programmer in the trenches may have done due diligence and presented a case to the "powers that be", even providing recommendations.

At the end of day, the "powers that be" will deal the cards, and the programmer has to play the hand that is dealt. We can choose to help him or her play that hand, or not. I do not believe that we are our "brother's keeper", because we do not have an obligation to help. What we have is an opportunity to help.

--------------
Good Luck
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
I say we help the OP work on the less-than-optimal route.

In the interests of keeping Tek-tips friendly to visitors and promoting our site as the best place to go for questions, I think we should help them piece together a solution whenever we can. Lovell, Haise, and Swygert would have died on Apollo 13 but for the engineers who made the square peg fit in the round hole... I think you can make the logical leap here to our situation.

If I were the OP, and I was told that the design was flawed, but no one was willing to help me because I wasn't allowed to change this design, I probably wouldn't be back here. Ever.

The only ethical obligation I would see here is for the responders to state the fact that there are better ways to do it. Since they already told the OP this and can't change the design, there's no harm in helping someone solve the problem with the IT equivalent of coat hangers and duct tape.

Ben
The ships hung in the sky in much the same way that bricks don't. - Douglas Adams
 
Ben,

I agree with you. But, keep in mind that I gave the OP in this case a 2-minute, 0-impact solution to eliminate his design flaw...And the non-technical Powers That Be (PTB) would never know that he had resolved the effects of their stupidity. The OP never indicated that he was not able to implement the remedy, only that the PTB wanted it that way.

As I told him in the thread, I was/am willing to provide him with a solution specific to his need if he would simply provide a reasonable business justification for doing things the flawed way. My intent was not to hold the solution hostage or to refuse the OP help until he was willing to "do it my way". My intent was to "teach the man to fish" by causing him to go through the mental gymnastics to justify why it would help his business to implement a flawed solution...(And in fact, there are several occasions I have witnessed where a business accrued benefits from, and was able to justify implementation of, a degraded technical solution.)

So, my intent was not to be a belligerent, elitist, idealist, egotistical, techno-harda**...it was simply to cause the OP to give thought about why and how the business could benefit from a degraded design. My sticking point was that just because a non-technical business ego (bureaucratically superior to the IT staff) thought that he knows more than the IT staff, states, "Because I said so" it is not a sufficient business and technical rationale.

If the OP must live with that kind of bureaucratic stupidity, then I am sad for her/him and would kindly offer up a solution to his specific need out of pity, had Barb (BJCooperIT) not done such a good job providing her/him a solution already.

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[ Providing low-cost remote Database Admin services]
Click here to join Utah Oracle Users Group on Tek-Tips if you use Oracle in Utah USA.
 
You're right, Dave... my remark was not directed necessarily at you, but intended to perhaps clarify the one right above it from Cajun. Part of what makes this site great is tremendous amount of helpful people who frequent it. The community is building a reputation, and it's important that we live up to it... and based on some of the content here, one who was not familiar with the people involved could arrive that the conclusion that the workaround was indeed "held hostage". I didn't want to let that one get by without being clarified.

That being said, I think I like Tek-tips mostly because of discussions like this. It's the most civil community I've ever seen for people who disagree with each other. Cheers to all involved for not degenerating this into some kind of flame war.

Ben
The ships hung in the sky in much the same way that bricks don't. - Douglas Adams
 
Ben,

And also to clarify, in no way did I consider myself flamed by anyone. In each case where we were discussing the thread in question, I believe that each assertion from people was motivated by very high ideals. Resultingly, if an assertion focussed on behaviours of mine that might not have been motivated by equally high ideals, then I must change my behaviour(s). At no time did I feel flamed...I just wanted to project my thought process so that others might better understand my (hopefully high-minded, and ultimately in the best interest of the OP) motivations.

I, too, appreciate the high quality of the discussion in this Forum and other Tek-Tips fora.

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[ Providing low-cost remote Database Admin services]
Click here to join Utah Oracle Users Group on Tek-Tips if you use Oracle in Utah USA.
 
Is it a bad design? Or a design that is inconvenient for programmers? There is a difference.

Also don't we all hate design-changes made to solve other people's problems, as distinct from our own?

------------------------------
An old man [tiger] who lives in the UK
 
I would say that orphaning children (FK) from their parents (PK) is a bad relational design. Using that bad design certainly does not make solutions inconvenient for me, it's just plain bad design. Would you not agree?

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[ Providing low-cost remote Database Admin services]
Click here to join Utah Oracle Users Group on Tek-Tips if you use Oracle in Utah USA.
 
If a car were driving down the road with flames shooting out from under the car, would you attempt to stop the car, have the driver pull over and help them to safety?

Not a close analogy, but helping someone avoid potential disaster down the road is always a good thing to do. Some people just have a hard time doing it without a sharp tongue.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top