SWE201c DuongBinhMinh CE170224
SWE201c DuongBinhMinh CE170224
The
development of travel apps is therefore equally significant and profound. As more users invest
time in studying and preparing for their upcoming major trips or business destination, there are
an increasing number of travel apps available for iOS and Android devices. Given the 1700%
increase in mobile bookings in the travel sector since 2015, it is predicted that 31% of all
travelers will research and book their upcoming trips using a smart phone or tablet. Of course, a
modern traveler expects more from a travel app than just the ability to reserve a hotel or search
for available accommodations. Therefore, a start-up company desires to develop an application
with more features to bring more convenience to travelers. A Transportation Services for
travelers application is recommended to start first. Some features of Transportation Services for
travelers are defined below: − Embedding GPS Tracking for Real-Time Arrivals: People are
currently wasting time guessing at train or bus schedules. Travelers can view real-time arrival
updates from the transport media by using the GPS tracking feature. They also need to locate
real-time information on the nearest feasible transportation methods. − Map and Navigational
Tools for the Guide: Include a geolocation map for the city's specialized public transportation
services in the transportation app, and give customers real- time navigational assistance for their
travel needs. − A schedule and offline routes are available: All frequent commuters who follow a
set route, set of stations, and set of places enjoy offline viewing. Users of transportation
applications now have access to offline displays of schedules and routes, making it simple for
them to plan their route from point A to point B. − Push Alerts For Unexpected Failures:
Applications can notify internet users in real-time of events like crises or unexpected outages,
delays, traffic jams, new construction, etc. Thus, they may plan out the bus or rail schedules in
more detail. Users of the application can get real-time updates on public transportation to their
preferred location. Please answer these questions: 1. What software development methodology
would you suggest for this situation and why? a) Identifying the characteristics of this situation
and specifying the logic behind the selection of characteristics b) Select a model that best fits
the characteristics you identified above. 2. List out 4 functional requirements in which you are
interested in travel planners. 3. Write 2 user stories based on your answers in question 2. 4. For
the screen of travelers in the mobile app, create a story map to show the user experience and
what you need to build. Feel free to add fictitious functionality and features as you feel
appropriate. You will be graded on the quality, completeness, and correctness of your story map.
5. Despite the software development methodology you have chosen, your teammates argue
with you and they would like to choose the SPIRAL methodology to apply to this project. a)
Should you agree with this requirement or not? If NO, please give the appropriate explanation
for the WHY question. If YES, give your proposed ideas to require end users and another team
that could assist you in choosing the SPIRAL methodology to develop this application. b) What
kind of testing would you suggest the team do?
1. What software development methodology would you suggest for this situation and why?
ChatGPT
Characteristics:
Dynamic Requirements: The travel industry is dynamic, and user needs may evolve during development.
User-Centric Focus: The app needs to address diverse user needs and preferences.
Technology-Driven: Integration of real-time features like GPS tracking requires continuous adaptation.
Agile Methodology: Given the dynamic nature and evolving user needs, Agile is suitable. It allows for
iterative development, continuous feedback, and flexibility in accommodating changes.
b) Selected Model:
Agile Development Model: Emphasizes flexibility, collaboration, and customer feedback throughout the
development process. It allows for incremental development, continuous testing, and quick adaptation
to changing requirements. This aligns well with the characteristics of the travel app project, ensuring a
responsive and user-focused development process.
Dynamic Requirements:
Characteristic: The travel industry is subject to frequent changes, such as shifts in user preferences,
emerging technologies, and updates in transportation services.
Logic: Agile allows for flexibility and responsiveness to changing requirements. It supports the iterative
development process, allowing the team to adapt quickly to dynamic conditions and incorporate user
feedback regularly.
User-Centric Focus:
Characteristic: Modern travelers expect personalized and user-friendly experiences from travel apps,
reflecting diverse preferences and needs.
Logic: Agile concentrates collaboration and continuous customer feedback. This ensures a user-centric
approach, enabling the development team to incorporate user suggestions and preferences throughout
the project.
Technology-Driven:
Characteristic: The application involves advanced technologies such as GPS tracking for real-time updates
and geolocation services for navigation.
Logic: Agile accommodates technological advancements by promoting frequent testing and integration.
This ensures that the technology-driven features are seamlessly integrated and function well throughout
the development process.
The selection of these characteristics aligns with the Agile methodology, as it provides a framework that
caters to the dynamic nature of the travel industry, encourages user involvement, and facilitates the
integration of evolving technologies during development. Agile's iterative nature ensures that the project
can adapt to changes and deliver a product that meets user expectations.
Reasoning: Agile is chosen for its flexibility, iterative nature, and user-centric approach, aligning with the
dynamic requirements, user-focused development, and technology-driven aspects of the travel app.
Users can view real-time arrival updates for various transportation modes.
App notifies users in real-time of events like crises, delays, or traffic jams.
Real-Time Explorer:
As a frequent traveler, I want to receive real-time updates on the arrival of public transportation, so I can
plan my journey more efficiently and reduce waiting times.
Effortless Commuter:
As a daily commuter, I want to access offline schedules and routes to plan my routine journey without
depending on internet connectivity.
Screen 1: Home
Quick links to commonly used features (real-time tracking, maps, offline schedules).
Note: This story map provides a visual representation of the user journey within the mobile app,
ensuring a seamless and user-friendly experience. The screens are organized in a logical flow, considering
the needs of both occasional travelers and daily commuters. The app caters to real-time tracking, offline
planning, and proactive notifications for a comprehensive travel experience.
Explanation: Agile is more suitable for the dynamic nature of the travel app project. SPIRAL is a risk-
driven model that involves extensive planning and risk analysis, which may slow down the development
process. The travel industry requires quick adaptation to changing user needs and emerging
technologies, which aligns better with Agile's iterative and flexible approach.
If your teammates strongly advocate for SPIRAL, you can consider a compromise:
Parallel Integration: Implement SPIRAL for risk analysis and planning in parallel with Agile sprints.
Milestone Checkpoints: Set specific checkpoints where the team can reassess the project and decide if
adjustments are needed.
Risk Mitigation Plan: Develop a risk mitigation plan within the Agile framework to address potential
issues identified by SPIRAL.
c) Testing Suggestions:
Incremental Testing: Given the iterative nature of SPIRAL, conduct testing after each cycle to ensure each
increment is functional.
Prototyping Testing: SPIRAL involves building prototypes, so testing should focus on validating these
prototypes against user requirements.
User Acceptance Testing (UAT): Involve end-users in testing to ensure the final product aligns with their
expectations.
Continuous Integration Testing: Ensure that new features integrate seamlessly with existing
functionalities at each spiral iteration.
Note: While combining SPIRAL and Agile elements is possible, it requires careful coordination to avoid
conflicts between the two methodologies. The compromise suggested aims to integrate some aspects of
SPIRAL while preserving the benefits of Agile's flexibility and user-centric focus.