By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,934 Members | 1,804 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,934 IT Pros & Developers. It's quick & easy.

Design frustration - how often does this happen to you...

P: n/a
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...
Nov 12 '05 #1
Share this Question
Share on Google+
10 Replies


P: n/a
Budgets, internal developers, political agendas, some of the wonderful
things in a developers life.

I have been faced with the same situations. Do not lay down. Stand up and be
heard. You have a responsibility to advise the client of potential problems
in their choices. Clearly advise them of what you believe should be done,
and exactly why. However, the final decision is always the clients.

I maintain a record of meeting and what was discussed, to track change
requests and things just like this. In this way you can always say 'I told
you so'. It is ever so satisfying, but be very careful of creating enemies
in your clients organisation. I have been there as well.

Generally, clients listen. They want the best that can be achieved. But
budgets can get in the way, and can be out of our control, clients as well.

You can always refuse to do the job on the grounds that you believe it may
compromise your reputation if it goes really bad and your name is involved.
I have at times spent much more time on development, uncharged, simply
because I can't in all conscious build the type of database that their
budget can afford. I would rather absorb some of the cost and be happy with
the result.

It is a hard one if you need the money, an easy one if you are building a
reputation.

Jeff

"BlueDolphin" <bl*************@hotmail.com> wrote in message
news:fb*************************@posting.google.co m...
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...

Nov 12 '05 #2

P: n/a
TC
You've been conned!

They realized they were not going to be able to provide you the data in the
format/manner that they promised, so they've put their heads together, come
up with a strategy, & conned you into letting them off the hook. In fact,
that hook is now embedded well & truly in >your< back! It's easy to say now,
but you should maybe have seen tht coming...

At this stage, I think the most critical thing will be to (a) work out which
boss you really have to satisfy; sometimes that is not so clear; then (b)
communicate effectively with that boss, about what is going on. >Do not<
criticize the other group, or suggest that they have tried to con you! Just
make sure you're boss is aware of the impact of all this, on what you
promised to him before.

If you beleve that it will >not< be possible to get the data out easily, an
effective straegy might be to play dumb, & ask for help. "Boss, I'm not sure
how to get the XYZ data out of their database. I'd like to ask one of their
guys for a few hours help. Is that ok?" Two weeks later, your boss will ask,
"WTF is going on?" "Well, I'm a bit confused. It's quite clear what data we
need, but don't seem able to show me how to get it from their database...".

Just my 2c!

HTH,
TC
"BlueDolphin" <bl*************@hotmail.com> wrote in message
news:fb*************************@posting.google.co m...
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...

Nov 12 '05 #3

P: n/a
TC

"Jeff Pritchard" <je************@asken.com.au> wrote in message
news:Y%****************@news.optus.net.au...

(snip)
I maintain a record of meeting and what was discussed, to track change
requests and things just like this. In this way you can always say 'I told
you so'.
Yep: once!

In my experience, the clients who cause the most problems, are always theleast< likely to accept responsibility for their own decisions. Those

clients do not like "I told you so". They much prefer "It's all my fault".

TC

Nov 12 '05 #4

P: n/a
CDB
Would there be any slightest chance that what was offered for linking to was
a view and not a table - a view which combines data from several tables?
Nah, its never that easy.

Clive

"TC" <a@b.c.d> wrote in message news:1069128414.190952@teuthos...
You've been conned!

They realized they were not going to be able to provide you the data in the format/manner that they promised, so they've put their heads together, come up with a strategy, & conned you into letting them off the hook. In fact,
that hook is now embedded well & truly in >your< back! It's easy to say now, but you should maybe have seen tht coming...

At this stage, I think the most critical thing will be to (a) work out which boss you really have to satisfy; sometimes that is not so clear; then (b)
communicate effectively with that boss, about what is going on. >Do not<
criticize the other group, or suggest that they have tried to con you! Just make sure you're boss is aware of the impact of all this, on what you
promised to him before.

If you beleve that it will >not< be possible to get the data out easily, an effective straegy might be to play dumb, & ask for help. "Boss, I'm not sure how to get the XYZ data out of their database. I'd like to ask one of their guys for a few hours help. Is that ok?" Two weeks later, your boss will ask, "WTF is going on?" "Well, I'm a bit confused. It's quite clear what data we need, but don't seem able to show me how to get it from their database...".
Just my 2c!

