2006.05.12 08:15 AM
Beating Dead Horses
Every couple of years for the last decade or so a particular client of mine realizes that they need a particular kind of system in order to remain competitive. And every time they do I spend days (sometimes weeks, sometimes months) gathering requirements, writing specs, sketching designs, and drawing up proposals in an effort to convince them to let me develop it for them.
We call meetings, draft presentations, prepare diagrams, and dust off old ideas and make them new again. The experience reads like a Who's Who of technology. There was Advanced Revelation, WordPerfect and CSV. Then Access and Excel, Word and RTF. Then VB4 (then 5 and 6) and JET. Later ASP, then ASP.NET, and SQL Server and then Oracle (and back to SQL Server), and Excel and various Excel-like components, and XML and XSLT and PDFs and SpreadsheetML.
And without fail (with just one semi-related exception), when the numbers are finally tallied, my client balks.
As a result, industrious non-techie folks elsewhere in the company, who can't ignore the neccessity of having a system, have over time cobbled together systems of their own. Well, systems in the loosest sense of the word. They've also struck an occassional deal with third-party vendors offering similar kinds of systems. My client even acquired a smaller competitor once and tried adopting their system, with mixed results. I usually wind up helping my client fix, enhance, and support these other systems. And I'm forever wondering how much time and money my client might have saved over the years if they'd have just pulled the trigger on my last proposal (or the one before that, or the one before that).
I'm not complaining. I've always been paid for my time. As a consultant, I appreciate this fact. I've accumulated a lot of useful knowledge about this particular type of system over the years, and I've participated in plenty of other worthwile development projects for this client.
So why the hell am I writing this?
Well, because they've recently asked me to do it again. They want me to prepare yet another proposal to develop the next generation of this still undeveloped system. And I can't muster the resolve to do it. I'm supposed to be writing it up right now, but I'm writing this instead. I tried to get it rolling yesterday and again earlier today, but I just can't get the mojo working. I think that after slicing and dicing this problem domain so many ways for so many years that I'm just plain tired of it. The allure is gone. And the really ironic (tragic?) thing about it is that they're probably more serious about making it happen this time than ever before.
As I'm writing this, it occurs to me that despite my funk I'm still attracted to the idea of writing the system. Of taking the system I've got in my head right now, that I've explained to my client over and over again in so many different ways, that I've witnessed in bits and pieces of other similar systems, that I've developed in part for other systems and other clients, and just pounding it out. I don't want to describe the system again, I want to write it. I don't want to explain the system again, I want to code it. I don't want to draw another diagram in Visio and write another feature list in Word, I want to create the system's components, classes, methods, pages, tables, folders, and files in Visual Studio and SQL Server and Excel and put it in front of users and see their reactions right now. I want to create some progress.
I read once that the definition of a professional is someone who does what they have to when they least want to. I've got to somehow find the energy and resolve to write this thing up one more time.
Good luck, brother Bachtal. You'll get around to it and eventually they'll bite.
As you said, you learn a lot every time you go through the process. Perhaps you can look forward to the discovery instead of the implementation.
Jeff Key | 2006.05.12 10:50 AM
Yeah, I suppose it's the getting there, not the being there, that counts. I'm just pooped. And whining. Thanks for the encouragement, Jeff.
ewbi.develops | 2006.05.12 11:11 AM
TrackBack URL: http://www.typepad.com/services/trackback/6a00d8341c7bd453ef00d834bf480f69e2
Listed below are links to weblogs that reference Beating Dead Horses: