Evaluating Maintainability of Android Applications: Mooncascade Case Study
Date
2021
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
Android became one of the most comprehensive mobile platforms in the last decade. This
comprehensiveness also brought more challenges to the Android application development.
Android’s nature, demanding business needs, the frequent update rate of Android
applications, and lastly, changing development teams are the four major challenges for
Android applications. Maintainability is defined as how easy it is to update, modify, and
maintain software. At this point, maintainability emerges as a key concept because developing
maintainable Android applications facilitate the above-mentioned difficulties. The
primary goal of this study is to evaluate the impact of the technologies and the methods
used to develop Android applications by Mooncascede, a software product development
company, on maintainability. These methods and technologies include principles (e.g.
Clean Code, SOLID), architectural/design patterns (Clean Architecture, MVVM), and
third-party libraries (RxJava, Dagger 2 and so on). The evaluation was conducted using
the triangulation strategy, which is a mixed-method approach. Qualitative evaluation was
conducted via interviews with the case company’s Android team (7 participants) and an
Android developer survey filled by anonymous developers (over 150 participants). Also,
quantitative evaluation was made via object-oriented software metrics. Study results
reveal the positive impact of the evaluated methods and technologies on the maintainability
of Android applications while pointing to the need for improvements. Results also
indicate the need for a new maintainability model specific to the Android applications.
Description
Keywords
Android, Maintainability, Object-Oriented Metrics, Software Engineering