Sean Goedecke: “Much of the complexity is produced by a small set of what I call wicked features, which interfere with every other feature. For instance, adding a whole new user type: once you do that, you have to ask can this user type access this feature for every feature for the rest of the company’s life.”