A friend of mine was handed an assignment that I often refer to as a "foot bullet." It’s the kind of thing that no one pays any attention to until they go to review the budget versus spend for the quarter and find that they’re off. And the person who gets nailed in the blamestorm that ensues is generally the person with the least guilt.
Here’s the story. My friend is a programmer with above-average Microsoft skills. He works in an environment that uses Remedy for its help desk ticketing system. There is a single end user for whatever he comes up with. That end-user is a contractor.
Remedy wants to dump information into a tool called Crystal Reports for the purpose of reporting metrics. My own experience with Crystal is that it's a pretty easy to use tool with some powerful capabilities. However the end-user in this case does not know Crystal and is not willing to learn it.
The requirement is to produce a tool that will allow the end-user to generate metrics reports and NOT use Crystal Reports. My friend considered the problem and decided that an Access database would be the right thing as developing reports would be as easy as writing a query. Call me cautious but I can see problems.
First, who is going to maintain this? He is himself a contractor and may not be there forever. This particular company tends to be of the "Buy, don’t build" mindset so they're often thin on IT resources, preferring to bring in the bodies and skill sets they need when they need them.
Second, developing an automated process is going to take some time. Who's going to pay for that time? And has it been agreed that doing this is the right path to go down? Given that there are no usability requirements (They don’t even know what they want to report ON at this point) there is no way to know if Access is really the right tool for the job.
Finally, after the thing is built, someone is going to pipe up and mention that they could have just contracted someone who has the right skill set to begin with. That, or the first contractor could leave at the end of her contract and Crystal Reports becomes a required skill set for her replacement.
Just to keep this interesting, I understand that the end-user is no more proficient at Access than she is with Crystal Reports. So in order for this tool to be usable, it will need a GUI and a simple one at that.
Basically, my friend is being asked to write the equivalent of Crystal Reports in "his spare time." From everything I have heard about his current workload that means billing more than 40 hours a week. To the salaried, that would be no big deal. To a contractor, it’s a bit different. He has an obligation to the contract house that pays him to bill all working time.
So I put on my Project Manager hat and asked my friend a few questions. Like how many billable hours did he think it would take to complete this little Access tool? Well, the answer is, like the requirements, ambiguous. The closest he got was, "I don’t know." Hmm. So I asked him if there was a PM overseeing the effort. "Nope." So I asked him how he planned to analyze the solution if he didn’t have a firm grasp on the requirements. "Well, I think that Access can do this."
I resisted the urge to pull out the clue bat. To me, this has the potential to become a "problem project." You know the ones. No one actually calls it a project but it is one, no one has oversight but someone will be blamed, and the tool never gets delivered because the priority is too low. Meanwhile, the need still exists and there are business drivers that aren’t being addressed. When (read if) anything is finally delivered, it doesn’t do the things that the business needs it to do.
So how do I best advise my friend? What things can he do to avoid being the actual recipient of this potential problem? What would you do?