A good architecture is consistent in the sense that, given a partial knowledge of the system, one can predict the remainder.
Fred Brooks The Design of Design
Fred Brooks is well known for The Mythical Man-Month, but his newer book The Design of Design is also worth reading. He takes general design principles and applies them to computer software, computer hardware, buildings large and small, aeroplanes, bridges and more.
One of the main themes of The Mythical Man-Month is conceptual integrity. He carries this drumbeat over to The Design of Design and explores it some more. For my own part, there is a joy in being able to predict where something is in a system, or what it’s called, because of the consistency running through the system.
2 thoughts on “Quote of the week – consistency”
One of the keys to good design is deciding what things should be consistent, and what things should have no pretense of consistency. Many designers paint themselves into a corner by striving to make things consistent in cases where there’s little benefit but also little apparent cost, only to find that while the consistency never offered much real benefit, programmers have come to rely upon it in ways that block future design improvements. Sometimes it’s better to make some things be deliberately inconsistent than to allow programmers to become reliant upon things that happened to appear consistent, but had no real semantic connection.
This is a really good point – things looking similar when they’re actually different can be just as confusing as the reverse. Sometimes we want to make a deliberate point that these two things are not the same.