I'm talking with a client who wants me to help integrate three pieces of software that are already in development. They are new to custom software and they contracted out each piece without specifying that each of the three should talk to each other. I don't think it'll be that bad getting these to all work, but I am concerned about specifying the liability. Who will be to blame if I write method doSomethingWithBoxesAndScissors(box, scissors), and the other contractors produce code that sends ill-formed scissors in as an input? I can't rely on a pre-written spec because there is concurrent development happening with very little of it pre-specified by the client. And I am a bit concerned that one of these teams will go rogue at deliverable time, cut some corners, get their piece accepted, and leave me holding the bag.
The client says that I am allowed to direct each of the teams on what they must do to achieve the integration goal, and they must accept my direction. The client is also fine with me billing hourly, so I'm not worried about getting squeezed on a flat fee. But I am a bit lost on how to define liability. The client, understandably, wants me to accept some liability. But they are looking to me for guidance on this.
Had anyone else dealt with this? How did you define the liability?
You are being asked to accept liability for people without an incentive to deliver good work of whose reputation you don't know.
The more unspecified the liability and acceptance/delivery or services description is, the more likely you are to end up with an endlessly "unhappy" client who won't make more payments but won't say it's all finished.
I suggest you run. Never take liability without responsibility, especially not without any large upside possibility. In the absence of clarity, clients will try and argue that you own the liability because you directed other people for the final product. You want to specify details and work against them with a healthy 20% buffer of extra quality/work to make sure the client can never argue you didn't fufil the work. This is the opposite of that. Don't do it.
reply