Agile Beeswax: Agile Development Methodology for Mobile Applications

  1. Mahmoud Alrabaiah, Hazem Abdelkarim
Supervised by:
  1. Nuria Medina Medina Director

Defence university: Universidad de Granada

Fecha de defensa: 27 May 2022

Committee:
  1. Francisco Luis Gutiérrez Vela Chair
  2. Antonio Mora García Committee member
  3. Aurora Vizcaíno Barceló Committee member
  4. Enrique Yeguas Bolívar Committee member
  5. Lina Guadalupe García Cabrera Committee member

Type: Thesis

Abstract

Mobile applications have seen great development in recent years, and with this growth, tools, phones, and methods of developing these applications have evolved. However, the methods of developing these mobile applications have not seen the same growth as its usage. Software engineering research on mobile application development methodologies is not progressing at the same rate as the adoption of mobile applications. Only a few mobile application development methodologies have been presented in the scientific literature, especially agile ones. In addition, mobile application idea and concept workshops, requirements gathering, User Interface, User Experience, deployment, maintenance, complexity of testing, power consumption, and project assessment activities receive very little attention from existing methodologies. Moreover, in the current proposals are not sufficiently handling the special limitations for mobile applications, such as providing the necessary features to facilitate and support users' participation in the development process. After extensive study in academia and industry, in our opinion it indisputable that the research into the mobile application development process must continue to grow. Mobile application development is a highly competitive environment, and in our opinion, agile methodologies can enable teams to provide value faster, with higher quality and predictability. The development of mobile applications has unique requirements, and agile methods can deal with some of these requirements, such as the continuous change in mobile applications requirements or the continuous participation of users. An efficient development process may assist increase competitive advantage and decreasing release cycles. For this reason, our objective has been to review the existing methodologies and models for developing mobile applications in the scientific literature and real methodologies adopted by experts in the development communities since this will help us address the main practices in the mobile application development process. Based on a defined and appropriate frame, an analysis of these models and their usefulness to the industry has been performed to create a new methodology for developing mobile applications that suit academic and industry communities. This new methodological process based on agile methodologies for mobile application development has been named Agile Beeswax. Thus, Agile Beeswax is conceived after identifying the mobile development process's issues, challenges, and unique requirements. Agile Beeswax is defined as an integrated incremental, iterative development process for developing mobile applications. One of its main strengths is that it has been created with academic and business perspectives to bring these two communities closer. Agile Beeswax tried to integrate different methodologies and practices in the development process to obtain an integrated method. We combined some scrum management practices, software engineering practices, and operational practices into one methodology. To achieve our purpose, the work has been divided into five main phases: Phase 1: A systematic literature review approach to review existing mobile application development methods. Phase 2: Interviews with mobile application developers working in small to medium software companies. Phase 3: Survey to a group of 35 experts, including academics and developers, to extract valuable knowledge about mobile development. Phase 4: Proposal of a new methodology for mobile application development. Phase 5: Validation of the proposed methodology using a second group of 35 experts, including mobile application developers and academic communities (some of them participated in the first survey). Conclusion: We need an effective and practical methodology for mobile application development. An efficient development methodology may assist increase competitive advantage and decreasing release cycles, which is critical in the mobile application development process. The results in this thesis and the proposed methodology for developing mobile applications are intended to serve as support for mobile application developers.