|
One of the fundamental problems of outsourcing is, if someone is not by your side, how do you know what they are doing?
There are technological solutions (you can have them check in code regularly and review the code throughly). There are business process solutions (daily email reports, workflow checks on what everyone is doing).
The one that works the best, however, is trust. One of my employees reminded me of that just this morning: nothing compensates for really trusting deeply the people you work with, to do even the tiniest things well and, importantly, on-time.
The challenge of outsourcing is, of course, finding people you trust. And it's hard to do that.
DP uses a few processes to help us find people we trust. One of them is our insistence on "test projects" before we hire anyone, so we can get a sense of the quality of the programmer's work and his discipline as an employee. We have other methods, too, and they might be corporate secrets, or maybe I'll reveal them in future blog entries.
One of the basic challenges is, what happens when someone slips through, and you hire someone but start to have problems? Here are some strategies that are worth articulating at the very least (and I will examine later):
- The Jack Welch strategy is to make sure everyone always knows they're replaceable
- Always use pair programming and other sorts of redundancy, so that people can compensate for each other
- Never reward bad behavior: Be willing to fire people when necessary
More to come later...
Link
|