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 a software company that automates business processes. The Appian Platform includes everything you need to design, automate, and optimize even the most complex processes, from start to finish. The world's most innovative organizations trust Appian to improve their workflows, unify data, and optimize operations—resulting in better growth and superior customer experiences.