Preprint
Article

Agile Methodology for Motorcycle Rent Application

Altmetrics

Downloads

105

Views

86

Comments

0

Submitted:

27 June 2024

Posted:

28 June 2024

You are already at the latest version

Alerts
Abstract
In the rapidly evolving landscape of mobile applications, the demand for efficient and user-friendly platforms for services like motorcycle rentals is rising, particularly in urban areas. This paper presents the development of a Motorcycle Rent Application using Agile Methodology, tailored for the Android platform and developed with Flutter. Agile is iterative and adaptive approach, emphasizing continuous improvement and customer feedback, was crucial in managing the project's dynamic requirements. Flutter, with its single code base for multiple platforms and hot reload feature, significantly expedited development and enhanced the application's responsiveness and user interface. The project successfully implemented features such as user registration, motorcycle listing, rental booking, and payment integration, resulting in a seamless user experience. This study demonstrates the effectiveness of combining Agile Methodology with Flutter to create high-quality, responsive mobile applications that meet modern user expectations.
Keywords: 
Subject: Computer Science and Mathematics  -   Software

1. Introduction

In the ever-evolving landscape of mobile applications, the demand for efficient and user-friendly platforms for various services has significantly increased. Among these services, motorcycle rentals stand out, particularly in urban areas where two-wheelers offer a convenient mode of transportation. Developing a dedicated motorcycle rental application can bridge the gap between service providers and users, facilitating seamless transactions and enhancing user experience. This paper discusses the development of a Motorcycle Rental Application using Agile methodology, specifically designed for the Android platform and developed with Flutter.
Flutter, a UI toolkit by Google, has gained popularity for its ability to create natively compiled applications for mobile platforms from a single codebase [1]. Its robust set of predesigned widgets and hot-reload feature significantly speed up the development process, making it an ideal choice for this project. By leveraging Flutter, the development team aimed to ensure a smooth, responsive, and visually appealing user interface that aligns with modern user expectations. This approach enhances the development experience and ensures a high-quality end product.
Agile methodology is an iterative approach to software development and project management that prioritizes flexibility, collaboration, and customer satisfaction. Originating from the Agile Manifesto, which emphasizes individuals and interactions, working software, customer collaboration, and responsiveness to change [2], Agile methods like Scrum and Kanban break projects into small, manageable increments known as sprints [3]. This approach enables teams to rapidly respond to feedback and evolving requirements [4], promoting cross-functional teamwork, frequent communication, and iterative progress reviews to ensure high-quality outcomes and minimized risks [5]. By delivering functional software early and often, Agile enhances stakeholder engagement and project transparency, leading to more effective project delivery [6].
Adopting Agile methodology for the development of the Motorcycle Rental Application allows for a flexible and iterative approach. Agile focuses on continuous improvement, customer feedback, and adaptive planning, which are crucial for delivering a product that meets user needs effectively [7]. The Agile framework promotes collaboration among cross-
functional teams, enabling quick adjustments to changing requirements and fostering a culture of transparency and accountability [8]. This methodology ensures that the project remains on track, with regular updates and incremental progress toward the final goal [9].
The goal of this project is to provide an intuitive and efficient platform for Android users to rent motorcycles easily. The application encompasses features such as user registration, motorcycle listing, rental booking, and payment integration. This paper delves into the specifics of the application development process, challenges encountered, and solutions implemented, providing a comprehensive overview of the project from inception to deployment.

2. Related Work

Research on online systems for motorbike transactions has been conducted to address various challenges in the industry, particularly fraud and inefficiency. Existing systems, such as Momotorid.id and Moladin, provide foundational frameworks but have notable limitations. Momotorid.id lacks a login system for tracking purchasing history, while Moladin only facilitates the initial stages of the transaction online, with subsequent steps requiring offline interactions [10].
The study ”Designing Car Rental Management System Based on Crowdsourcing with Nyewamobil.com” aims to develop a web-based application that facilitates car rental management by integrating crowdsourcing techniques to better connect rental partners with potential customers. The methodology involves a literature review to identify existing problems, followed by the development of the application using the Scrum framework, which includes iterative phases of planning, designing, coding, integration, testing, and review. The results indicate that the Nyewamobil.com application successfully centralizes car rental information, making it easier for users to search for available cars, compare prices, view ratings and testimonials, and make bookings through a single platform, thereby enhancing user experience and efficiency [11].
The study ”Pengembangan Aplikasi e-CRM Berbasis Web Menggunakan Pendekatan Scrum” aims to develop a webbased e-CRM application for PT. Bintang Dagang Internasional (HAISTAR) to enhance their customer relationship management by capturing leads, creating proposals, and scheduling meetings efficiently. The methodology involves using the Scrum framework with iterative stages to gather requirements from stakeholders (Sales Team, Account Manager, Solution Design, and General Manager), convert them into product backlogs, and develop the application through continuous sprints. The results indicate that the e-CRM application was successfully developed and met functional expectations. However, further improvements, such as dynamic graphical displays on the sales team’s home menu, could enhance usability [12].
The article ”Developing a Full Stack Web Application for Car Rental Management” aims to create a digitized solution for small car rental companies to manage, analyze, and distribute
their fleet. The project’s objective is to implement an end-to-end web application using the MERN stack (MongoDB, Express, React.js, and Node.js) to ensure scalability, performance, and future extensibility, including potential machine learning and telematics features. The methodology involves iterative development, starting with thorough requirement gathering and design, followed by front-end development using React.js for its component-based architecture and ease of scalability. The back-end is developed using Node.js and Express to handle CRUD operations with a MongoDB database, chosen for its flexibility and horizontal scaling capabilities. The result is a functional web application prototype, demonstrating the feasibility of using a full MERN stack to address the diverse needs of car rental management [13].

