Why Investing in Code Reusability Is a Must
Today, the ability to react, respond, and differentiate is crucial for a business to thrive. But with growing backlogs, tech talent drought, and constant changes in the business environment, how can organizations innovate and meet their customers’ and users’ expectations in the right time-to-market? Enter code reusability.
In this blog post, Beatriz Clarke, Applications Development Manager at STEMCELL Technologies, shares how code reuse helped the biotechnology company accelerate their app development while succeeding during the COVID-19 pandemic.
STEMCELL Technologies is a Canada-based healthtech company dedicated to providing high-quality cell culture media and cell separation technologies to scientists around the world working on stem cell, immunology, cancer, regenerative medicine, and cellular therapy research. In order to keep up with the rapid pace of change in stem cell science, adaptability is a must.
Before we invested in OutSystems, our approach to technology within the organization created an “us vs them” mentality, siloing our development team and our business users away from each other. Our legacy solutions kept us from shifting the relationship dynamic in order to enable and drive ownership of technology solutions within the business.
In order to drive ownership and accountability with our business stakeholders, we took a hard look at our process to see where things were breaking down. One issue we discovered is that we were spending most of our time maintaining our apps, leaving little time left over for innovation. That’s where code reusability comes in.
What Is Code Reuse?
Code reusability gives you the ability to reuse code multiple times so you can develop applications faster and with more consistency.
The reusability of code isn’t just good for efficiency and productivity; reusability also opens you up to new levels of innovation by helping you avoid the need to reinvent the wheel every time you start a new application.
Benefits of Code Reusability
Our approach to code reuse was critical to helping our firm meet the needs created by COVID-19. Had we not had an approach to code reusability in place, we may not have been able to closely engage with our business users to give them the timely support they needed to serve our customers while adapting to work from home.
In fact, thanks to code reuse, we were able to build an application to support our COVID-19 response internally within 24 hours. After rolling it out to our 1,500 employees globally, we were then able to take feedback from users to quickly iterate and improve the app to meet our employees’ needs during the crisis.
There are three critical benefits to code reusability:
- One code. By coding modules once correctly, you can then just drop already-built modules into apps without having to worry about writing all new code.
- One fix. Similarly, you don’t have to edit or debug code in multiple places. By centralizing the code in one place, we can make all our edits on the code there, which then gets updated in any app using the code module.
- One developer. Rather than have ten different developers solve the same problem ten different ways, code reuse reduces complexity while ensuring consistency.
How We Made Our Code Reusable
Once we had OutSystems in place, we invested a few months building out reusable modules and templates for dozens of use cases ranging from single sign-on to integrations. These modules were built in a way that would allow us to easily scale and grow regardless of how complex our application requirements would get. Almost every app we create now uses those modules.
One thing to keep in mind is that code reusability doesn’t mean an end to innovation or custom applications. Quite the opposite: just as you can build almost any structure out of building blocks, reusable code modules let you easily mix and match to build almost any solution you can think of.
In addition, when we do get requests for customized requirements, we can spend all our time prototyping the customization instead of building out the basics. Interestingly, because we can now build apps so quickly with reusable code, users often discover that the app we build has the functionality they require without the customization, saving time and complexity.
Business and Development Closer Than Ever
As a result of our approach to code reuse, the relationship between the business side and our developers has completely changed. Instead of users throwing requests at us and waiting for months for us to come back to them, we are able to work by their side to build demo apps and create ownership on both sides.
This hybrid approach has created more trust, not to mention far faster time to value. It also encourages users to come forward with more innovative ideas, knowing they won’t be relegated to development purgatory. Most importantly, it allows us to build high-quality, secure apps that are prepared to sustain constant changes in the future.
This article is based on an interview with Beatriz Clarke at the Cloud Innovation Summit. To watch the full session, visit Cloud Innovation at the Speed of Change: Facing Technical Debt Head On. And to learn more about how OutSystems promotes code reusability, visit our Evaluation Guide.