If you've ever developed an application or for an application, you've probably thought:
"This is fantastic! I bet everyone can take advantage of this. It's generic, flexible, and sure to fit the needs of most!"
Then you decide to take the next step and share it with the world. A few weeks pass, your generic one-size-fits-all solution starts getting some traction, and then it happens: You start getting requests to change what you think is already a perfect app:
"Can you make this available for this OS/Platform?"
"This is great! Could you also add this or that functionality?"
"This is ridiculous; how can your solution not handle this case?"
Been there? Don't feel bad. Most of us have been guilty of what is called the delusion of reuse. Before doing our due diligence, we post it out there for the world to see and use. According to Robert Glass in "Facts and Fallacies of Software Engineering", the due diligence for reusable components comes with two different considerations:
This can seem like a bit much, but having created some of these myself, I can attest to both of these points.
If you're thinking about creating reusable apps, components, or even functionality, make sure you keep the below advice in mind when creating a reusable component. (I personally love building reusable component and applications.) A few things you must consider include:
In summary, building reusable components is not easy. It takes experience, feedback from multiple sources, and the right idea. However, the difference between a success and failure could very well be in the platform you use to build on. At Appian we believe in empowering our designers to create enterprise grade custom applications by providing a single-stop platform for all their needs. We believe in a platform that makes app building easy, generates powerful, secure apps that work from any device, and is made with change in mind.
To learn more about howto build apps that keep pace with the demands of today's enterprise, and the fast changing technological landscape, I invite you to take a look at our Whitepaper on The Modern Enterprise Application Platform.
- Jorge Sanchez, Director, Product
Appian is the unified platform for change. We accelerate customers’ businesses by discovering, designing, and automating their most important processes. The Appian Low-Code Platform combines the key capabilities needed to get work done faster, Process Mining + Workflow + Automation, in a unified low-code platform. Appian is open, enterprise-grade, and trusted by industry leaders.