OK, here is the discussion about maintenance versus development. I mean there are hundreds of things that are different between maintenance and development right? I mean maintenance needs to keep track of source code and development … well, developments need to do so as well. OK, how about resourcing? I mean maintenance for a year has a defined start date and a defined end date and a certain amount of resourcing. Development teams? Well, they have a start date, an end date and a certain amount of resourcing. OK, but maintenance deals with small things, five or ten-day tasks and development deals with larger things and that’s different, right? RIght?
So what? I would love to be able to have a discussion with someone who can actually point out why a development team and a maintenance team need to behave differently. Keep budgeting out of it as it is not germane to the discussion of development versus maintenance, it is a construct that finance has in place. Assume that your development work or maintenance work is getting money from the Wizard of Dollars.
Now, based on that, what the heck are the differences between development and maintenance?
- Technology? No
- Implementation? No
- Scope of work? No (any difference is purely artificial)
- Reporting? No (any difference is purely artificial)
Let me present you my theory. Considering that I do not claim that I am a project manager I could be feeling the after-effects from mosquito bite poisoning but give me a minute to confuse you. My theory is that there is no concrete difference between a development project and a maintenance activity other than artificial differences created because someone felt there should be a difference. The only differences that I ever see are financial in nature and do not relate to how a project is managed or how a team does the actual development.
So what does this mean? We change how we do things based upon something that has no impact on the final product. The deliverable at the end is no different whether it was done as a maintenance activity or a development activity. I know what you’re going to say, that I’m wrong, that there is a difference. What I’m saying is that the difference is artificial and is solely based on the processes followed. If you followed the same processes you would end up with the same result. What you need to do is find the best process, regardless of whether you are a project or doing maintenance, and follow that process.
There are some companies that do not differentiate between “project” and “maintenance”. They develop the solution in the identical fashion. The differences lie in accounting and, in my mind, that is where they belong.
OK, let the mudslinging begin!!
(P.S. I’m on vacation while you’re reading this so don’t expect an immediate response.)