473,320 Members | 1,713 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Development Dilemma/Advice

Our company contracted with an outside consultant over a year ago to
build a complex database application. The end product was put into
production over nine months ago.

Since then it has been nothing short of a disaster. There are multiple
instances of problematic code that while they work well enough to get
most of the job done they continue to fall short of performing like a
database should. Since the application went into production I have been
the lucky soul who has been tasked with supporting it.

I am an experienced VBA/Access programmer who is being asked to provide
band-aid fixes to a system that is in dire need of a major overhaul.
These patches work on the part they are designed for but there are
dependent systems that fail when the new design is implemented. Once the
dependent systems are patched the original band-aid needs to be rewritten
to account for the other fixes. Then other systems fail and the process
starts all over.

My requests to fix the problems once and for all by providing a
replacement system have repeatedly been shot down by middle management
for various reasons. I have provided documented proof that the system
does not work to all of my superiors. But I am still not given the
opportunity to replace it. I am asking for advice on how to deal with my
problem 'clients'.

Thanks

strvariant

Nov 13 '05 #1
6 1209
"strvariant" <no.email.com> wrote
My requests to fix the problems once and for all by providing a
replacement system have repeatedly been shot down by middle management
for various reasons. I have provided documented proof that the system
does not work to all of my superiors. But I am still not given the
opportunity to replace it. I am asking for advice on how to deal with my
problem 'clients'.


Your are too concerned with doing what is the 'right' and 'best' and 'most
efficient' thing to do. Use this as an oppurtunity to make yourself useful
by fixing problems one piece at a time, and look for a better job.
--
Darryl Kerkeslager

Power corrupts.
Absolute power corrupts absolutely.
Knowledge is power.
See www.adcritic.com/interactive/view.php?id=5927
Nov 13 '05 #2
strvariant <no.email.com> wrote in
news:Xn************************@216.196.97.136:
Our company contracted with an outside consultant over a year
ago to build a complex database application. The end product
was put into production over nine months ago.

Since then it has been nothing short of a disaster. There are
multiple instances of problematic code that while they work
well enough to get most of the job done they continue to fall
short of performing like a database should. Since the
application went into production I have been the lucky soul
who has been tasked with supporting it.

I am an experienced VBA/Access programmer who is being asked
to provide band-aid fixes to a system that is in dire need of
a major overhaul. These patches work on the part they are
designed for but there are dependent systems that fail when
the new design is implemented. Once the dependent systems are
patched the original band-aid needs to be rewritten to account
for the other fixes. Then other systems fail and the process
starts all over.

My requests to fix the problems once and for all by providing
a replacement system have repeatedly been shot down by middle
management for various reasons. I have provided documented
proof that the system does not work to all of my superiors.
But I am still not given the opportunity to replace it. I am
asking for advice on how to deal with my problem 'clients'.

Thanks

strvariant

Given that it is far easier to rewrite one's own resumé than
someone else's source code, rewrite your resumé, send it around,
accept the best offer and submit resignation, stating clearly
your reasons for resigning.

Otherwise, you could spend some lunch time doing a
redesign/recoding of the application, and the next time it
crashes, upgrade to the new version.

I've used both techniques at various times in my career, with
varying degrees of success.

--
Bob Quintal

PA is y I've altered my email address.
Nov 13 '05 #3
Strvariant,
First, documentation is key. Document the entire application, code,
interfaces, everything. Then write a formal change proposal that gives a
road map to version 2 of this app. Prioritize issues--highest is things
that will cost the company substantial money when they break. Work in
phases making sure the goals for each phase can be achieved with the
available time & funds. If management still won't buy in to a gradual
migration to another version then keep working but look for another job.

"strvariant" <no.email.com> wrote in message
news:Xn************************@216.196.97.136...
Our company contracted with an outside consultant over a year ago to
build a complex database application. The end product was put into
production over nine months ago.

Since then it has been nothing short of a disaster. There are multiple
instances of problematic code that while they work well enough to get
most of the job done they continue to fall short of performing like a
database should. Since the application went into production I have been
the lucky soul who has been tasked with supporting it.

I am an experienced VBA/Access programmer who is being asked to provide
band-aid fixes to a system that is in dire need of a major overhaul.
These patches work on the part they are designed for but there are
dependent systems that fail when the new design is implemented. Once the
dependent systems are patched the original band-aid needs to be rewritten
to account for the other fixes. Then other systems fail and the process
starts all over.

