Agile methodology types often tell the story of the chicken and the pig. This allegory highlights a symptom of a much larger problem: that many managers do not know how to effectively delegate.
Good delegation requires that implementation, authority, and responsibility all lie with a single party (one person, or possibly a small group). A definition for each:
- Implementation is the doing of the work. This is often a further subdelegation - to other workers, or to machines. (Programmers spend the vast majority of their time delegating work to computers.)
- Authority is the power to marshal resources for the task and make decisions about how it will be implemented.
- Responsibility is being held accountable for the results of the work.
The triad of implementation, authority, and responsibility must be kept intact in all circumstances. When it is broken apart, inefficiency and bad results are almost always the outcome. Both the delegator and the delegatee are left unhappy and demoralized.
Why must these things be coupled? Run through a few decoupling combinations and it should become pretty obvious:
- If someone has authority but no responsibility for the outcome, they’ll tend to make decisions based on factors other than the quality of the results. This is the chicken role in the chicken-and-pig story: they are not committed.
- If someone has the implementation task but no authority, they won’t be able to muster the resources necessary to do the job. They’ll have to resort to deal-making with peers to acquire the resources they need. This describes the dysfunction in the middle ranks of many large companies; the entire organization is a tangled web of political alliances created just to allow workers to get the resources they need to complete the tasks they are assigned.
- If someone has the responsibility but is not the implementor, they’re going to be stuck wringing their hands and stressing out, but unable to take any action to forward the goal. Or, they may might try to do something to affect the outcome, and result in locking horns with the assigned implementor or otherwise making a mess.
How do you delegate in a way that keeps these intact? Break projects into subprojects, but bundle the implementation, authority, and responsibility together with whoever is assigned to each subproject.