# What are the goals of the program design process?
Abstractly, the goal of program design is to identify an area where coordination between projects will yield better results than a number of independent projects and it seems like that coordination will not emerge unless somebody pushes that coordination. [[Program design is a coordination tool]].
* Make the program legible
* Maximize the efficacy of the program
* Gives you a way to know how you’re doing in a program
* Make it clear that the program is the sort of thing that the institution should be working on
The fundamental goal of the program design process is to set a program up for success. This perhaps goes without saying, but it’s worth starting with because it’s easy to get lost in all the instrumental goals.
I suspect the best way to set a program up for success is being able to say concretely *with detailed reasons*:
* What specific ~five-year goal would “unlock” an ambitious technology vision.
* “Unlocking” is a fuzzy combination of making people realize that the vision is possible at all, creating the beginning of a trend line that can plausibly be extended, and making extending that trend line seem like a feasible and exciting goal to people who will work towards it or encourage+enable others to do so.
* What projects should happen to achieve that goal.
* How those projects should be prioritized. The priorities are based on which projects go after the most-likely-to-fail <[[The monkey and the pedestal]]> and their dependencies.
* Which individuals or groups are well-suited to do those projects. Ideally you will also be able to say that they are ready and willing to do that project under some specific set of conditions — funding, etc.
(The Heilmeier Catechism is one way of addressing these questions)
Roadmaps are living documents ([[How can we make roadmaps living documents?]], [[Make living documents]]) that attempt to encode most of these points. Their purpose is threefold:
1. Act as a mechanism to get groups with resources (foundations, governments, companies) on board with the program. Some of this is from the actual arguments of the document and some of it is from the “proof-of-work” that will hopefully be verified by other experts.
2. Act as a thinking tool to force you to contend with contradictions and hard truths in a vision as you pull it down to specific object-level statements.
3. Act as a coordination tool. < [[Program design is a coordination tool]]>
[Web URL for this note](http://notes.benjaminreinhardt.com/What+are+the+goals+of+the+program+design+process)
[Comment on this note](http://via.hypothes.is/http://notes.benjaminreinhardt.com/What+are+the+goals+of+the+program+design+process)