My requests to fix the problems once and for all by providing a
replacement system have repeatedly been shot down by middle management
for various reasons. I have provided documented proof that the system
does not work to all of my superiors. But I am still not given the
opportunity to replace it. I am asking for advice on how to deal with my
problem 'clients'.

Thanks

strvariant

Nov 13 '05 #4
strvariant <no.email.com> wrote in
news:Xn************************@216.196.97.136:
Our company contracted with an outside consultant over a year ago to
build a complex database application. The end product was put into
production over nine months ago.

Since then it has been nothing short of a disaster. There are multiple
instances of problematic code that while they work well enough to get
most of the job done they continue to fall short of performing like a
database should. Since the application went into production I have
been the lucky soul who has been tasked with supporting it.

I am an experienced VBA/Access programmer who is being asked to
provide band-aid fixes to a system that is in dire need of a major
overhaul. These patches work on the part they are designed for but
there are dependent systems that fail when the new design is
implemented. Once the dependent systems are patched the original
band-aid needs to be rewritten to account for the other fixes. Then
other systems fail and the process starts all over.

My requests to fix the problems once and for all by providing a
replacement system have repeatedly been shot down by middle management
for various reasons. I have provided documented proof that the system
does not work to all of my superiors. But I am still not given the
opportunity to replace it. I am asking for advice on how to deal with
my problem 'clients'.

Thanks

strvariant


Thanks for the advice. The common theme I see is the 'new job' avenue. I
agree that this may be the most viable alternative to a life spent bench-
pressing someone else's work. As for the upgrade option I have spent time
doing just that. Once the current section is complete I intend to replace
the piecemeal with a dependable solution.

I have documented all of my code and fixes, and submitted two new
proposals. Both have been summarily turned down. The business consensus is
that I'll fix the existing app and then start on a replacement.
Unfortunately there was no documentation or work-flow for the original
application. The one thing that it has successfully done is expose the
department's ignorance of their own procedures.

It's times like this when I long for the contract world, when a lucrative
change clause would be just what the doctor ordered!

Thanks again for your advice,

strvariant
Nov 13 '05 #5
strvariant <no.email.com> wrote in news:Xns9623C39999235noemailcom@
216.196.97.136:
Our company contracted with an outside consultant over a year ago to
build a complex database application. The end product was put into
production over nine months ago.

Since then it has been nothing short of a disaster.


Was the application tested before payment? Did it work?

Do archaic hardware and software contribute to the problems you describe?
How many versions and Service Packs of Windows, Access, ODBC, OLEDB etc are
there? Did the specifications for the application indicate the least
version of these required for its proper operation?

What is the position of the outside consultant with respect to the
problems?

I am coming to the stage where I am unwilling to work on a project which
requires Access across many computers on many sites, because I have yet to
see such a situation where all these computers are kept up to date.

It's neither fun nor good for ones reputation to deal frequently with
middle-management about applications which do not work:
"Oh you need ADO, MDAC, ISAMs, WHATEVER installed and updated for that?
Well, I don't know. My daughter's husband said they were bad! So he got rid
of them for me."
"But I am a member of that group! I was promoted last September."
"I was in Seattle when the tech called to install the service packs!"
"I run everything 640 X 480!" It's really annoying when I can't see
everything on the screen.
"I LIKE Office 95!"
"Oh I see, when I log in as my wife it brings up her department! Do I have
to log in as me to see mine? Why can't the computer figure that out?"

--
Lyle
--
Nov 13 '05 #6
I'm going to buck the trend here and say that there might be reasons to
continue working on the job you are doing for a while longer, and it migh be
better not to rewrite the old application even if the code stinks to high
heaven.

As a consultant, I've had to do that kind of work quite a bit, and I find that
there are techniques for making the process work. You may in fact, be right
that the program should be replaced rather than repaired, but management has
made its decisions for what may be sound business reasons, and-someone- will
end up tasked with fixing it.

When working on code like what you're describing, the key is to figure out
ways of isolating bits of functionality so you can be confident of changing
them without side effects, make that change - then make the fix. Each time
you do this, you risk breaking the code, of course, just as you do each time
you simply may a fix, but then the code is that much easier to maintain when
yo start the next fix, and doing the code restructuring first doesn't actually
make each fix harder.

