Mobile ALM guidance: Android and iOS development is not ‘business as usual’

Mobile development presents new challenges to architects and solution developers, but guidance on the topic of mobile ALM (application lifecycle management) is lacking, and the industry is looking for answers.

Enterprise architects and solutions developers who are tasked with managing projects that involve both mobile and traditional web based applications are struggling with the task of bringing these two distinct, yet symbiotic, technologies together. Mobile ALM (Application Lifecycle Management) requires a different set of skills and techniques as compared to traditional ALM, but guidance from experts in the industry is sorely lacking.

The fact is, mobile development is different, despite what many experts in the industry are saying. The entire mobile development lifecycle is different.

  • The skill set is different
  • The development languages are different
  • The target devices are different
  • The tools employed are different
  • The deployment methods are different
  • The target audience is different
  • The usage patterns are different
  • Even the developers in this space are a little 'different'

But given all of these differences, why is it that the best advice we're hearing from experts in the industry is that managing the mobile application lifecycle (mobile ALM) is simply business as usual?

They myth of being 'more Agile'

"Agility is the focus of mobile deployment" is the advice that Wellington Aquiare, a solutions architect for New York Life Insurance Co., keeps hearing. But Wellington knows doublespeak when it comes his way, and telling an experienced IT professional that they can solve all of their problems simply by being more Agile simply doesn’t cut the muster.

Always be wary when the best advice that someone can provide is to be ‘more Agile.’ The suggestion to be 'more Agile' needs to be seen for what it is - an admission on the behalf of the advice giver that they're out of ideas and really don't have a clue about what they're talking about. Telling senior architects and application developers to address their challenges by 'being more Agile' is akin to telling them to do exactly the same thing but to do it differently. It's empty and meaningless, and it does nothing to further the discussion. For those who are driving forward in the Mobile ALM space, proven strategies that have been tested in the field are what is needed, but given the relative youth of this segment, such solutions and strategies are few and far between.

Mobile ALM: The same – but different

ALM always boils down to three key ingredients: people, process and tools. So from a high level, it’s easy for industry experts to tell those who are struggling in this space that it’s simply business as usual.

From a tooling perspective, there’s no reason why a mobile application shouldn’t be using the same set of continuous integration (CI), bug tracking and release management tools as are traditional, web based enterprise application development projects. And when developing in the mobile space, the tenants of an Agile process and methodology remain the same. Face to face communications with stakeholders, frequent deployments and an ability to embrace change remains the cornerstone of effective application development, regardless of whether an application is targeted for the mobile space or not. And a developer is a developer, right?

If it all sounds too good to be true, then it is. Sure, some of the tools remain the same, but mobile development teams have an affinity for introducing new tools and technologies into the mix, with a heavy leaning towards cloud-based technologies. "With a mobile device, you're not going to be able to tell how many users you are going to get. You could have ten customers today and ten thousand tomorrow," says Jim Farrell (@jimrafar), Joyent's Director of Market Development. And this threat of pushing the existing infrastructure to capacity as a mobile app goes viral is simply one of the many reasons that mobile teams find cloud based solutions so appealing. The cloud provides mobile developers a pragmatic approach to provisioning for performance and scalability, but at the same time, it creates huge headaches for traditional development shops that are still struggling with various rules and governance regarding the cloud.

Addressing the mobile development skills gap

One of the most harrowing challenges organizations are facing as they struggle in the mobile ALM space is the skills gap, as they realize that mobile expertise is a unique trait in itself, and not something that is easily transferred to someone who might be an expert at working with Servlets and JSPs. “Skills is a big challenge. And the reason for that is because the skill set in the mobile space is not the same, regardless of what anyone tells you,” says Aquiare. “Because you know web development, you can probably slate yourself to do mobile development, but by no means are you are ready out of the gate.”

And the staffing challenge goes far beyond simply finding a group of experienced developers who can drive the mobile development project forward. Understanding the technology is just the starting point. What organizations really need is someone with the ability to see the full picture and architect a mobile solution accordingly, and that is becoming a much bigger challenge than simply staffing the mobile team with competent and experienced developers. "Finding the person who can understand everything and architect a full system is more challenging than the technology itself," says Mark Gargenta, CEO at San Francisco-based training company Marakana Inc. and author of the O'Reilly book Learning Android,

And of course, if a new development culture is introduced, teams are engaging with new tools, and development timelines and cycles are getting compressed, the process has to change. Sure, the process remains Agile, and the tenants of Agile development continue to be embraced, but everything from the approach to the delivery has to change, and it is here where the community could really benefit from some insight and guidance. As developers, project managers and solution architects get down to business, they’re finding more and more often that ‘business as usual’ simply doesn’t work.

The truth about Mobile ALM

The sad truth is that mobile ALM is in its infancy, and the experts are having a hard a time grappling with the various challenges it introduces. "There is really no guidance about what makes the mobile application lifecycle different from your traditional application development," says Aquiare, who attended Gartner's Application Architecture, Development and Integration Summit in the hopes of getting some answers on how to streamline his own mobile development process. In the end though, as Aquiare has spent plenty of his own time integrating the mobile space with traditional development environment, he's likely got more insights on the issues than many of the industry’s expert speakers. The solutions and strategies are being developed as we speak, and the industry is getting increasingly anxious to learn from the struggles of experienced application architects and solution developers, in the hope of mastering the challenges presented by the mobile ALM space.


Follow Cameron McKenzie on Twitter (@potemcam)


Recommended Titles

Programming Android by Zigurd Mednieks
JavaScript & jQuery: The Missing Manual by David Sawyer McFarland
The Definitive Guide to HTML5 by Adam Freeman
Cracking the Coding Interview: 150 Questions and Solutions by G.L McDowell
The Google Resume: Landing a Job at IBM, Apple, Microsoft or Facebook by  G.L McDowell


Dig Deeper on Core Java APIs and programming techniques

App Architecture
Software Quality
Cloud Computing