Two examples, found in the same day:
In the database, a record for some object has a field for its name. At some moment, some developer wanted to add comments for these objects (“generated automatically…” or something like this). Unfortunately, there were no field for notes and comments. A burst of creative thinking – and the comments are now appended to the end of the name. Which means that, since the users usually do not want to see the comments, the results returned by a SQL query should now be post-processed. Which is not always easy – sometimes there is no good place to insert this post-processing.
Another one: the same database, but different table. The table holds data for some objects, which are divided into several categories (actually, a hierarchy of categories). The categorization feature was added later than the table was designed, so the table doesn’t have any field to mark the place of each object in the hierarchy of categories. The developer didn’t think about the necessity of such a field. The users needed it, but, instead of asking the developer to add it, they decided to be creative and invented their own naming convention, so that the name of each object now has some keywords embedded. Everyone was happy – until I had to design a report, where the data from this table would be sorted according to the categories…
Creativity is a great thing. But sometimes I just want people to stop being creative, and simply ask for help instead.
Technorati tag: rant