Wow...what a big title. I thought up that one all by myself. But I think i describes this random thought.
I am always getting myself in trouble when it comes to getting things done. I sign on as leadership of specific projects and end up not delegating some aspects of the project out. What then happens is some people on the team end up waiting for me, thus making myself a "bottle-neck" in certain areas.
They depend on me to get it done. I came up with the idea and need to see it through. So I am coming up with some new thoughts on better task delegation and ways of packaging up tasks.
Back in 2001 as the Internet bubble was about to burst I was working on an internet telephony software for a company in San Francisco. The project came to me through a contact at Ernst and Young and we were creating a private network for newspaper publishers to conduct editorial meetings.
I was research Internet Protocols and really zoomed in on how Internet communication occured. The Internet communicates using packets, each transmission is made up of hundreds or thousands of packets. Each packet contains a header, the header tells about the packet itself like a set of instructions.
I am starting to think of project tasking like this. A lot of times as part of a project I will be research a specific topic like OpenID implementation or SVN post commit hook command.
In a lot of these cases I'll figure out how to do this, but then rather than delegating I actually implement this myself. This is a big mistake. I need to package it up, give it a header.
How I do this is by creatingn a prototype of how it works, package it up with a blog posting explaining it as well as add it as a page on the Wiki. I send this out with working prototype link.
Essentially I am creating a header explaining what this package does and how to implement (where to go with it). Then its up to the network to route and distribute this package where it needs to go.
Thus alleviating the bottle-neck. Just a random geek thought.