We recently hosted Jeffrey Hammond, vice president and principal analyst at Forrester, and he was good enough to give us some time in front of the camera to discuss the state of mobile today. One of the things he emphasizes is the need for enterprises to be able to deliver releases six to ten times a year, per app (!) For those of us coming from a traditional software delivery background, that’s… a lot.
It’s also the new reality. For example, mobile is expected to account for almost a third of all digital sales transactions this year. Hammond says that 15 percent of all internet traffic now goes through mobile devices, and he expects that number to reach 30-35 percent by 2015. Can you afford to miss out on a third of your users? As he put it, “Companies that are mobile laggards are going to see impacts from a business performance standpoint, from a productivity standpoint… and they will be playing catch-up.”
Of course, upgrading your delivery capabilities to match the rapid pace of mobile is easier said than done. The math isn’t easy: faster delivery, across a wider range of devices, with all the quality of experience that mobile demands. Where to start?
1. Make Velocity Your Organizing Principle
If the goal is to be able to build and release six to ten updates a year for each of your apps, it means examining your team structures and processes and optimizing around velocity. For example:
Automate where you haven’t already. You will need advanced continuous integration practices that include not just build, but also constant execution of automated tests as a first line of defense for catching issues early.
Identify and eliminate the handoffs that our legacy lifecycles were built around. Each of these represents an opportunity to strip away latency and miscommunication. A great example is the long-standing bucket brigade from requirements to design to build. Today, requirements expressed a visual prototype can be 100% reusable in the app itself, so there is no need to treat these as three completely separate things with their own ceremonies and lifecycles.
Proxies and middlemen are another source error and delay that we no longer need to live with (read on).
2. Adopt an MVP Mindset
To release regularly, you need to let go of old lifecycle notions and foster minimum viable product (“MVP”) thinking. Identify the smallest increment of valuable functionality and get it into the hands of your users – fast! Doing so allows you to harness real feedback to improve your app just as quickly. Now, you’re no longer managing by educated guess or the assumptions of a few “subject matter experts.” Instead, you are using validated feedback from actual users. You can be more confident that what you are building is the right stuff – and when it isn’t, you can adapt and change course quickly in the very next release.
3. Tighten the Feedback Loop with Analytics
The “validated feedback” mentioned above is what fuels the MVP process. Some teams constantly scan app store reviews for feedback, but relying on this alone has drawbacks:
- only a small subset of users are represented
- only extreme opinions are captured and the information is often incomplete (“I love it!” or “I hate it!” often without an understanding of why)
- it’s ultimately a lagging measure of success
To wring additional speed from the app lifecycle, analytics should be used to shorten the feedback loop. They let you proactively see and address problems before they sour your users. They also arm you with the hard data on exactly how you should improve your apps. Not sure what to measure? Check out this post from our CEO Jeff Haynie on the five key metrics you should be analyzing.
4. Have an API Strategy
The word “integration” makes both developers and managers shudder. Getting systems talk to one another that weren’t designed to is a time-consuming and painful process. Frankly, it’s boring, especially when the reason we got into mobile was to create compelling experiences for our users, not spend our days knitting together backend data sources. An API strategy is the answer. This is more than API management, which addresses the management and cataloging of APIs. True speed comes with having a simple way to create mobile-optimized APIs for easy data access. With mobile-optimized APIs, teams can spend less time worrying about the plumbing of the systems, and focus instead on delivering great user experiences.
5. Embrace a Cross-platform World
Of course, the first and most visible challenge enterprises hit when pursuing mobile is coping with multiple devices and operating systems. Cross-platform development capabilities (such as our Platform includes) dramatically reduce the effort for building great native experiences across iOS, Android, Windows, Blackberry and other operating systems. Some of our recent ROI analysis with customers has shown 60-90% code reuse, depending on the scenario, and 40%+ time-to-market improvement – a huge savings for this tactic alone.
What are you doing to speed up your mobile app lifecycle?