I posted a note yesterday that's been a long time coming. In doing the research for Forrester's mobile app development playbook, I've been talking with all sorts of companies that build mobile apps. Build Five-Star Mobile Apps is the first collection of those observations, but it won't be the last. The premise of the document was simple - find out how companies with top-rated apps in markets like the Apple App Store or the Google Play Store design, build, test, release, and maintain their mobile apps. While there's great diversity in approach, common factors fell out of my interviews, and these practices will help you organize your own efforts:
1. Assemble small, focused development teams. The largest development teams we found had fewer than 10 people. When teams grew larger, they were subdivided into platform-specific teams (i.e. the Android team or the iOS team). Small teams can move fast and keep impedance to a minimum but also require substantial changes in how they perform design and testing.
2. Favor simple development tools over complex ALM processes. The need for speed that characterized the development processes we found means that most traditional ALM tools hurt more than they help. Gone are formal, text-based requirements documents and heavyweight SCM systems. Smaller code bases with less branching mean tools like Git shine. But it's not all airy castles - testing creates a real headache, so we're seeing lots of experimentation with device emulators, simulators, and even basic tricks like deploying graphic mock-ups to devices to get early user feedback.