Is your organization struggling with mobile application lifecycle management (ALM)? Are you feeling unprepared for the future of application development? Do you wonder if you're getting it right? There is no one correct answer for enterprise ALM in the age of mobile development. However, there are some underlying principles that will stand you in good stead regardless of the size of your organization and what types of mobile apps you are creating. Here are a few tips that will help you master the mobile ALM learning curve faster.
Tip # 1: Understand when to optimize
If you have any familiarity with software development, you know the standard caution to avoid "premature optimization." However, that means different things under different business models. Richard Warburton, lead of Java SE track at Devoxx UK, put it this way, "What does premature mean? Let's say you're developing for an e-commerce website. You might be able to say (based on the available research), 'If our page load times go over a certain amount, we expect to lose traffic, we expect to lose customers, we expect to lose money.' You might be able to, up front, very clearly determine what your time budgets are."
According to Richard, the point in the ALM when you need to optimize is when your application isn't meeting your requirements based on your business needs. With a mobile app, you might need to optimize quite early for functions like user responsiveness that will make or break the reputation of your app. You would test in an iterative fashion for optimization in the areas that matter for mobile users just as you would test for any other critical requirement. Of course, if the app is already doing fine, you wouldn't go out of your way to do more tuning until it stops meeting business requirements. This is especially true with mobile apps thatmight become obsolete or require a complete overhaul at any time based on changes in devices, browsers, networks, or user behaviors.
Tip # 2: Realize that deployment is a one man job
Actually, if you've ever done a manual deployment of an application, you know that it's more like a 10 or 20 person job. In the modern world of continuous deployment, it's a nightmare that never ends. David Hurwitz, CEO of Serena Software, says this is an area where the world's largest organizations are starting to realize they can't keep doing things by hand when it comes to mobile development. "I can't tell you how shocking it has been to me over the last few years to see how labor intensive application deployment is, left un-automated. Frankly part of our big opportunity at Serena Software is to automate application deployment for the Global 2000. It's a huge win for the customer."
This is especially true with mobile apps that may actually be updated every week or even every day. If there's one prediction we can make for certain about mobile ALM, it's that the future is automated. One developer pushing a button may set in motion a whole chain of events that ends up with the app deployed right into production. Management in ALM will have to include both more oversight at the higher levels of the supply chain and more autonomy at the level of the app itself if the enterprise wants to be fast on its feet with mobile.
Tip # 3: Learn to identify the right skills
One of the most substantial hurdles will, of course, be finding someone who understands the whole mobile development space. As we noted in a recent article on Mobile ALM Guidance, "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."
But choosing the right team members will also be very important. We asked Raymond Augé, senior software architect at Liferay, what skills he thinks will be most critical for employees to look for in the talent pool. He said it's not really what you know, it's who you know. Developers who connect with, and contribute to the burgeoning knowledge base outside the walls of their organization will bring the most business value to the team. "It boils down less to specific technologies than to knowing how to get involved in communities."
This is particularly relevant in the open source space where collaboration can give enterprises access to thousands of the brightest minds in the software development world to problem-solve their mobile app development woes. Yes, everyone will be looking at just a piece of the ALM puzzle in this larger community. However, at least you'll have a lot more of the puzzle pieces the enterprise mobile ALM architect will need to get that big picture view.
How are you dealing with the challenge of mobile ALM? If you have any quick tips, we'd like to know.