Recently my boss handed me the challenge of designing and developing an application that would handle the task of end to end hardware order fulfillment. I can tell by the collective groan that those of you working in large companies and organizations know just what a challenge this is. Well, I’m just beginning to scratch the surface and let me tell you, it really is like trying to summit Rainier.
First off, there is my sheer ignorance to contend with. At the basic levels I get it. Gather requirement, get approval, submit and order, build the server, etc. No problem, I grok that. From an engineers perspective it’s a lot like magic. You fill out the order, justify the need and after a bit of time, an email appears to tell you a server has appeared on the network ready for your use. What you don’t see is all the moving pieces behind the wizard curtain. Budgets need to be accounted for, hosting information needs to be culled, asset data needs to be referenced to determine whether the request will need to generate a new purchase order or a reallocation order, not to mention the tracking of depreciation and warranty information. And the hits just keep on coming.
With all these moving pieces, bits of data stored in different places, tracked by different people, and reviewed by different groups, writing a spec for this project is like trying to staple jello to Fat Albert’s ass.
So rather than write a nice formal spec to guide me through the development process, I’ve created a “roadmap” that outline where the process is today, where it needs to go to be considered “complete”, and along the way I’ve tried to identify all the major players and all the data source. With this I am hoping I can tackle one milestone at a time, identify the requirements for each chunk and then knock out a section of the application to handle those requirements. With a little luck, it might just work out.
On the upside, it is a very challenging project and you’ve got to love that. It’s the challenges that make life worth living. And as a bonus I get to spend a lot of time interfacing with a diverse array of customers. This isn’t something I get to do very often and I’m hoping to be able to use this time to develop this thing called “Tact”. I’m told it’s a useful tool under the right conditions.
Will