Today a project I worked on came to an end. This is the story of how it came about.
When I first started working for my employer in October of 2007, I came in not knowing any of the jargon familiar to the others that worked there. I certainly had no knowledge of their databases or how their data works together to give them what they want. What made matters worse is that my boss does not really train people. He throws people in and lets them figure it out on their own. When you know nothing, that can be quite a challenge.
I decided in order to learn their databases, I would write an application that would force me to study the intricacies of their databases and how they work together. It became a report writer, which would allow prospective users to build custom reports. I started out with the basic tables. As this thing grew, it really became apparent to me this was a far better alternative to report writing then what was happening there. Often people would sit around and say they were awaiting a report from so and so before they could do their job. Or a few people were handling many many requests for mundane custom reports. And finally, within the main application was a treeview like control which hardcoded reports existed that users could use. Quite frankly, it was slow, buggy and not very user friendly. I knew I could make something that would make a difference here while learning a great deal about this company and how it worked.
As I started to write it I began putting the word out that this existed. I didn’t expect people to greet it with open arms. Change is hard for anyone, and a concept like this would require people to be willing to think on their own. What I didn’t anticipate was the resistance I would encounter from my own co workers. One was afraid his territory was being threatened, another thinking a third party solution would be a better answer. Not once did any of them take the time to look at it. When I asked to review it for the team and users my boss always said no.
As far as the users out there it got used sporadically. Those that used it loved it. But their reaction even caused problems. One of the senior analysts complained they were using a tool that she had not been trained on and therefore was not supported. i tried one last email to her to ask her to review it which like the others got no response.
So tonight after work, I pulled the plug. I took it out of SourceSafe, rebuilt the project and checked it back in. I felt a sense of sadness actually. I had worked on this on nights and weekends since my arrival there and was pretty proud of it quite frankly. But I was tired of fighting to get this on the map. Those that used it might complain. I will be graceful and tell them it just isn’t supported and sorry for the inconvenience. Nothing good comes out of being nasty about things.
But then I thought, what was the original purpose of what I had done here? Was it not to learn the databases this company uses? Was it not to learn the data structure used, the custom types of variables used? For this I could be grateful. I knew those data tables than most of the developers long my senior did. And this didn’t have to be the end of a practical use for the code. I decided I would transfer it to an independent application that I would use as a starter for my SQL statements (cross database queries can get quite long). And this one would use the latest Framework version (3.5) instead of being struck in the purgatory of .NET Framework 1.1.
I guess what I am saying is just because things don’t turn out the way you want them to, you sometimes have to go back and look at the real purpose of what you are doing and not get caught up in the other things going on that weren’t part of what it is you were trying to accomplish.
Make it a good night!
Technorati Tags: Lesson,employer,October,jargon,knowledge,data,intricacies,writer,custom,