Chapter 11. One Line of Working Code Is Worth 500 of Specification

Allison Randal is chief architect and lead developer of the open source project Parrot. In more than 25 years as a programmer, she has developed everything from games to linguistic analysis tools, e-commerce websites, shipping fulfillment, compilers, and database replication systems; worked as a language designer, project manager, conference organizer, editor, and consultant; been president of an open source software foundation; written two books; and founded a tech publishing company.

Allison Randal
image with no caption

DESIGN IS A BEAUTIFUL THING. A systematic, detailed presentation and review of a problem space and solution reveals errors and opportunities for improvement, sometimes in a startlingly dramatic way. The specifications are important because they provide the pattern for building. Taking the time to think through the architecture is important, both on a macro level with an eye for interactions between components and, on a micro level with an eye for behavior within a component.

Unfortunately it's far too easy to get wrapped up in the process of design, enthralled by architecture in abstract. The fact is that specifications alone have no value. The ultimate goal of a software project is a production system. A software architect must always keep an eye on this goal, and remember that design is merely a means to an end, not an ...

Get 97 Things Every Software Architect Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.