HTH,
TC


Nov 12 '05 #5

P: n/a
Years ago I 'trusted' that what the client asked for was what they wanted,
barring my occasional misunderstanding. this caused me grief a few times,
though not as much as some I suspect.

Since keeping track of 'all' requests for change, and documenting meetings I
have had very little problem. I think it is because they realise that they
can't argue against a record that they signed off on - they have to sign the
record when it is filled out and later when the work is completed. It is
sometimes a pain but well worth the effort. Much less stress.

However, I must admit I believe that I have some excellent clients that are
very easy to work with. I just make sure that they get the service they
want, I get paid and we all live happily ever after. Mostly.

By the way, never actually say 'I told you so'. The client should always
feel they are right. It is all in the presentation.

Jeff

"TC" <a@b.c.d> wrote in message news:1069128731.564059@teuthos...

"Jeff Pritchard" <je************@asken.com.au> wrote in message
news:Y%****************@news.optus.net.au...

(snip)
I maintain a record of meeting and what was discussed, to track change
requests and things just like this. In this way you can always say 'I told you so'.


Yep: once!

In my experience, the clients who cause the most problems, are always the
least< likely to accept responsibility for their own decisions. Those

clients do not like "I told you so". They much prefer "It's all my fault".

TC

Nov 12 '05 #6

P: n/a
Hi there!

I currently make my crust from companies who get people who have read
a teach yourself access book,( and think they know how to design a
database),to build databases. They build increadibly flat databases
that are not normalised and away they go. Then about 6 months later
it all falls in a heap and then I get a call.

What the poor employees end up with is increadibly convoluted systems
that are a nightmare to use and have many functions and purposes all
built into the same screens. The company I work for now has two major
tables each with well over 150 fields in each. Its a financial system
that does payments, estimates, customer tracking etc on the same
screen. Like I said , a nightmare.

I know exactly how you feel. When I produce an audit of the current
system I always recommend redesigning the tables and tell them the
system would be faster more flexible and easy to understand blah blah
blah, but they never go for it. They just want to paper over the
cracks until the next time they realise its going to go wrong.

But I am all too happy to deal with these situations because it keeps
me busy. Every now and again I get to design a system from scratch
which is such a breath of fresh air. The reality is that most
companies use access because it is cheap and immediate. They don't
have to wait 2 years for the software development lifecycle to come
around and they can pay an administator to build it.

My clients are usually really appreciative of simple and obvious
improvements as well and is always nice to get some cudos.

If you've got to link to tables like that then you are kind of forced
to adapt to their system, but I would definately work with updates and
dumped data, and make tables from the backend to fit into the
structure (sounds like a lot of work).

BTW
I love it when people come here to get something off thier chest. I do
it all the time and the responses I get always help me think the
situation through. Long live usenet!

bl*************@hotmail.com (BlueDolphin) wrote in message news:<fb*************************@posting.google.c om>...
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...

Nov 12 '05 #7

P: n/a
TC
Yes, I agree with what you say. The key issue is "change management". In
theory, the >client< should handle project management issues such as, what
happens we he wants a change. In practice, many clients do not have any
project management skills. And, they often have unrealistic expectations
about the cost & schedule imacts of making a change. So, handling those
project management issues falls to the developer. And if the developer does
not have those skills either, things can go from bad to worse.

TC
"Jeff Pritchard" <je************@asken.com.au> wrote in message
news:j6****************@news.optus.net.au...
Years ago I 'trusted' that what the client asked for was what they wanted,
barring my occasional misunderstanding. this caused me grief a few times,
though not as much as some I suspect.

Since keeping track of 'all' requests for change, and documenting meetings I have had very little problem. I think it is because they realise that they
can't argue against a record that they signed off on - they have to sign the record when it is filled out and later when the work is completed. It is
sometimes a pain but well worth the effort. Much less stress.

However, I must admit I believe that I have some excellent clients that are very easy to work with. I just make sure that they get the service they
want, I get paid and we all live happily ever after. Mostly.

By the way, never actually say 'I told you so'. The client should always
feel they are right. It is all in the presentation.