3. Methodology

Agile methodology is an iterative and incremental approach to project management and software development that emphasizes flexibility, collaboration, and customer satisfaction. Agile frameworks, such as Scrum and Kanban, focus on delivering small, workable segments of a project in short development cycles known as sprints. This allows teams to continuously assess and adapt their goals and processes based on frequent feedback from stakeholders and end-users. By promoting adaptive planning, evolutionary development, early delivery, and continual improvement, Agile aims to enhance productivity and accommodate changing requirements effectively [2].
The Agile methodology encourages cross-functional teams to work collaboratively, ensuring all members contribute to the development process. This collaborative environment, combined with regular communication and review sessions, helps identify and resolve issues quickly, minimizing risks and enhancing the quality of the final product. The Agile Manifesto, which outlines the core values and principles of Agile, underscores the importance of individuals and interactions, working software, customer collaboration, and responding to change over rigidly following a plan. As a result, Agile methodologies foster a dynamic and responsive development culture that can adapt to evolving project demands [4].
Flutter, an open-source user interface software development toolkit created by Google, is designed for crafting natively compiled applications across mobile, web, and desktop platforms from a single codebase. This capability significantly reduces development time and effort, making it a highly efficient choice for modern application development. According to research by Somasundaram et al. [14], Flutter’s architecture and performance optimizations allow developers to build high-quality applications with a single codebase that runs seamlessly across multiple platforms.
Key features of Flutter include its single codebase for multiple platforms, which expedites the development process and simplifies maintenance and updates. This unified approach ensures a consistent user experience, facilitating seamless transitions between different devices. The hot reload feature in Flutter allows developers to implement real-time code changes without restarting the application. This capability is crucial for rapid development and testing cycles, enhancing the efficiency of both development and debugging phases. As noted by Zhang and Liang [15], the hot reload feature is instrumental in reducing development time and improving productivity.
Flutter also offers a rich set of highly customizable widgets that adhere to the native design languages of both Android and iOS. This ensures a seamless and intuitive user experience across different platforms, maintaining a native look and feel. The performance of Flutter applications, which are compiled directly to native ARM code, results in high performance and smooth user interfaces. This direct compilation ensures that applications are responsive and deliver optimal performance, as evidenced by the findings of Chen et al. [16], who highlighted the efficiency and speed of Flutter applications.
With a robust community and a wide range of plugins and packages available, Flutter supports a diverse set of functionalities out-of-the-box. This extensive support network is invaluable for developers seeking to implement complex features efficiently. Research by Kim et al. [17] underscores the benefits of Flutter’s community and plugin ecosystem, which provide essential resources and tools for developers.
Flutter was chosen for this project due to its ability to streamline the development process and deliver a consistent user experience across multiple platforms. The single codebase approach not only expedites development but also simplifies maintenance and updates. Additionally, the hot reload feature significantly enhances the efficiency of the development and debugging phases. By leveraging Flutter, the project aims to achieve high performance and maintain a native look and feel across all supported devices. This ensures that users receive a cohesive and responsive application. The flexibility of Flutter, combined with its extensive widget library, was instrumental in designing the user interface and implementing various functionalities, including the registration page, login page, home page, and payment integrations.

4. Results and Discussion

