Android may be the last great untapped platform in mobile. While Apple recently bragged of a spike in Android-to-Apple user conversions, the fact remains that Google’s operating system had 1 billion to Apple’s 800 million users in 2014. Android is also the choice operating system in emerging markets, like India, which are believed to be the next frontier of Internet use. The only thing that could slow down Android’s unstoppable growth? Its complex code.
Within the Android codebase there are areas that are very complicated. These areas also happen to be modified most frequently. Complexity requires more than automated action; it calls for human brainpower. As a result, these areas of the codebase constitute a massive productivity loss for the engineering teams.
(Related: Android development tips for beginners)
Time lost is compounded by the fact that changing even one line in these problematic areas brings a high risk. It would take too much time for developers to gather a profound enough understanding of the code to know immediately when they break something. Very often, making a change is a leap of faith. The software engineering community refers to this method as “edit and pray” programming.
Android’s complexity is the reason Google releases updates at a snail’s pace, and when the company releases updates, device makers and mobile carriers must conduct compatibility testing before the software reaches consumers. This is why, as of last January, the most common OS on Android devices was 2012’s Jelly Bean.
Advances in software analytics allow CIOs and technical teams to drive innovation in code. While a certain degree of complexity will always exist within the mod-friendly Android OS, software analytics can reduce developers’ confusion and, in turn, reduce the drawbacks of pursuing Android development.
For the industry overall, more productive development means businesses could save 9 billion man hours and US$390 billion each year, assuming an average cost of $80,000 and 2,020 hours per year for each of the 16 million developers/consultants. This number is based on the reported annual software expenditure of $1.3 trillion and the 30% increase in productivity we’ve seen in our customers.
One might think that low productivity and a lack of transparency only occurs in old-school, waterfall-like development methodologies, but this is not the case. Even the latest, state-of-the-art methodologies, such as SCRUM and other agile methods that enforce the four eyes principle and code reviews, do not create the necessary visibility. While these approaches may have worked in the past, the sheer amount of code created today is typically so huge that no human could oversee the entire codebase. Printing the entire Android OS, for example, would create a stack of paper 22 stories high.
For Android developers, the most problematic area is a component called the “Android/BaseFramework/Services/Core,” which, true to its name, is at the core of Android services and which is very frequently changed, meaning a big chunk of the overall development capacity is going into it. Android development can be rendered faster and less risky by demystifying the code.
In this day and age, do-it-yourself productivity hacks just don’t cut it. If Android developers want visibility into code, they’ll need more than four eyes. With the help of a new generation of deep software analytics, CIOs, CTOs and IT executives can dramatically accelerate time to value while at the same time reducing risk.