Jeff

"TC" <a@b.c.d> wrote in message news:1069128731.564059@teuthos...

"Jeff Pritchard" <je************@asken.com.au> wrote in message
news:Y%****************@news.optus.net.au...

(snip)
I maintain a record of meeting and what was discussed, to track change
requests and things just like this. In this way you can always say 'I told you so'.


Yep: once!

In my experience, the clients who cause the most problems, are always the
least< likely to accept responsibility for their own decisions. Those

clients do not like "I told you so". They much prefer "It's all my fault".
TC


Nov 12 '05 #8

P: n/a
TC
Just as a matter of interest, when you accept to work on a database that you
can see is badly designed, do you ever give fixed quotes, or do you always
go time & materials?

TC
"Michael" <we****@hotmail.com> wrote in message
news:af**************************@posting.google.c om...
Hi there!

I currently make my crust from companies who get people who have read
a teach yourself access book,( and think they know how to design a
database),to build databases. They build increadibly flat databases
that are not normalised and away they go. Then about 6 months later
it all falls in a heap and then I get a call.

What the poor employees end up with is increadibly convoluted systems
that are a nightmare to use and have many functions and purposes all
built into the same screens. The company I work for now has two major
tables each with well over 150 fields in each. Its a financial system
that does payments, estimates, customer tracking etc on the same
screen. Like I said , a nightmare.

I know exactly how you feel. When I produce an audit of the current
system I always recommend redesigning the tables and tell them the
system would be faster more flexible and easy to understand blah blah
blah, but they never go for it. They just want to paper over the
cracks until the next time they realise its going to go wrong.

But I am all too happy to deal with these situations because it keeps
me busy. Every now and again I get to design a system from scratch
which is such a breath of fresh air. The reality is that most
companies use access because it is cheap and immediate. They don't
have to wait 2 years for the software development lifecycle to come
around and they can pay an administator to build it.

My clients are usually really appreciative of simple and obvious
improvements as well and is always nice to get some cudos.

If you've got to link to tables like that then you are kind of forced
to adapt to their system, but I would definately work with updates and
dumped data, and make tables from the backend to fit into the
structure (sounds like a lot of work).

BTW
I love it when people come here to get something off thier chest. I do
it all the time and the responses I get always help me think the
situation through. Long live usenet!

bl*************@hotmail.com (BlueDolphin) wrote in message

news:<fb*************************@posting.google.c om>...
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...

Nov 12 '05 #9

P: n/a
bl*************@hotmail.com (BlueDolphin) wrote in message
...I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
...
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.


Everyone loves options. From what you've provided, I see three
obvious options:

1. Do exactly what they say. Performance will be bad in general, and
db design will take longer and will be more error-prone.

2. Ask them to go back to weekly imports, "your preferred choice".
You get to use your existing database design, and they get a
fast-performing BEAST of a system. That is up to a week stale.

3. Do a merge of their data to your database...on a daily basis. You
can think of this as a nasty, crude hack, or you can think of this as
a dynamic solution. However you spin it. If there is a LOT of data
to merge, this may not be the best idea. BUT. If there is not a lot
of data, or the merge process is relatively simple, you can have
somebody (or the IT department) run a merge process on a scheduled
basis. You can also provide for the option to (on demand) update the
database for your db admin users--so if they happen to notice their
data is outdated, they can click the "run update" subroutine.
I think #3 is good, so long as it's feasible for your situation.
Pete
Nov 12 '05 #10

P: n/a
Time and materials unless the client is willing to prepare a fixed
specification or requirements, which they generally don't have the resources
to do.

Jeff

"TC" <a@b.c.d> wrote in message news:1069208825.75904@teuthos...
Just as a matter of interest, when you accept to work on a database that you can see is badly designed, do you ever give fixed quotes, or do you always
go time & materials?

TC
"Michael" <we****@hotmail.com> wrote in message
news:af**************************@posting.google.c om...
Hi there!

I currently make my crust from companies who get people who have read
a teach yourself access book,( and think they know how to design a
database),to build databases. They build increadibly flat databases
that are not normalised and away they go. Then about 6 months later
it all falls in a heap and then I get a call.

