2018 planning (5 of 9): Modernize your applicationsDecember 11, 2017
Continuing on with our series to highlight Gartner’s planning guides for 2018, this post focuses on application modernization. It’s an area that’s front and center for Binary Tree, as we’ve been rolling out a spectrum of application services for our Domino customers, including our Domino on Azure service.
Application modernization is one of the most critical steps in any IT transformation. Simply put, most legacy applications can’t keep up with the digital era. They are often not designed with web and mobile in mind. They don’t give you the flexibility and scalability you need. And, many of them run on outdated languages that are decades old. For example, a significant amount of business transactions are still processed in COBOL, a programming language that’s been around since the 1950s (source).
For an application to be considered modern, it should:
- Have an excellent user experience, not only in how it looks but how it works
- Be made up of reusable components
- Be interoperable and open, rather than based on proprietary languages
- Be improved regularly and often, ideally on the fly
In 2018, software teams will be under more pressure to deliver great user experiences with higher speed, agility, and quality than ever before. Gartner predicts that:
- Applications with a poor user experience will fail
- Organizations will demand differentiating results faster and with more precision
- Expectations of high quality and ongoing improvement will increase
- Successful digital ecosystems require interoperability and openness
Here are some of the key actions Gartner suggests you can take in the coming year to modernize your applications.
Invest in user experience
User experience (UX) should be the first step in your development process, not the last. That’s why we’re talking about it first here, too. If your application isn’t easy to use, your users won’t use it. They’ll find workarounds. Or they’ll find another product. It’s that simple. Thus, UX is critical for applications big and small, and it’s about much more than just designing a sleek interface on top of an existing application. It’s making sure the application actually does what users need, as simply as possible.
There are many ways to bring in UX to your project. You can hire an in-house team or a vendor. You can use affordable online testing tools. Or you can even train existing team members on UX principles. No matter who you tap to lead this effort, Gartner recommends taking these steps:
- Define and apply personas and scenarios, which will help you scope the project and the application features
- Design your application to do a few things really well (scope features narrowly)
- Create lightweight prototypes that let you fail fast and try again quickly
- Use data to tell you exactly what people are doing
- Run user studies to ask people why they’re doing it
Improve software often
For most organizations, it can take weeks or months to release new features or even simple bug fixes. But what if you can reduce it to only a single day? In a truly modern application, that should be your goal. Your software should be nimble enough to let you make changes on the fly. Only then can you satisfy today’s customers and keep up with your competitors.
The best way to do this is through continuous delivery. Design your applications and workflows so you can test and release small tweaks in isolation, without affecting the rest of the product. Adopt agile practices and automate previously manual tasks. This is no longer the time for manual testing and deployment, which takes too long and can be prone to error.
Be open and modular
When you’re developing new applications, make them as open and interoperable as possible. This is how you stand out and thrive in today’s digital ecosystem. Choose platforms and frameworks that embrace open standards and make it easy to integrate.
Also design new applications to be modular from the ground up. Developers shouldn’t have to write the same functionality again and again into their applications. Instead, they can pull from a library of “grab and go” code that will jump-start development and will help keep things more consistent, agile, and secure.
For legacy applications, you don’t necessarily need to rip and replace. Instead, refactor any important, monolithic applications to be modular, which will also make them easier to maintain. These applications have served you well for years, so keep valuable features and discard what’s you no longer need.
Cultivate a culture of learning
To help facilitate all of the above, encourage your software teams to keep learning. They should stay fresh on the latest software architecture patterns and principles, like ways to reduce the size of the units that you deliver and deploy. They should also ramp up on containers and cloud-native platforms.
Partner with an expert
As I mentioned, this is an area in which Binary Tree can help. We can guide you through the steps to modernize Domino applications and get them ready for the Microsoft platform. Check out our Domino on Azure service.