Back to 2015-proposals
Title: Open Design Proposals for Design Evolution
Proposer: Austin Bingham
Type: Talk
Duration: 90 mins
Description:
This talk is about what I call Open Design Proposals, a technique for helping make the process of design
evolution more transparent by deliberately and explicitly opening up major decisions for observation
and review. The main point is that making things like design proposals, architectural decisions, roadmaps,
and major drivers visible to and open for discussion by all stakeholders in a project - at least at some
level of detail - provides many significant benefits including:
● Helping ensure that important details aren’t missed
● Communicating a design such that developers can:
○ faithfully follow it
○ more importantly, detect when it’s being violated
○ or recognize when it’s incorrect
● Enfranchising development teams by giving them a voice in architectural decisions
● Generally, harnessing the significant benefits of peer review in the evolutionary process
Open design proposals are not rocket science, and they are widely used in the open source world.
Significant examples include Python’s “Python Enhancement Proposals” (PEPs) and Java’s “Java
Specification Requests” (JSRs). Similar ideas can also be found in many commercial projects. In all cases
there are important common threads, and the main goal of ODPs is to recognize and understand this
useful core, helping promote well-documented, well-thought-out, well-communicated, and high-quality
decision making.