What the poor employees end up with is increadibly convoluted systems
that are a nightmare to use and have many functions and purposes all
built into the same screens. The company I work for now has two major
tables each with well over 150 fields in each. Its a financial system
that does payments, estimates, customer tracking etc on the same
screen. Like I said , a nightmare.

I know exactly how you feel. When I produce an audit of the current
system I always recommend redesigning the tables and tell them the
system would be faster more flexible and easy to understand blah blah
blah, but they never go for it. They just want to paper over the
cracks until the next time they realise its going to go wrong.

But I am all too happy to deal with these situations because it keeps
me busy. Every now and again I get to design a system from scratch
which is such a breath of fresh air. The reality is that most
companies use access because it is cheap and immediate. They don't
have to wait 2 years for the software development lifecycle to come
around and they can pay an administator to build it.

My clients are usually really appreciative of simple and obvious
improvements as well and is always nice to get some cudos.

If you've got to link to tables like that then you are kind of forced
to adapt to their system, but I would definately work with updates and
dumped data, and make tables from the backend to fit into the
structure (sounds like a lot of work).

BTW
I love it when people come here to get something off thier chest. I do
it all the time and the responses I get always help me think the
situation through. Long live usenet!

bl*************@hotmail.com (BlueDolphin) wrote in message

news:<fb*************************@posting.google.c om>...
I'm not sure if this is a question or more of a rant... but I'm
looking for some input on this from other developers out there. How
often has the following happened to you and how have you dealt with
it.

I am consulting on a new project. Originally I was going to get data
dumped to me from an external system, and import the needed data once
a week into a normalized design that I had created. I knew what my
fields were going to be, what I needed to do, etc... I was pleased
with the design which currently consists of 22 tables (It still
excludes a course section that I haven't designed yet... So it would
grow slightly from here). The first phase of the import had been
written and I was waiting for my first dump of real data.

This is where I get to the point. The external entity decided that it
would be more efficient to give me access to their back-end instead of
programming and maintaining a weekly dump... Besides I would have the
live data and we wouldn't need to worry about data lags. Link the
tables in from SQL! EXCELLENT... I thought. Saves me a huge import
from week to week, I have real time data!... How nice of them!!! I
got all excited and went to the meeting to get access to the back end.
I am back at my PC now and have just linked in the 5 objects that
they totld me I needed to get the data I required. The first table I
am looking at has 215 columns in it, the second has 72 columns in it,
the third has 140... you get my drift. Almost NONE of the columns are
numeric... almost ALL of them are text... and I am expected to build a
beautifully performing system from these unnormalized base tables. I
feel like stepping backwords again, and grabbing the data I need,
sucking them into my design and forgetting about using their back-end.
I am assured by the people I spoke with that I can get all data that
I need from the design and was assured that every query need that I
have can be aquired from their tables.

On my last long term project, I had one section of one table that was
not noramlized and got trampled into the ground by some very arrogant
newbies fresh out of school. Now I'm on the opposite end and am
looking at monstrously unnormalized tables and expected to work with
them as if life is fine! By the way... they archive the information
in these tables from year to year in their own stand alone tables...
(I'm sure that's for performance reasons.) However, the department I
am working for has a need to aggregate the data backwards in time.
(number crunches from last year or two years ago etc.) This means
hardcoding table names for specific years. I feel like I'm looking at
a design nightmare, but if I don't use the design, I risk stepping on
some toes.

How many of you out there have been faced with this... and what would
you do!? Would you move forward against their design, or consider
building my own system once again. They have a finite budget to work
with. I know I can deliver a good system given a normalized design,
which will do everything they want and have good performance. But it
will take longer to build it from scratch. By giving me the base
tables, they are looking at it as a huge cut in development time, but
I'm not sure I can deliver them the system that they need... No I
probably can deliver it, but the performance of the system will be in
the toilet considering all of the searching and querying against all
of the text fields that will be required.

THOUGHTS?! INPUT!? POLITICALLY CORRECT RESPONSES TO A BAD SITUATION!!

I guess if I lost the job from stepping on some toes by trying to
build them a normalized system wouldn't be so bad... maybe... I need
the work since X-mas is around the corner, but working with a system
that is so far off can't be good for my career anyway. What to do,
what to do...


Nov 12 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.