Speccing out contracts smArtly! aka, Automatically Building Awesome Teams

Another big post this weekend! I’ll explain how I spec out a contract, divide the work into meaningful divisions, and how I handle asset revisions. I’ll even explain a bit of the psychology behind it that helps me automatically build kickass, super-talented external art teams. 🙂

My typical approach to pricing something out — especially tricky and difficult-to-quantify work — works pretty much like this:

1) Provide a highly accurate initial spec, but keep cost flexible.

Explain and detail all the work in advance as much as possible. Setting initial expectations early is important for all future negotiation, for more reasons than you might think.

Always leave flexibility on cost on the table. Let the contractor know that you’ll adjust prices up or down depending on how the first batch of work goes. If it’s harder, negotiate the price upward. If it’s simpler, negotiate it downward. Being open, candid and fair in the beginning of the negotiation process pays off down the road, and by the end of this post you’ll see why. 🙂

Ultimately, it gives both of you an opportunity to show the other that you’re interested in offering fair value for fair value, and that you’re not going to get everything you can out of the other guy for as long as he’ll tolerate it. This emphasizes transparency and helps build trust. Being candid and fair like this strongly encourages reciprocation, and you’ll quickly weed out vendors that aren’t worth working with if you take this tack up front.

2) Divide the work into as few meaningful divisions as possible.

Typically I’ll divide this down by asset type, and then by difficulty. There’s a kind of art to it beyond that, though. I don’t like dividing or categorizing anything too much, because at a certain point it become too granular to organize efficiently. Too big, and it feels to both parties like nothing ever actually gets done. A division should only be as large as it makes sense.

If I’m outsourcing a full character, I try to keep each chunk fairly flexible. I’ll price out the individual cost of the model, the texture, and the rig and make that precise, then I’ll add those three numbers together, round up to the nearest hundred or so, and that’s the cost of one average Character. It leaves wiggle room for small variations.

For example, say it needs 100 more polygons or if it doesn’t need that 64×64 texture. No big deal, no renegotiation needed. It all averages out. I’ve gotten stuck in the trap of suddenly needing to renegotiate for a 512×256 instead of a 512×512 texture in the middle of working on a single character because I had each stage priced out differently, and that sucks. If the difference is substantial, then sure, you’ll renegotiate. But don’t sweat the small stuff, and price out the work accordingly.

Remember: Your goal is to keep the new art rolling in, not spend all your time figuring out how much to pay for each Space Marine’s toenail.

When the workload is less discrete than “one character,” I’ve had great results by dividing each chunk of work into 1 to 2 day segments on a contract that’s invoiceable every two weeks. Contractors all love accomplishing something every day or so, and having a regular bi-weekly payday. Morale stays high and they keep cranking out results consistently and without getting bored. This is my favorite sweet spot.

Which leads me into two more very important considerations: ease of amending the contract, and ease of invoicing. If you broke it down into reasonably modular chunks, it’ll be easy to add on extra work to an existing contract without mid-stream renegotiation. Example: “Okay, turns out we need 3 more Weapons and 2 more Helmets. Let’s slap that onto the contract.”

However, if you priced it out as one large block or added some type of strange and arbitrary division in the middle of a piece of work, billing and invoicing gets complicated. You don’t know how to amend the contract to add or remove more work, so you have to put on the brakes in the middle of production to figure out what the hell to do.

BUT, if you show initial goodwill and flexibility and divide the work meaningfully, this is a nonissue and production keeps moving smoothly. Essentially, you’re frontloading all the serious negotiation so you don’t waste time midway through the contract trying to figure out how to price additional work. This really saves enormous amounts of time later if the workload increases or decreases, or if the contract is split up into separate invoiceable segments.

3) Roll a preset revision number into the per-asset cost, then price out extra revisions as a separate percentage of that.

Defining an acceptable number of revisions in the beginning of a contract is crucial. I like the number three as a safe buffer built into the cost of each individual asset or chunk of work. If more than three revisions are needed, I’ll pay an agreed-upon percentage. If 50% of the asset has to be reworked, I’ll pay 50% of the cost of the original asset. If 25%, then 25%. If the asset has to be COMPLETELY redone, however, that’s a different issue. I *always* include provisions detailing when a “revision” turns into a completely new asset, and who eats the cost of that rework. I’ll explain…

Iterations are ultimately a useful metric for determining whether process improvements need to be made. If I spec things out properly, explain them well, and I pick the right contractors, I shouldn’t need to revise anything more than twice. Period. If I’ve failed to spec something out well and that creates extra revisions beyond what we’ve specified initially, I’ll revise the spec, then pay the contractor the agreed-upon amount of rework, and I eat the cost of my mistake. If I suck, why should my contractor have to pay for it? They did exactly what I asked, nothing more.

Think of it like this: Imagine your boss comes to your desk at your salaried job and tells you “Yeah, you did all that work I asked you for, but I actually don’t know what I want, and I still don’t, but I’m not going to pay you this month.” A *lot* of managers treat external artists this way and see nothing wrong with it. Don’t be that guy.

Contrariwise, if my spec is good and it’s simply the contractor that’s sucking, it’s up to them to give me what I want and eat the cost. They’re not living up to their end of the bargain, which we agreed upon before we even started work. This is exactly why I preach cost flexibility and transparency up-front: it makes people more honest, less defensive and more willing to admit that they made a mistake. If they take any pride in their work and if they value my business, they’ll make it up to me. If we can’t reach a result we both agree upon, then I cut the contract short, pay them for all the completed work up to that point, half the cost of the asset they failed me on, and then I go find a new vendor.

Speccing and negotiation is actually my favorite part of the outsourcing process, because it clears away all ambiguity, it speeds up production and every stage of it is an instant and binary vetting process! If you draw them into your framework of honesty, candor, transparency and specific predetermined expectations, any deviation from that will be immediately obvious to both parties. When that happens, the only possible responses are 1) fix it or 2) break it off. There’s no ambiguity, there’s no guesswork and there’s no drama.

That’s the beautiful thing about it: Only winners and worthwhile people will be able to continue working with you. The people that aren’t essentially disqualify themselves as time goes on. And it all happens automatically, because the conditions of working with you are so transparent, open and clear that you’re never left wondering what to do when a problem arises. The key is to maintain a healthy level of self-reflection and be willing to admit that you’re wrong if you made a mistake.

If you operate by those rules long enough, everyone that isn’t worthy gets replaced and you’ll find yourself only working with extremely talented people of high moral character… automatically. 🙂

Questions, comments and criticisms welcome as always!

One thought on “Speccing out contracts smArtly! aka, Automatically Building Awesome Teams”

Leave a Reply