IDP

One of the most powerful secrets of the McCarthy Protocols is the Intentional Development Protocol, or IDP, which is not actually one of the Core Protocols, and which I can’t find a link to, so I’ll attempt to describe it here:

It’s pretty commonly accepted that in making any product, a team has to perform a wickedly difficult balancing act among three attributes: resources required, time required, and quality achieved. Usually, the problem is that there are a fixed timeline and fixed resources for building the project, but to get a product of high quality, more time and resources might be needed.

Scary Idea: What if we could have it all? What if we could have a high-quality product on time with exactly the resources we have?

IDP is a suggestion for how to do this:

  1. The team decides on a clear Shared Vision, which is a far future vision of what the world will be like after the team completes all of its work on this planet. (Note: “team” includes those of the marketing and product management persuasions, as well as developers.) It is a requirement that every member of the team believe that the Shared Vision is truly great.
  2. They decide what this Version will be, which is just a smaller version of the Shared Vision or the next step they can take toward it. (This is usually the product that will be shipped by the next ship date.)
  3. They decide and prioritize a set of features for the Version, each of which directly support the Shared Vision.
  4. They start implementing those features one by one, starting with the highest priority one.
  5. When the ship date is getting close, the team stops adding features and focuses entirely on testing and polishing.
  6. When the ship date arrives, the product is shipped.

This is a neat trick. Since the Shared Vision is considered great by every member of the team, and every Version is completely aligned with the Shared Vision, and every feature of every Version is directly in support of the Shared Vision, then the product development can stop whenever it needs to in order to meet the ship date and the team will still consider the product to be great. In other words, the team delivers great products on time every time with exactly the resources they have.

For example, if the Shared Vision is, “a computer on every desk,” then Version 1 might be “a computer on every desk in the company.” In this particular example, it isn’t directly obvious that Version 1 is a product, but in a sense it is. Once the company has completed it, they have added wealth to the world.

Currently, we’re on Version 1 of our Shared Vision, which is the tagline of this blog: “Enabling Mental Freedom.” [Edit: We’ve changed our Shared Vision since this post.] One really effective way to enable mental freedom is to encourage new ways of thinking, so our Version 1 is to each teach the other a new way of thinking. I asked Charlie to help me rekindle my passion in programming, and he asked me to help him understand the Chinese cultural concept Guanxi. If we succeed, not only will we have made progress toward our Shared Vision in that each of us will have more mental freedom, but we also will have gained valuable insight into how to enable mental freedom in others because of having experienced the phenomenon ourselves. If we fail, we’ll probably learn even more valuable lessons from our mistakes.

I’ll tell you how it goes.

– Kia

Leave a comment