Every organization needs to keep its software relevant to users, with up-to-date features and appropriate technology. But budgets and resources are finite, making it impossible to refactor every business application. Here are several ways that Platform-as-a-Service (PaaS) can help your enterprise.
It takes quite a while to integrate software updates in businesses. In the world of Microsoft software, users and IT departments have come to expect a major upgrade every few years. Office 2010, for instance, came out three years ago; Office 2013 is just now releasing to volume customers. Large ERP installations can take years for customers to fully implement. All the while, economies are changing, markets are shifting, and your competitors are getting sharper.
With most of us living on Internet time, why does software still take years? And when it comes to custom enterprise apps, why does it take so long to build solutions? Why are they so hard to change?
As much as software changes, it too often stays the same. Despite a stunning array of new development tools and techniques, many developers are afraid to change. They chug along with what should be considered legacy tools: older languages, IDEs, and frameworks that elongate development and make iteration difficult.
Some software is still necessarily complex and time consuming. You simply aren’t going to kick out a comprehensive supply chain solution in a few days or weeks. But these beasts can be continually modernized and enhanced by adding layers of freshness on top.
Picture a Harley Davidson motorcycle. Even the best bike builder won’t go deep in the bowels and customize the transmission or gussy up the pistons. But customizers can rather easily put on sweet new wheels, paint the gas tank, or add a killer new stereo.
Think of your enterprise app that very same way. The core software is the engine and transmission. These you can modify but not revolutionize without difficulty. Other aspects such as the user interface (UI), workflow, and mobile access are like paint, tires, and chrome. They don’t take long to add, and they sure do make a difference.
One close observer said that an application can be thought of as something living: To survive it must adapt and grow. Otherwise it dies. PaaS can be the lifeblood that lets that app survive and grow.
Here are five things to think about if you want to easily freshen existing apps or build new ones that are easy to continually modify.
Add New Layers on top of Legacy
Is your large enterprise application getting long in the tooth? Does the interface look like the 80’s called and wants its menus back? Does adding new features require an army of consultants your shop can no longer afford?
If the answer to any of these questions is yes, Application Platform as a Service (aPaaS) is just what the software doctor ordered. If you have an ERP app, chances are it took months or maybe years to properly build. After trial and error you finally got it all sorted. The last thing you want to do is throw this baby out. Instead use aPaaS to add a layer of new functionality.
Look for a PaaS or aPaaS provider that offers hooks to legacy apps such as SAP and Oracle, Microsoft Dynamics, or Infor. Better yet, look for a solution that includes a development environment that makes it easy for business stakeholders to themselves build these layers on top of these legacy apps.
Port Legacy Apps Where it Makes Sense
Some enterprise applications don’t make sense any longer as an on-premises proposition. The servers it runs on are aging, the app is getting hard to maintain, and the licensing fees for the OS and software may be a financial burden on top of the large capital hardware expense. Plus it is darn near impossible to tweak these legacy solutions.
These apps are perfect candidates to rebuild on a current and scalable platform like aPaaS. They have the added benefit of predictable operational costs in place of what would probably be a large capital expense to keep the application going on more reliable hardware. And the aPaaS itself is what makes porting so possible.
Integrate Social Collaboration into Your Development Process
The standard way of developing corporate applications, at least for non-Agile shops, is for internal business leaders to determine what they want and pass off those requirements to a separate development department. Those developers code up the apps and deliver it to the business once it’s done. Hopefully, “what they wanted” and “what they got” bear some resemblance to one another.
With the right aPaaS you can integrate social collaboration into the development process to be more Agile. Software you need for competitive advantage can be delivered when the ideas behind it are still fresh. This way the stakeholders are involved every step of the way. The result is better software that is done faster.
Social business networking is a great tool for in-house communications. But it also brings a whole new level of collaboration and communication with partners and customers. Perhaps best of all, it is an ideal way to reach out to and embrace prospective customers.
What used to require a separate groupware/collaboration package can now be done more easily through the same platform with which the software is built and deployed. This social networking is far more intuitive for the users. Who in business doesn’t know how to use Facebook type tools?
Gone are the days when workers are chained to desks held down by bulky personal computers. We used to assume that when the day is done, so is the work. Today’s workforce is almost always mobile. And these workers still need their enterprise apps.
PaaS make it easy and fast to create mobile apps that tap into off-the-shelf and custom enterprise apps. With new data and presentation standards, apps can be easily built that accommodate Windows Phone, Android phone and tablet, as well as iPhone and iPad.
PaaS can bring devices into intimate contact with enterprise apps. The same techniques that Webify corporate apps or let you target smartphones and tablets make it possible to easily support BYOD.
In fact there are two distinct ways of looking at BYOD. If you are a Windows shop and the user uses his own Windows laptop, the primary issues have to do with making sure the shop’s apps are licensed to use on that machine, that the user can securely and safely access the network, and that the laptop is supported.
The more interesting part is in mobile where users want to tie in their phones and tablets. Here a full stack PaaS can make it easy to create new mobile apps that run on multiple mobile devices, and extend existing apps with mobile interfaces.
Mendix, with its visual model-driven development environment and support for HTML 5, makes it a snap to develop new mobile software, or what can be even easier, building mobile user interfaces to existing apps. The same approach Mendix uses for Web apps is used for these mobile apps. And once these apps are built the Mendix aPaaS makes it easy to do continuous iteration. The apps that are fast to build are even quicker to iterate.
BYOD support also extends to the developers themselves. A aPaaS based on Internet and mobile display standards allows the software creators to use their own devices such as personal iPads to built and iterate the same apps used by other BYOD end users.
Wrap Your Mind Around It
Some think that keeping apps fresh is all about technology. It is actually much more of a mindset. Keeping applications fresh requires a fresh mind, one open to the new.
Continually modifying apps is essential to a growing business. We should all be spotting trends and pushing our employers to add things like social media, mobile access, enhanced data analysis, and better UI to our software.
Stakeholders need to constantly think about the apps they rely on. There must be a process that captures this input, filters and codifies it, and shepherds this all into a development plan that through the right PaaS technology can be quickly turned into app upgrades.
“Agile is not just for the software department. If you really want to adopt enterprise agile, you will need an agile enterprise. The whole organization needs to adopt the agile mindset. If only your software department adopts the agile mindset you can crank out releases in a very fast cadence, but what about the rest of the organization?” asks Mendix CTO Johan den Haan in the Enterprise Architect blog.
Haan uses a software company as an example. This company can easily spit out a new version once a month, but the rest of the organization, sales, support, and marketing have to change every month as well. Agile changes that the workflow. “In an agile enterprise the marketing and sales side of the organization is balanced with product development. In an agile enterprise the entire business is organized in a way that it can respond quickly to changes in the market. All departments are fully integrated with the overall value stream, there is end-to-end agility,” he writes.
The combination of an Agile development organization and a PaaS, especially a PaaS with an advanced development environment, fundamentally changes the nature of software. Now cutting-edge software can be brought to your shop or the market quickly. Finally technology no longer stands in the way of innovation, but enables it.