As seems to be (fairly) common from reading posts here, I work for a company whose ability to produce anything other than verbal, theoretical specs for programs or systems is near zero. Clearly, this leads to issues later down the line - something my boss thinks is obvious I perhaps don't, and it leads to misunderstandings like the one with the GRWBSC that lead to this node.
A perfect example of this to me is the work I'm carrying out at present - the conversion of all of the flat files to databases in the group I'm working with. At one point with one of the more fundamental files, it seemed design briefs were changing on an almost daily basis - to include attributes or exclude attributes on a whim.
Some of these changes led to fairly major recoding efforts, and I ended up writing both the DB and the scripts that process it so that new columns of data could be simply "tacked" onto the end of the database, or unwanted columns removed, and everything would still function as expected.
This, to me, isn't ideal. At one point, the database table was arranged logically, with like columns grouped together for clarity if we needed to do anything with the data manually. It was possible to see exacltly where data in a given report had come from, almost without effort. Now, it seems more of a jumble of data that just happens to produce a nice report when plugged into a pretty generic script that shoves stuff into an arbitrary order and outputs it with a header.
While I do think that generic scripts, and modules, are great, and I'm 95% certain I can use the report generation script again to generate some other report given a seemingly random set of column names and a horrible-to-look-at database table, I can't help but feel that something here is wrong. Had the spec not changed, a much less flexible script would have resulted; however it would probably have been much easier to maintain in the long run.
I can't help but feel that evolving specifications for projects lead only to code that is harder to maintain, more of a "kludge" that does the job than a carefully crafted entity.
What do people think? Is it merely taking a shortcut to try and work round changes to a design that are almost certainly going to keep happening, or is this an unaviodable balancing of people's whims against the code on disk?
I think I've rambled on for long enough ..
--Foxcub
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Design Targets
by BrowserUk (Patriarch) on Oct 17, 2002 at 08:26 UTC | |
Re: Design Targets
by ignatz (Vicar) on Oct 17, 2002 at 08:55 UTC | |
Re: Design Targets
by bilfurd (Hermit) on Oct 18, 2002 at 07:50 UTC | |
Re: Design Targets
by Anonymous Monk on Feb 21, 2011 at 04:33 UTC |