I have a project at work that is posing a sort of problem for our team. This project, let’s call it project FERRET, has been requested by a rather influential person. This is not a new project, it is making functional changes to an existing system that to a large extent works, albeit clunkily. He has indicated that, in his view, the requirements of the project are rather simple. And if you look at exactly what he wants, he is correct.
The problem arose when we talked to the users of the system and actually looked at the system itself. It is a mess. To really make a system that I could be proud of, it needs a ground up rebuild. Our team has come up with some great ideas that would result in a wonderfully flexible, clean system that would really take the drudgery out of dealing with this data for the people who use the system and let them actually do their jobs instead of paperwork and cutting and pasting. But that will take at least 9-12 months. We don’t have that kind of time.
So we have come up with a short term solution. It isn’t bad, and I am thrilled that one of my teammates came up with it, because I couldn’t think up with a way to cut this project down. I was stuck in my own head with doing it the “right” way.
In the end I hate having a situation where we can either do something that works, but isn’t the best answer in the required time, or do great work that we can be very proud of that will make our team look damn good with a powerful person on campus, but not in the time allotted.