Matt Mullenweg, speaking at The Economist Innovation Conference this week (from Mashable):
“Software design has fundamentally changed.” Mullengweg said. “There is no such thing as a ‘killer feature’ anymore because of extensions and plug-ins — if an app like Firefox or WordPress doesn’t have the feature you want, you can add it with an API or a plug-in. It means that everybody has a different, unique version of WordPress, and thus it changes how he builds on his platform.”
Matt’s point has merit far beyond the open source movement. With rare exceptions, you can’t demand that your customers adapt to the processes and work flows designed into your software, and then expect to see continued growth. People and companies are unique and want software that matches the way they work and that keeps up with them as they grow and change. Even with user-centered design processes and regular feature updates, a single product can’t accommodate everyone. If you build software that’s easy to customize and extend, then what you build becomes less a like a product and more like a platform. If you make it simple for people who build customizations to share them, you’ll gain widespread adoption and you can attract a more diversified customer base. And barring a major technology shift (such as the shifts from mainframes to personal computers to cloud services), a platform is more likely to meet customers’ needs longer.