“Do you do regular maintenance on our system?” This is a common question asked by prospects/clients who are thinking of developing a new project/system with me. I take this article opportunity to say my take on this.
Old, typical definition: This is not MY definition, but the one that I formed after talking to clients about what they think “maintenance” should mean. They typically think that maintenance means the following …
Client’s Mind Voice:
- After project is completed, whatever I ask for, you must do
- Ensure system doesn’t get broken and is always working
- Security (whatever that means, I dunno, but you should know and ensure)
- Whatever else maintenance means, you should know better, and you should do. In other words, a blank cheque.
- I haven’t thought of anything else yet, but when I do think of something, you must be there to do it for me.
Ok, all these are valid points … to a certain extent. But I’ll just expand on each of them, to clarify.
One my part, when a project is started, I start it by doing a detailed Specs Doc. This covers ALL details/factors/specs/mentionables of this project. This is so that you, the Client, know what you are getting, and I, the developer, know what to develop. Of course, at this stage, there are some 2-ways communications until the doc is mutually agreeable.
In other words, it is similar to any other quotation document, for example a renovation contractor’s document where he mentions all the jobs he has to do, and give the costs accordingly. So, there is no discrepancies whatsoever. If you want to add-on a “small paint job”, you can request, but it’s up to service provider (SP) to accede to it on a flexible basis, or to charge for it.
So, this addresses Point 1. SP does ONLY the agreed-upon set of work/features for the system. Anything else are officially considered add-ons with separate costs, with flexibility upon the SP to waive it if he wants. Fair enough?
So, “After project is completed, whatever I ask for, you must do” is ok, but with the respective costing for it.
Now, point 2: “Ensure system doesn’t get broken and is always working”. Yes, a responsible SP will/should ensure that IF you have some form of “contract” with him. Contract just means a standing understanding that he will ensure this, and you pay $x per month. There are clients who expect SP to come and fix things even when there is no such paid-arrangement with them. There is usually a warranty period of x months. But after x months, if something gets broken, just like for ANY other products, repair is payable. They can understand this for TV and other appliances, but some clients just cannot digest this concept for an IT solution.
Point 3: “Security”: this is a point that is worth repeating over and over again. There is NO system in the world that cannot be hacked, It is just a matter of whether a hacker is skillful enough and he wants to hack it or not. So, when an SP promises or a Client expects 100% security, technically speaking, there is no such thing.
In other words, it’s just like our house doors. If you put a $5 lock on it, a $5 thief can break in. If you put a $100 lock on it, a $5 thief cannot break in, but a $100 thief can. IT systems just work the same way. But as an SP we have to upgrade ourselves to put the best set of defense and security practices. That means we try to put a high-value lock on the system so as to minimise and security breach. But, again, there is no 100% security.
Points 4 and 5 are just very vague. It typically means: I cannot think of anything else, but if I do think of something later, then it must be done. It’s understandable that you cannot possibly, as a layman, think of ALL factors upfront. Sometimes, you might want something at a later stage. Fair enough. But expecting that as a free add-on is not fair enough.
As an analogy: if you asked to paint 4 walls, and now you have a 5th one, even if it is a small wall, it is just not your right to expect it to be included for free. It is only within the SP’s right. Requesting is fine, but there are clients who argue on such matters as if it is within their rights. A strict no-no.
All these so-called rules are what I think to be applicable not just for other people, but only to me if I’m a client. Fair is fair, right?
To one and to all.
So, in summary: Maintenance is not a blank cheque for future-anything, but my take is that it is a list-based set of regular tasks for which a service provider is paid for.