Changing your application development culture to embrace mobility is akin to moving from a Soviet-style economy to laissez-faire: It’s mind-blowing.
That’s how significant it is to understand and implement all that writing applications for mobile devices entails, according to Forrester analyst Jeffrey Hammond, who spoke to me about the changes facing developers in today’s world in great detail and impassioned rhetoric.
Developing software for mobility “is a generational shift,” he said. “They didn’t think it would be this big or this hard.”
At first, Hammond explained, companies went for native development, or adopted a middleware-type tool. Now, businesses are taking stock of their strategy for going mobile to see if it makes sense going forward.
To many, developing apps for mobile at first glance is about form factor and simply being on the platform. “Everyone understands the scenarios, but down in the details, all the connections that have to be made, it’s a lot of work,” he said. “We’re running into integration challenges. Developers are asking, ‘How do I make it work? What are the right technologies?’ ”
How can organizations begin to make this dramatic shift to successful mobile development? First, they should begin collecting analytics on the users of their applications. “Few people use analytics, and that blows my mind,” Hammond said.
“They’re trying to apply a top-down business process without using metrics. They’re writing apps for Android but not knowing the features (of the device) that their users are using.”
But mobile isn’t the only challenge developers face today. How do they develop in the cloud, for the cloud? How do their change their processes to keep pace with business requirements in this burgeoning digital economy?
The use of open-source software has made tremendous strides in today’s development world, and companies that use it as a critical piece of their own software are investing in those open-source projects they use, setting up their own “inner-sourcing” communities. “They’re moving beyond the ‘open source saves us money’ idea,” said Hammond. “They’re coming up with policies” to govern the use of open source, to reduce the amount of time it takes to get an application to market.
Cloud development continues to grow, and Microsoft’s cloud is becoming critical today, Hammond said. But it’s not clear whether Microsoft is yet winning back younger (read: Web and mobile app) developers. “They won’t get them with MSDN, but Azure could be a way.”
Amazon, Google and Windows Azure have become core pieces of software architectures in today’s world, and that brings security and identity implications. “You need to have a single identity across it all,” Hammond said. “Bringing [Active Directory] to Web-based identity management…why not just get an icepick and jab it into my eye?” Companies such as Apigee, Kinvey and Kony are looking to tackle this problem, he noted.
The next big thing coming into the application equation is microservices. “People want to do it but have no clue how to make it happen,” Hammond said. “2015 is all about people understanding the starting point of what they have to do regarding microservices.”
Microservices are a smaller unit of work than what developers are traditionally used to working with. There can be dozens or hundreds running on a single server. “They’re almost disposable. There are no long-running conversations, and if they go bad, you kill them,” said Hammond.
They can scale out in a way that complements cloud architecture, he said, but it’s actually closer to a biological model. “It’s like your brain. If you blast a neuron with too many beers, the rest carry on. You can’t take everything down. They’re engineered for redundancy. So it’ll take a necessary evolution to address the scale out of processors rather than bigger and faster.”
Development organizations have found that maintaining two codebases and software releases in parallel—for desktop or cloud, and for mobile—is very hard. So, how will they manage to change out microservices on the fly? How do they deal with constantly changing software in production?
“There’s a pressure on firms to adopt new development processes, and it will grow,” Hammond said. “Outsourcing is an option. They need to rebuild their developers from the ground up for velocity. And when they realize how hard that will be, they realize they’re in it for the long haul.
“We delude ourselves in IT that if we just standardize enough, we can control our apps. But you can’t control the number of devices and versions of operating systems and screen sizes. You have to learn to live with this new reality. You have to give up the illusion of control and go for responsiveness and adaptiveness. We’re trying to solve new problems with old responses, and it’s just not working.”