First, context switches between cooperation and competition are a part of every healthy business relationship. A business relationship is healthy if it benefits both sides, and even then it is a matter of negotiation how the benefits are distributed. However, after all the contractual issues have been dealt with, the actual work relationship is seldom a zero-sum game. You should never play such a game then. During implementation, your only game is to minimize the risk of failure and that is a cooperative effort if anything.
As a general rule I take the advice from our salesman, an old hand in both buying and selling: It is much more common for customers to lead on their suppliers with empty promises than the other way around. This is simply because bills are generally paid after delivery. There are million ways to milk something out of the supplier before you pay, even if billing is done by the hour. Aside from this generalization, there are a few specific tactics in SaaS contracts.
Client tactics
Bypass agreed procedures
Clients want to take direct connections to developers and bypass any support staff. Getting a direct connection to a dev means that the client gets prioritized service. Hardly any developer can say no to a client in a phone call, and as a result the dev has to reschedule other work. Compliant clients get hurt by rogue clients. This leads to a phenomenon where clients fight for direct access to devs and developer productivity is seriously hurt by continuous interruptions. In this situation, the SaaS company cannot manage its resources anymore, it is the clients who run the show. Management, and only management can resolve this problem by convincing the clients on the benefits of due process (more resources, SLAs etc.).
Renegotiate everything
Everything can be negotiated and renegotiated up to the point when money changes hands. You can receive an invoice and still renegotiate. Only when you pay is the negotiation over. Constant renegotiation is what vendors mean when they say that clients lead them on. Clients lead vendors on with empty promises on payments and usually don't face any consequences... if they eventually pay. So, if you are a SaaS customer, you can play with your vendor and always keep some promise money in the air. As long as the vendor has "money in waiting" they will serve you better, at least in normal circumstances.
Vendor tactics
Avoiding paperwork
After the contract is signed, vendors lose all interest in producing any documentation. You see, this puts them in a lot better negotiation position for the whole application lifecycle time. Usually, people in the customer's side change more ofthen than in the vendor's. And when there is no documentation whatsoever, all the past promises are written off when people change.It is true that customers can use this tactics too, but this is not the point. Customers can always ask changes for any contract, written or not. I'm just saying that customers benefit if they keep a written record of the software they have purchased, and especially, of the agreements to improve it.
Minimal transparency in problems
Software fails. Even Google did. Let's see how they explained the issue to their users:
Unfortunately (and here's the human error), the URL of '/' was mistakenly checked in as a value to the file and '/' expands to all URLs. Fortunately, our on-call site reliability team found the problem quickly and reverted the file.
Unfortunately, there was an error during the update. The error was quickly found and fixed.
Never take such an explanation at face value but ask for technical specifics. You are entitled to ask for details, and if they are not delivered, something is wrong. I would even suggest that you should always ask for more details, even when the first explanation was a decent one. But don't bug your vendor needlessly, it will cost you your reputation and your issues get less attention.
Unused support, training and consulting services
A big part of the income in SaaS comes from extra billed items like support, training and consultancy hours. These are most profitable if the service is not rendered at all! That is why vendors push fixed-hour contracts. If you pay for x hours of support, demand a detailed report of the support you have received. Beware that vendors can try to inflate your support report if you pay for more than you actually need. Even if the SaaS software is truly useful, I think it is usually better to buy too little than too much support and training. Your people will have to learn by themselves. On the other hand, if the SaaS solution is needed only occasionally, it might be better to buy the actual use of the software from the supplier, as consultancy.
"Dedicated" servers and other cost-cutting methods
If you take a dedicated server, always demand a remote access with administrator priviledges and try it occasionally. It is very easy for the vendor to cut corners here. Remote access is the only guarantee that you really have a dedicated box. If your supplier starts to negotiate at this point, they probably don't have real dedicated servers, or don't have any security in place between their servers. There is no way to tell except logging in to the server and checking things yourself. All arguments against a remote connection are bulls**t to hide something. Remember your best argument: It is your data, not theirs and you have the right to take your data out as needed. Did I mention that you have to ask the rights to take backups of your database, too?
There is a small caveat here. If you are incompetent and careless, you might break the service. Really, this can happen because SaaS is usually not productized for external administration. However, If you are afraid of this, you really shouldn't take the overpriced dedicated server ;) It is not worth it. Just make sure that there is a procedure to get your data out fast.
-mika-

0 comments:
Post a Comment