A key point here is that you are not ever trying to simultaneously fix code
and restructure code. First restructure only, and test that the code's
behavior does not change as you go (also known as refactoring). Only after
the restructuring is complete, and you're confident you've decoupled the code
aspect you need to work on, do you implement the actual fix.

Another key point is that each code restructuring is the smallest one that can
help with the next task you have to do, and the restructuring iteslf is broken
down into tiny steps, each of which should not change the code's current
behavior, and do at least minimal testing after each small change. It's fine
if, to make the changes in small steps, you have to write some temporary code
that will be replaced in the next step or 2, and it's fine if such temporary
code contains a little ugliness such as duplication in order to get you
through the step.

The neat thing about this approach is that each little step can make the code
enough clearer to make the next step more obvious to see and easier to
implement. For instance, if you see a mile-long procedure with nearly
duplicated code repeated 16 times, don't try to do a full analysis of what's
truly the same between all of them, but find one chunk within each block
that's clearly easy to factor out. If that block was, say 3 lines ling, the
original procedure is now 32 lines shorter, and what's left has less
duplication. The next step is now easier. Soon enough, that original
function is now called by another and is overkill, so you can absorb it back
into the calling function, etc.

On Thu, 24 Mar 2005 18:11:26 -0600, strvariant <no.email.com> wrote:
Our company contracted with an outside consultant over a year ago to
build a complex database application. The end product was put into
production over nine months ago.

Since then it has been nothing short of a disaster. There are multiple
instances of problematic code that while they work well enough to get
most of the job done they continue to fall short of performing like a
database should. Since the application went into production I have been
the lucky soul who has been tasked with supporting it.

I am an experienced VBA/Access programmer who is being asked to provide
band-aid fixes to a system that is in dire need of a major overhaul.
These patches work on the part they are designed for but there are
dependent systems that fail when the new design is implemented. Once the
dependent systems are patched the original band-aid needs to be rewritten
to account for the other fixes. Then other systems fail and the process
starts all over.

My requests to fix the problems once and for all by providing a
replacement system have repeatedly been shot down by middle management
for various reasons. I have provided documented proof that the system
does not work to all of my superiors. But I am still not given the
opportunity to replace it. I am asking for advice on how to deal with my
problem 'clients'.

Thanks

strvariant


Nov 13 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

28
by: Jed | last post by:
Hello to all! I have a couple of projects I intend starting on, and was wondering if someone here could make a suggestion for a good compiler and development environment. My goals are as...
1
by: athos | last post by:
Hi all, Believe you have sound experience in development, however, if we look at the whole Software Development Life Cycle (SDLC) of the project, say, 1. Project Initiation, 2. Gathering...
3
by: JCB | last post by:
Hi, I have two C file which are referencing in a circular way. To simplify I use an example with car : Suppose I have a program for cars. I have car.c, structure car and functions...
3
by: simchajoy2000 | last post by:
Hi, I am fairly new to the world of VB.NET form applications and I am unsure how to approach coding this situation. I have a VB.NET interface and I need to make it possible for a form, which is...
16
by: hzmonte | last post by:
Correct me if I am wrong, declaring formal parameters of functions as const, if they should not be/is not changed, has 2 benefits; 1. It tells the program that calls this function that the...
7
by: Kamilche | last post by:
''' I'm in the middle of a refactoring dilemma. I have several singletons that I'm turning into modules, for ease of access. The usual method is noted as 'Module 1' below. The new method is...
29
by: Tony Girgenti | last post by:
Hello. I'm developing and testing a web application using VS.NET 2003, VB, .NET Framework 1.1.4322, ASP.NET 1.1.4322 and IIS5.1 on a WIN XP Pro, SP2 computer. I'm using a web form. How do I...
3
by: Chazam | last post by:
I am a C# programmer. I'm looking for a good book about .NET MOBILE development any advice. Thanks in advanced. I already post this on the mobile group like a week a go I think that group is dead....
3
by: Ty Oft | last post by:
Hello Bytes! Maybe my question seems a bit silly (as one could simply answer it "Well, what are you more passionate about?" or stuff like that - please don't answer like this), but I am in a bit...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.