Here’s a strange interview I did with the lead developer of Drupal, a software project which is dramatically re-architected for every release, about general philosophies of change.
You’re sort of explaining striking a balance between hierarchical values and non-hierarchical values. How do you manage the relationship between those two types of concerns, and when there’s a new concern that appears, how do you determine whether it’s a hierarchical concern or a non-hierarchical concern?
Let’s say you go to a restaurant and you order fish. You don’t care which truck brought the fish to the restaurant, do you? Sometimes it’s as obvious as that. You have to do what’s right for the operator, the fish is fresh and what have you, but we don’t care what truck gets the fish to the restaurant. Everybody understands that, even the truck driver. Maybe it’s not a great analogy.