By Désiré Athow
Not so long ago, application development was a highly specialised area of expertise that an ordinary organisation simply would not consider taking on themselves.
But the app world is becoming more accessible than ever, encouraging businesses to take on a DIY attitude and build custom applications for their enterprise needs.
To find out more on this trend and discover how such an approach is benefiting companies, we sat down for a Q&A with Progress Software CTO, Karen Tegan Padir.
TechRadar Pro: Why are enterprises increasingly looking to create their own applications in-house?
Karen Tegan Padir: There are a lot of advantages these days to building your own application. Enterprises realise that not all business function can be easily addressed just by purchasing packaged software.
Furthermore, packaged software almost always requires customisation, which is time consuming and expensive. As deployment environments are rapidly shifting from on premises with a range of different operating systems, to virtualised environments and ultimately to cloud environments, the more you can control, through performing your own application development, the better.
The other side of the equation, of course, is that application development is less of a black art than in the past. Tools and platforms – particularly the seamlessness of Platform-as-a-Service (PaaS) – make it much easier to build, deploy, maintain, and support applications than at any time in the history of IT.
TRP: In what instances is a productivity platform preferable to a control platform and why?
KTP: In the case of a control platform you get to bring along your own language and development tools. Usually, control platforms are used when you have a pre-existing application that you want to deploy in a cloud.
The control platform lets you include the choices you made for an on-premises deployment as part of the stack in the cloud. Without that capability you might need to rewrite your application. On the other hand, a productivity platform delivers functionality focused on time-to market.
It’s perfect for when you want to create an application, perhaps with the help of your business domain experts, or if you don’t want to have to hire a lot of developers and middleware or infrastructure experts.
TRP: What are the most important tools needed for successful application development in a business environment?
KTP: The most important tools are the ones that are going to allow you to get your product to market quickly and make changes, enhancements or fixes – and then redeploy quickly. Long gone are the 12-18 month developer release cycles.
Now, you must manage the notion of a “perpetual beta,” with multiple releases over a period of months – sometimes even more than one release a month.
Making sure you have tools that allow you to respond to your customers’ demand, fixing bugs and adding feature – and deploying those changes quickly – is key. I would also say tools need to help your app be responsive on different mobile devices, whether it is a phone, laptop, watch, Google Glass, or a browser.
TRP: Give some examples of tailor-made applications with an impact on business operations
KTP: There are so many organisations that have taken this approach successfully that it is hard to pick one. However, we recently highlighted two companies that had a great impact with the tailor-made approach.
Good Done Great has built technology using Progress Pacific. Their cloud-based solutions provide easy workflows and community websites for corporate social responsibility groups at many leading companies as well as for charitable foundations and their staff, applicants, employees, and other stakeholders.
Another example is from the Netherlands. Integrator and technology vendor Brixxs chose Progress Rollbase, to create numerous Software-as-a-Service (SaaS) business applications.
In one case, Brixxs is helping registered taxi companies in the Netherlands to quickly comply with new regulations while also improving the quality of their services in larger cities.
With Rollbase, Brixxs developed and updated applications that allowed taxi companies to comply within just three days of new rules coming into effect.
TRP: What are the benefits of building applications on a unified platform?
KTP: A unified platform is a critical tool for allowing the deployment of mobile and web applications much faster than with traditional development methods – and generally with less complexity.
A platform that is standards-oriented can help address the major mobility challenges that ISVs and businesses face as they move business applications to the cloud.
Additional things that help are taking a model-driven approach and, of course, having easy-to-use features like a drag and drop, point and click interface.
A platform should also be able to automatically generate the server objects needed to support a mobile and web application and provide access to business logic and data integration capabilities.
TRP: Why is mobility a determining factor in application development?
KTP: Mobility is an inescapable reality. Individuals and businesses know this and expect nothing less. The idea that you have to be in some particular place to access data or perform key tasks – especially the ones associated with your job – is now actively rejected by individuals.
That’s what’s driving not only the BYOD movement but the BYOT (bring your own technology) approach now favoured by some. Business isn’t far behind.
Decision-makers know that mobility is not just a matter of convenience – it is a key factor for productivity. People must be ready and able to act wherever they are.
As a result, application developers have had to sometimes move out of their comfort zone. Of course, mobility isn’t always easy. There are immediate functional issues and requirements to operate across multiple platforms and to do so seamlessly. Of course, there is also a definite need to be secure.
All of this is a great opportunity to ratchet development practices up a bit; to make them more modern and efficient and to leverage the cloud where appropriate. In short, it’s a great time to consider platform-as-a-service, which can embed the capabilities and tools you need in a consistent, shareable, and accessible way.
You really want to be able to meet your customers where there are. For example, when you go to an Apple store, the point-of-sale is no longer the register; it is where you, the customer, happen to be standing.
That is where you want the buying decision to occur, because if people have to stand in line to finalise a purchase, they may get distracted or change their minds. Ultimately, your application needs to serve your customers.
TRP: Why is rapid application development increasingly becoming a business priority?
KTP: Rapid Application Development was always something of interest to organisations. Projects are notorious for taking longer than expected or for costing more. In the worst case, they are delivered after requirements have already changed.
However, today, cycle times are way down. No one talks about years to field an application. Even months can be far too slow, in many cases. This is partly driven by the competitive, global nature of business. The world of mobile and mobile-centric thinking is also pushing this development.
We definitely see more customers embracing RAD as a necessity. Because there are RAD tools, people with business domain expertise can now create a better application.
If those people have to explain to a developer a complex function, like how healthcare claims are processed, there’s a good chance something will get lost or misinterpreted. So, allowing people with domain expertise to be able to create applications saves time and energy and can lead to better results.
TRP: Is there still a role for deep-coding skills or will the so-called ‘citizen developer’ prevail?
KTP: The answer is definitely “Both.” Clearly citizen developers – or business domain experts — will be everywhere and there is no way to discount their impact.
It’s like when cars became so easy to drive that even people who could afford chauffeurs didn’t want them any more. On the other hand, there are some tasks that are extremely complex and for which tools and platforms can only provide a certain amount of assistance.
Again, to make an analogy, when you visit a doctor, many tests and data points are automated; helping to yield faster and more accurate diagnoses. Still, there are conditions where a medical expert is needed to weigh subtleties and craft a unique clinical response.
In a similar way, deep coders will be with us for a long time.