A. 
Use Case Diagram
Figure 1. Use Case Diagram.
Figure 1. Use Case Diagram.
Preprints 110580 g001
1) 
Actors
a)
User
b)
Admin
2) 
Use Cases and Descriptions
a)
Register: A new user registers in the system. This is included in the login process (<<include>> relationship).
b)
Login: Both users and admins need to log into the system to access different functionalities.
c)
Home: The home page where users can see an overview of the system and their options.
d)
Motor Units: Users can view the available motor units for rental.
e)
Rent: Users can rent a motor unit.
f)
Payment: Users can make payments for the rental.
g)
Rental History: Users can view their past rental history.
h)
Profile: Users can view and update their profile information.
i)
Logout: Users can log out of the system.
j)
CRUD Motor: Admins can create, read, update, and delete motor information.
k)
CRUD User: Admins can manage user information (create, read, update, delete).
l)
CRUD Payment: Admins can manage payment information and transactions.
B. 
Registration Page
Figure 2. Registration Page.
Figure 2. Registration Page.
Preprints 110580 g002
On the registration page, there are fields to fill in data such as email, full name, WhatsApp number, password, and password confirmation. There is also a button to register for a new account, and an option for existing users to log in directly.
C. 
Login Page
The login page contains fields for email and password. Below these fields, there is a link for users who have forgotten their password. There is also a login button for users to access the system after entering their credentials, and an option for new users to register if they do not have an account.
Figure 3. Login Page.
Figure 3. Login Page.
Preprints 110580 g003
D. 
Home Page
This page contains a search bar to search for motorcycles based on keywords, a list of brands to filter motorcycles by brand, a list of the latest motorcycles, and a list of the most popular motorcycles sorted by total rentals.
Figure 4. Home Page.
Figure 4. Home Page.
Preprints 110580 g004
E. 
Detail Motorcycle Page
This page displays detailed information about a motorcycle available for rent. The description includes the motorcycle model, price, brand, and engine capacity. At the bottom of the page, there is a button to rent the motorcycle.
Figure 5. Detail Motorcycle Page.
Figure 5. Detail Motorcycle Page.
Preprints 110580 g005
F. 
Rental Form
This page allows users to select the motorcycle pickup method, enter the pickup address if the motorcycle is to be delivered, specify the rental duration, and choose the payment method.
Figure 6. Rental Form.
Figure 6. Rental Form.
Preprints 110580 g006
G. 
Receipt Page
This page contains a transaction receipt for the current rental. The receipt includes transaction details such as the rented motorcycle, price, countdown timer, and payment status. Users can make payments on this page and also extend the rental period if needed.
Figure 7. Receipt Page.
Figure 7. Receipt Page.
Preprints 110580 g007
H. 
Midtrans Payment
The payment page displays payment notifications using the Midtrans modal connected to the Midtrans API. Users can choose the type of payment they want to use, such as bank transfer, credit card, or e-wallet. After selecting the payment method, users are redirected to the corresponding payment page. Upon successful payment, a confirmation page is displayed.
Figure 8. Midtrans Payment.
Figure 8. Midtrans Payment.
Preprints 110580 g008
I. 
Notifications Page
This page displays messages or notifications, including order received by admin, successful payment, motorcycle return warnings, and completed rentals.
Figure 9. Notifications Page.
Figure 9. Notifications Page.
Preprints 110580 g009
J. 
Black Box Testing
Table 1. Blackbox testing results.
Table 1. Blackbox testing results.
Code Test Component Item Test Result
1 Registration Page Displaying all input
fields and buttons correctly (email, full name, WhatsApp
number, password,
confirm password, register button, and login link)
Success
2 Login Page Displaying email and
password fields, forgot password link, login button, and registration option
Success
3 Home Page Displaying search bar,
brand filter, latest motorcycles, and popular motorcycles sections
Success
4 Motorcycle Details Page Displaying motorcycle
details (model, price, brand, engine capacity) and rent button
Success
5 Rental Form Displaying pickup
Method selection, pickup address input, rental duration selection, and payment method options
Success
6 Receipt Page Displaying transaction
details, motorcycle
details, price,
countdown timer, and payment status
Success
7 Midtrans Payment Page Displaying payment
method selection and successful payment notification
Success
8 Notification Page Displaying order confir-
mations, payment notifications, return warnings, and rental completion notifications
Success
K. 
Discussion
The implementation of Agile Methodology in the development of the Motorcycle Rent Application proved to be a significant advantage. Agile’s iterative nature allowed for continuous evaluation and adaptation throughout the project lifecycle, ensuring that the application remained aligned with user needs and expectations. The use of Scrum and Kanban frameworks facilitated efficient project management, enabling the team to break down complex tasks into manageable sprints. This approach not only improved the team’s productivity but also allowed for timely identification and resolution of issues. The regular feedback loops inherent in Agile practices ensured that the application evolved based on real-time user input, enhancing its usability and functionality.
Flutter’s role in the project was equally crucial. Its single codebase capability for multiple platforms drastically reduced development time and effort, enabling the team to focus on refining features and improving user experience. The hot reload feature significantly accelerated the testing and debugging process, allowing for rapid iterations and seamless integration of new functionalities. The extensive library of pre-designed widgets in Flutter ensured a consistent and visually appealing interface across different devices. By leveraging Flutter’s strengths, the development team was able to deliver a highquality, responsive, and scalable application. The successful integration of Agile Methodology and Flutter not only met the project’s objectives but also demonstrated a powerful combination for future mobile application development projects.

