On the Organization of Mobile Dev Teams
In today's mobile-first world, enterprises pay a lot of attention to crucial tasks such as sourcing mobile development talent, securing requisite tooling and choosing what programming languages to use, but perhaps not so much on another important aspect: the organization of mobile dev teams.
To address that issue, Forrester Research Inc. recently published a for-pay report titled "Organize for Mobile Development Success."
In it, Forrester analysts espouse the strategy of organizing IDEA teams, standing for Identify (mobile moments); Design (the mobile engagement); Engineer (apps and services); and Analyze (results).
Such teams consist of developers, designers, quality assurance professionals, operations professionals and business owners, Forrester said, with the talent coming from in-house employees or -- if needed -- outsourcing.
"An IDEA team is typically dedicated to a single app for a year or more, though some individual team members may be part time or come in for a quick contribution," Forrester said. "An IDEA team is responsible for the complete life cycle of a mobile app, through multiple releases, and the size of the team varies depending on the scope of the project; some mobile IDEA teams have only five people, while some have 20. Team members may still report to functional managers, but have dotted line responsibility to the IDEA team project owner, and take daily direction from a product owner or manager responsible for the app."
These teams can help organizations meet customer expectations by releasing high-quality apps multiple times per year, Forrester said. The IDEA team strategy should be part of a broader focus on mobility that includes a multi-team structure that can scale to meet demand, consisting of a governance component, a center of excellence, multiple IDEA teams and a mobile services infrastructure team.
The subject of mobile dev team organization was also addressed by IDC analyst Al Hilwa in his own for-pay research report, titled "The Evolving State of Mobile Software Development." He believes enterprises are reorganizing such teams themselves to deal with the changing mobile landscape. When a native -- as opposed to Web or hybrid -- approach is used, Hilwa said, he advises a strategy of architecting and designing an app once and then implementing individual projects for each targeted platform.
"Organizing development teams along functional lines is gradually replacing organizing along platform separation to achieve higher levels of developer productivity and app quality," Hilwa said in his discussion of the native approach. "Such organization allows a much higher level of coherency and efficiency to be realized around application functions, ultimately leading to more productive development and a higher-quality application design effort. Coding and testing teams can work across divisional lines in collaboration but be primarily organized inside the functional teams. If enterprises organize their multiplatform development efforts effectively, they will get close to an idealized productivity penalty of no more than 40–50 percent compared with a single-platform approach."
Typically, Hilwa told ADTmag, software development teams are organized around the modules of function. "However, because of the nature of mobile platforms in terms of device specificity, native tools provided and focus on user experience, the trend over the last seven years has been to have separation in teams between those working on iOS and Android, for example." The IDC analyst sees this as a "normalizing back to app function organization versus platform organizing."
Hilwa also sees ongoing team reorganization in enterprises whose development teams adopt a microservices architecture, in which complex systems are built independently to be formed into a coherent overall system.
In such scenarios, mobile development teams "are often organized as a unit and given the independence of app evolution in a decoupled manner from back-end services very much in alliance with microservices architecture principles," Hilwa said.
Regardless of the approach used by an enterprise, it's clear that leading analysts are advising dev leaders to put more thought into the bedrock basics upon which everything else is built, including dev team organization. If that's not done right ahead of time, dev projects are certainly more likely to fail to meet expectations.
David Ramel is the editor of Visual Studio Magazine.