WARNING! This is a big huge RANT!
Well it didn’t take very long now did it. Only back from vacation a week, and the ole’ cynicism is back. Man sometimes I hate my job. Especially when other people make it so difficult!
So I’m working on this project. It’s essentially a web-based CAD drawing tracking application. (Oh, the irony! I’ll explain that later.) Now their current process is highly paper-dependent…lots of forms to fill out with redundant information and so on. The problem is that I was brought into the project at the very end of the requirements gathering (which lasted a good 6 months, the process is so damn complicated currently). AFTER the database had completely been designed (what????) With the absolute worst mockup of the application screens I’ve ever seen, no use cases whatsoever, and I’m expected to knock this puppy out (including full-fledged reporting!!!!!!) in about 2.5 months. OMG!!!
Needless to say it’s been trying. I’m halfway through it, and we *might* hit the due date of the end of August. MIGHT. The project manager (who is older and …um…is widely considered to be somewhat ‘difficult’) doesn’t understand what I’m asking for, and I don’t understand her documentation (this is a web application, not a book for chrissake! gimme PICTURES!!!!)
Now if I’d been involved from the very beginning, this would be a totally different situation. I would have understood the process along with everyone else, and I could probably shed some efficient ideas to improve their existing process. Instead I have a database that merely emulates their current process and is still HIGHLY normalized (frankly I think normalization is great, in small doses…but this is ridiculous!)
Why is it that so many IT project managers think the developers don’t need to be involved from the beginning? Or at all in requirements gathering? And why is it that we here where I work design web applications starting with the database?!?!?! Clients don’t want to have to understand database structure. They want to SEE what it’s going to LOOK LIKE and SEE that it will do what they want it to do. Period. No database design sessions with the client, no explaining data elements blah blah blah.
Oh…to explain the irony thing…it was by virtue of me designing a CAD drawing tracking application in MS Access 95 that got me into programming in the first place. I was a drafter at the time. See? Irony!!