Worse is better?

Many years ago, there was a?paper?decrying why seemingly “worse” technical languages were beating out “better ones”. The author came to the conclusion that it has to do with the order in which certain properties are respected - does the language favor completeness and correctness over simplicity? Or is simplicity the most important thing, followed by correctness (of what’s there) and completeness being neglected when there’s a conflict?

It’s a good way to look at software design as well. It’s very hard for engineers to let go of parts of a problem - we tend to be obsessive types, so if it occurs to us, we want to fix it. This is especially true in the world of enterprise software where every buyer wants every item on their checklist, and so solutions tend to have a kitchen sink feel to them. It’s hard to say no! It’s even harder to take something back out once it’s in.

And we need to remember, even though software in many ways is less constrained than physical systems, it still has constraints - we can’t do everything, even if the constraint is just our ability to pay attention to and test all of it. So if a team implicitly favors completeness, simplicity and even sometimes correctness will eventually suffer. This is why really good design in software is so hard to do - most teams, most of the time, feel enormous internal and external pressure to add complexity, not take it away.

The point of software though is to get a job done. In the consumer space, it’s very important to articulate that value clearly and simply, and so “worse is better” usually prevails - winners tend to be the fastest but also the clearest and easiest to use. But it’s hard to keep working on simplicity - isn’t it simple enough? Let’s add some features! Every company does this, and this drive to make things more complex and fragile, over time, leads to openings for competitors to come back in. This is a big part of where the “consumerization of enterprise” came from - old school enterprise companies had gotten overgrown and hard to use. New ones came in that were much more focused on simplicity and ease of use, and even though they were “worse” in terms of the old regime, they were better for users and successful in a world where there is more user choice for business software.

It’s easy to get lost in software. We want to build large, complete, complex systems, and software is really good for that. But it’s not always the right thing for the user, and sometimes it’s not even the right way to succeed. Sometimes Worse really is Better.

Jeff Barrett

Product and Technology Leader

2 年

Stings a little because it's so true.

回复

Make simple?things?simple, make complex things possible; in that order.

Do you mind if I share this with my students?

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了