We develop systems and applications and we typically use contractors to help us reach deployment. But once we see that checkered flag (thank you Indy 500) how can we transition from development into maintenance. As I consider this question there are two things that I consider, risk and cost.
Let's look at cost first. When comparing development to maintenance, there is high liklihood that the objective will not be achieved in development work (see the Chaos Report) while getting there in maintenace mode is often much easier. Usually development work is more time consuming and difficult when compared to maintenance work. As such, I believe that maintenance work should cost less than development work. But then if it should cost less, it is really hard to switch gears with the development contractor and get lower rates.
This is where risk kicks in. We could get lower rates if we competitively sourced the work to maintain the system or application. But if we did that, someone who isn't the development contractor might win, and that holds greater risk.
Do you see the problem? We developed a system or application with ABC, Inc. and they charged us $200 an hour. Now my system is finished and I need to make modest changes over time to maintain it and to continue to deliver business value. But I don't want to pay $200 an hour, but at the same time, I don't want someone that isn't ABC, Inc. to maintain it. What is the solution?
The solution is that you must trust yourself. When you developed the project, did you do the right things? Did you receive GOOD documentation? Did you have the uncompiled code checked into a code repository? Did you have someone verify that is has been check in? Do you have an installation and configuration guide? Do you know how the development team developed it? If you can answer yes to these questions then you should feel comfortable making a clean break and competing the work to maintain the application on the open market. This competition should drive the price down. Hopefully the development team will compete, but because you have done the right things, you should have confidence that you will get good maintenance service at a lower price regardless of who is performing the work.
Alternatively, if you didn't do the things you needed to do; the documentation isn't good, the source code is just the compiled version, etc. you might be stuck. You can't get away from the development team if you don't have the documentation. If another team can't come in and pick it up then you will have problems trying to transition. I see this type of thing happening all the time. It is really frustrating for me.
Don't sacrafice your documentation. Make sure you are in a position where you can make that clean break when your project transitions from new development to maintenance.
No comments:
Post a Comment