5. Conclusion

The development of a Motorcycle Rental Application using Agile Methodology and Flutter has demonstrated the effectiveness of iterative and flexible project management approaches in delivering high-quality software. Agile’s focus on continuous improvement, customer feedback, and adaptive planning has proven essential in meeting the dynamic requirements of this project. The use of Flutter, with its single codebase and efficient development tools, enabled the team to create a responsive and visually appealing application that aligns with modern user expectations.
Throughout the project, the Agile framework facilitated regular progress reviews and rapid responses to feedback, ensuring that the application evolved in alignment with user needs. Key features such as user registration, motorcycle listing, rental booking, and payment integration were successfully implemented, providing a seamless user experience.
The success of this project underscores the advantages of integrating Agile methodology with robust development frameworks such as Flutter. By adhering to Agile principles, the team maintained high levels of collaboration, transparency, and accountability, resulting in a robust and user-friendly application. This approach not only streamlined the development process but also ensured that the final product was wellreceived by both users and stakeholders.
Future work may include extending the application’s functionality, enhancing user interface elements, and integrating additional payment options to further improve the user experience. The insights gained from this project can serve as a foundation for similar initiatives, showcasing the value of Agile methodology and modern development tools in creating effective and efficient software solutions.

Acknowledgment

The author’s wishes to acknowledge the Informatics Department UIN Sunan Gunung Djati Bandung, which partially supports this research work.

References

  1. H. Allain et al., “Improving productivity and reducing costs of mobile app development with flutter and backend-as-a-service,” Master’s thesis, 2020.
  2. Beck, M. Beedle, A. v. Bennekum, A. Cockburn, W. Cunningham.
  3. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern.
  4. et al., “Manifesto for agile software development,” 2001. [Online].
  5. Available: http://agilemanifesto.org/.
  6. Schwaber and J. Sutherland, The Scrum Guide. Scrum.org, 2017. [Online]. Available: https://www.scrumguides.org/scrum-guide.html.
  7. K. S. Rubin, Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley, 2012.
  8. Cockburn, Agile Software Development: The Cooperative Game. Addison-Wesley Professional, 2006.
  9. P. Serrador and J. K. Pinto, “The impact of planning on project success—a literature review,” International Journal of Project Management, vol. 33, no. 5, pp. 1040–1050, 2015.
  10. Al-Zewairi, M. Biltawi, W. Etaiwi, A. Shaout et al., “Agile software development methodologies: survey of surveys,” Journal of Computer and Communications, vol. 5, no. 05, p. 74, 2017. [CrossRef]
  11. T. Huynh, “A flashcard mobile application development with flutter,” 2021.
  12. Zaitsev, U. Gal, and B. Tan, “Coordination artifacts in agile software development,” Information and Organization, vol. 30, no. 2, p. 100288, 2020. [CrossRef]
  13. D. G. Muraharami, S. Darmowinoto, and M. Y. Baihaqi, “Web-based online motorbike dealing system,” Indonesian Scholars Scientific Summit Taiwan Proceeding, vol. 4, pp. 1–7, 2022.
  14. G. H. Rachman, S. F. S. Gumilang, and T. N. Adi, “Development of web application based on crowdsourcing for car rental management by using scrum methodology (customer side),” eProceedings of Engineering, vol. 2, no. 2, 2015.
  15. Haqqizar, T. W. Widyaningsih, and M. A. Dewi, “Agile scrum model for development of e-customer relationship management to support warehouse rental services,” Jurnal SISKOM-KB (Sistem Komputer dan Kecerdasan Buatan), vol. 6, no. 2, pp. 118–124, 2023. [CrossRef]
  16. J. Preston, “Development of a scalable online booking system for sme car rental systems through the implementation of the mern stack,” August 19th, 2019.
  17. R. Somasundaram, M. Srinivasan, and S. Sankaranarayanan, “Analyzing the architectural efficiency of flutter for mobile application development,” IEEE Access, vol. 8, pp. 175 456–175 465, 2020.
  18. X. Zhang and P. Liang, “Enhancing productivity in mobile app development with flutter: An empirical study,” in Proceedings of the 2019 ACM Symposium on Applied Computing. ACM, 2019, pp. 1056–1063.
  19. X. Chen, Y. Zhang, and Q. Zhang, “Performance evaluation of crossplatform mobile development frameworks,” Journal of Systems and Software, vol. 156, pp. 110–121, 2019.
  20. S. Kim, J. Lee, and H. Park, “A study on the effectiveness of flutter framework in developing cross-platform applications,” International Journal of Software Engineering and Its Applications, vol. 15, no. 2, pp. 25–34, 2021.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

© 2024 MDPI (Basel, Switzerland) unless otherwise stated