Assignment Cover page
Assignment Cover page
Student Name: Qiaoyi Jin
Student number: A00094189
Subject Name: Microservice architecture
Assignment 2 Business Proposal
Word count: 1589
Due date: 06/11/2022
Introduction
Based on the statistics, Netflix users spend more than 165 million hours a day on more than 4000 movies and 47000 TV episodes (Nguyen, 2020). From a scope of engineering perspective, Netflixs technical team has developed a great video streaming system that is highly available and scalable to serve users worldwide. Real Netflix's infrastructure transformation began in August 2008, when the company's data center experienced a web service outage, causing the entire DVD rental service to shut down for three days along with significant losses. The technical team at Netflix realized it needed a more reliable infrastructure with no single point of failure (Dragoni et al., 2017). Therefore, the management of the technical team made two important decisions, to migrate the IT infrastructure from its own Inner Domain cloud (IDC) to the public cloud, and to replace the monolithic program with smaller manageable software components by transforming it into a microservice architecture (MSA). The report will be covering the transition history of Netflix to its MSA, the MSA structure, and the rationale for these changes (Nguyen, 2020).
Netflixs progression after the decision of moving to the cloud and transition to a microservice architecture
Netflix chose the Amazon cloud computing service (AWS Cloud) to migrate its IT infrastructure because AWS provides highly reliable databases, massive cloud storage, and numerous data centers around the world (Nguyen, 2020). Netflix leverages a cloud infrastructure built and maintained by AWS, eliminating the heavy lifting of building its own data centers and focusing more on its core business of delivering a high-quality video streaming experience (Nguyen, 2020). Although Netflix needed to refactor its entire technology stack to run smoothly on the AWS Cloud, in return, the system's scalability and service availability were significantly improved (Vukovi, 2019).
Netflix moved onto its microservice architecture when there were few competitors chose to do so. Microservices encourage the separation of concerns to solve problems with monolithic software design (Nguyen, 2020). In this architecture, a large program is decomposed into many smaller software components through modularity and independent data encapsulation. Microservices also improve scalability through horizontal scaling and workload partitioning (Nguyen, 2020). With microservices, Netflix engineers can easily make changes to any service, resulting in faster deployments. What's more, they can track the performance level of each service and quickly isolate it from other running services in the event of a problem (Nguyen, 2020).
Figure 1. Different data storage through the transition to AWS (from 2009 to 2011)
The architecture
Netflix operates on the AWS cloud and the company's internal content delivery network: Open Connect. The two systems must work together seamlessly to provide high-quality video streaming services globally (Nguyen, 2020).From a software architecture perspective, Netflix consists of three major parts: client, backend, and content delivery network (CDN).
Clients are all supported browsers on the user's laptop or desktop, or the Netflix app on a smartphone/smart TV. Netflix develops its own iOS and Android apps in an attempt to provide the best viewing experience for every client and every device (Nguyen, 2020). Netflix can control its own app and other devices through its Software Development Kit (SDK), allowing it to transparently adjust the streaming service in certain scenarios, such as slow network speeds or overloaded servers (Dragoni et al., 2018).
The backend includes services, databases, and storage that run entirely on the AWS Cloud. The backend can handle basically everything that doesn't involve streaming video (Nadareishvili, 2016). Some components of the backend and their corresponding AWS services include: Scalable Compute Instances (AWS EC2), Scalable Storage (AWS S3), Business Logic Microservices (Netflix-specific framework), Scalable distributed databases (AWS DynamoDB, Cassandra), Big data processing and analytics jobs (AWS EMR, Hadoop, Spark, Flink, Kafka, and some Netflix-specific tools), Video processing and transcoding (Netflix-specific tools) (Nguyen, 2020).
Figure 2. Netflix Backend on AWS
Components
The major components of Netflix MSA include Client App, the backend and Open Connect.
The client App
The Netflix technical team puts a lot of effort into developing client applications that run faster and smarter on laptops, desktops or mobile devices. Even on some smart TVs that don't have a dedicated Netflix client, Netflix can still control the performance of the device through its own SDK (Nadareishvili, 2016). Virtually any device environment requires the Netflix Ready Device Platform (NRDP) to be installed for the best viewing experience. Figure 3 shows a typical client architectural component (Nadareishvili, 2016). The Client App divides its connection with the backend into two types, which are used for content discovery and content playback. Clients use the homegrown security protocol called NTBA for playback requests to ensure greater security at their Order Control Application (OCA) server location and to eliminate delays caused by SSL/TLS handshakes for new connections (Nadareishvili, 2016). When streaming video, if the network connection is overloaded or in error, the client application will intelligently reduce the video quality or switch to a different OCA server. Even if the connected OCA is overloaded or fails, client applications can easily switch to other OCA servers for a better viewing experience. The client achieves all of this because the Netflix Platform SDK on it keeps track of the most recent list of healthy OCAs retrieved from the Play app service (Savchenko et al., 2015).
Figure 3. Connections between Client Device and the backend
The backend
The API Gateway Service component communicates with the AWS Load Balancer to resolve all requests from clients. This component can be deployed on multiple AWS instances located in different regions to increase the availability of the Netflix service (Nadareishvili, 2016). The application API acts as the orchestration layer for Netflix microservices. This API provides a logic to assemble calls to the underlying microservices in the desired order, with additional data from other data stores to construct appropriate responses (Savchenko et al., 2015). The Netflix team spent a lot of time designing the application API component as it corresponds to Netflix's core business functionality. It also needs to be scalable and highly available under high request volumes. Currently, application APIs are divided into three categories: Signup API for non-member requests (such as registration, ordering, free trials, etc.), Discovery API for search and discovery requests, and Streaming API Playback API for video and viewing permission requests (Nadareishvili, 2016).
Open Connect
Open Connect is a global content delivery network (CDN) that stores and delivers Netflix TV shows and movies to subscribers around the world (Yarygina & Bagge, 2018). Netflix builds and operates Open Connect, an efficient network to get what people want to watch as close as possible to where they want to watch it. In order to direct Netflix viewing traffic to customers' local networks, Netflix has partnered with Internet Service Providers (ISPs) and Internet Exchange Points (IX or IXPs) around the world to deploy on-premises networks (Nadareishvili, 2016).
Figure 4. MSA components
The rationale of the Netflix MSA design
High availability
By definition, the availability of a system is measured by how many times a request is responded to over a period of time, but there is no guarantee that the response contains the latest version of the information (Nguyen, 2020). The goal of the backend service is to get a list of healthy OCAs closest to a particular client through caching or some microservice execution. When the client receives a list of OCA servers from the backend, it probes the network for these OCAs and selects the best OCA to connect to (Nguyen, 2020). If that OCA is overloaded or fails during stream processing, the client will switch to another OCA that is in good shape, otherwise, the Platform SDK will request another OCA. The high availability of the Netflix streaming service comes at the cost of complex multi-region AWS operations and services, and the redundancy of OCA servers (Nguyen, 2020).
Low latency
The latency of streaming services is mainly determined by how fast the playback API can parse a healthy list of OCAs, and the health of the client's connection to the chosen OCA server (Nguyen, 2020). The playback API doesn't wait forever for the microservice to execute because it uses Hystrix commands to control how long to wait before getting results, and once it times out, it fetches non-latest data from the cache (Indrasiri & Siriwardena, 2018). If the currently selected OCA server experiences a network failure or is overloaded, the client will immediately switch to the other OCA server with the most reliable network connection. It can also lower the video quality to match the quality of the network if it finds that the quality of the network connection is degraded (Nguyen, 2020).
Trade offs
There are also trade-offs that are not entirely related between scalability and performance. At this trade-off, increasing scalability by increasing the number of instances to handle more load may result in the system not achieving the desired level of performance improvement (Nguyen, 2020). This can be a problem for design architectures that do not balance the load well among the available workers. However, Netflix resolves this contradiction with AWS autoscaling.
4.4 Resilience
The Netflix technical team is also known for its practice in Chaos Engineering (Nguyen, 2020). The idea is to inject pseudo-random errors into production and build solutions to automatically detect, isolate, and recover from such failures. These errors can increase latency in executing microservice responses, kill services, stop servers or instances, and can even bring down the infrastructure of an entire region (Balalaie et al., 2016). By purposefully using tools to detect and resolve such failures, and introducing real-world production failures into monitored environments, Netflix can catch such flaws before they become a bigger problem (Nguyen, 2020).
Conclusion
Overall, Netflix's cloud architecture has been validated by its production systems to serve millions of subscribers running on thousands of virtual servers; the architecture is also globally available through integration with AWS cloud services Provides high availability, optimal latency, robust scalability, and resilience to network failures and system failures. Although, there were some sacrifices that were committed to improving Netflixs high availability and low latency quality, the benefits of AWS cloud and MSA services out yield the outcome of overwhelming popularity among the public.
References:
Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2016). Microservices architecture enables devops: Migration to a cloud-native architecture. IEEE Software, 33(3), 4252. https://doi.org/10.1109/ms.2016.64Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., & Safina, L. (2017). Microservices: Yesterday, Today, and Tomorrow. Present and Ulterior Software Engineering, 195216. https://doi.org/10.1007/978-3-319-67425-4_12Dragoni, N., Lanese, I., Larsen, S. T., Mazzara, M., Mustafin, R., & Safina, L. (2018). Microservices: How to make your applicationscale. Lecture Notes in Computer Science, 95104. https://doi.org/10.1007/978-3-319-74313-4_8
Indrasiri, K., & Siriwardena, P. (2018). Microservices for the enterprise: Designing, developing, and deploying. Apress.
Nadareishvili, I. (2016). Microservice architecture: Aligning principles, practices, and culture. O'Reilly Media, Inc.
Nguyen, C. D. (2020, May 5). A design analysis of cloud-based microservices architecture at Netflix. Medium. Retrieved November 7, 2022, from https://medium.com/swlh/a-design-analysis-of-cloud-based-microservices-architecture-at-netflix-98836b2da45f
Sampaio, A. R., Kadiyala, H., Hu, B., Steinbacher, J., Erwin, T., Rosa, N., Beschastnikh, I., & Rubin, J. (2017). Supporting microservice evolution. 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME). https://doi.org/10.1109/icsme.2017.63
Savchenko, D. I., Radchenko, G. I., & Taipale, O. (2015). Microservices validation: MJOLNIRR platform case study. 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). https://doi.org/10.1109/mipro.2015.7160271Vukovi, J. (2019). You are not netflix. Microservices, 333346. https://doi.org/10.1007/978-3-030-31646-4_13
Yarygina, T., & Bagge, A. H. (2018). Overcoming security challenges in Microservice Architectures. 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE). https://doi.org/10.1109/sose.2018.00011
Assignment Cover page
Student Name: Qiaoyi Jin
Student number: A00094189
Subject Name: Requirement Engineering
Assignment 1 Requirement Elicitation Report
Word count: 1489
Due date: 06/11/2022
Table of Contents
Introduction
Stakeholder identification techniques
List of stakeholders of the My Maccas app
The PI map
The PI map position justification
4 elicitation activity plans
Conclusion
Introduction
This report introduces the common stakeholder identification techniques with a focus on directional technique including upwards, sideways, outwards, downwards. In the meantime, the importance of recognizing stakeholders is also briefly discussed. The list of stakeholders is introduced at the main body of this report following the technique introduces in the beginning section of this report. The main and important stakeholders are mapped in the following PI map with a brief discussion on the rationale about their positioning. At the end part of this report, 4 selected elicitation method in agile project management methodology are demonstrated including workshop, document analysis, brainstorming and surveys/questionnaires. The workshop activity plan is the most common and effective approach in the 4 elicitation plans selected.
Stakeholder identification techniques
Stakeholders define a group of individuals who are interested in the relevant business. Currently there are 5 steps of stakeholder engagement involving: identify, analyze, plan, act and review. In the first steps of identifying stakeholders, many techniques are involved. The key stakeholders are the focus of a business analysis therefore identifying their positive and negative interests impacts on business is essential first step (Schn et al., 2017). The minor stakeholders can be easy to ignore. Under normal circumstances, stakeholders can be: national authorities, local communities, business groups, employees, organizations, customers, unions, and project teams etc. The most straightforward method of identifying stakeholders is using the directional path analysis following the order of upwards, sideways, outwards, downwards (Bryson, 2004). The upwards path involves executives, project sponsor, lenders, creditors and shareholders. The outwards path introduces customers, end users, government regulatory agencies and the general public. The sideways path contains other project managers, technical managers, local committees and boards, unions and trade organizations. Lastly downwards path includes the project team, suppliers and contractors. Other stakeholders identification techniques like stakeholder wheel, stakeholder categories and holistic view of internal and external stakeholders can be presented on visual graphs therefore making the identification straightforward to understand.
List of stakeholders of the my Maccas App
Stakeholders Stakeholders type Stakeholders category Description
McDonalds CEO Internal Executives The most superior position/entity that manages or take control the business
Project sponsor Internal supplier The projects beginning point of investment chain, one of the project initiators
Creditors External Government The projects execution qualification team, registration of the project team members
Shareholders Internal Partner The project shareholders make their investment into the project via stock markets
Customers Internal Customers The targets of the directed business serve or aim to serve
End users Internal Customers The end users can be those who act as customers to the my Maccas app also they can be food courier like people who work for uber eats
The general public External Customer People who were advertised by the advertisement might act as speaker of the information to other people who might become MyMaccas users
Food safety supervisor External Government The group of people who are certified by the government who are in charge of food safety supplied to the general public
McDondald Caf project manager Internal Partner MyMaccas coffee is served at different counter, the caf project manager may share data/information for the app development/construction
My Maccas app tester Internal Partner The technicians job is to secure the stable use of the app and maintenance of the app undergoing different updates onwards
Workers Union External Government The Union protects the rights of all workers at McDonald, these people include but not limited to the staff of stores, supplier personal, and app development technicians
The project team Internal Supplier The MyMaccas app project team is the main working body. The carry out the majority of the job content.
The raw material suppliers Internal Supplier The raw material suppliers supply the materials to the store which will then turn the raw materials into products that the app will sell
Other fast-food chain app External Competitors Other big brand fast-food chain app like, hungry jacks or KFC will also have apps that work as competitors to the MyMaccas app take the shear of the fast food market
Other delivery order apps External Competitors/Partners The other food ordering app like menulog or uber eats will have similar app and reward system that might reduce the number of MyMaccas app users, sometimes they will provider courier services to the McDonalds products like partners
The PI map
Justification of PI positions
The stakeholders are the most important and showed the most interest are the ones that are directly impacted the projects initiation, progression and supervision. Therefore, there are both internal and external stakeholders that will be mapped at higher power and higher interest. The governing bodies have a high power but might show as not much of interest than the project team itself. The customers on the other hand might not have the high power but would show the higher interest than the governing bodies.
The elicitation activity plans
Workshop
Requirement workshops are most common and useful elicitation technique. Multiple stakeholders can attend the workshop including business analyst. The workshop meeting may generate a model or a prototype at the end. A workshop may involve the following steps like planning, opening, execution, closing and follow up (McAvoy et al., 2007). The workshops has its matured structures for solving the problems and it can gather most of the relevant and important stakeholders in convenience. Project sponsor, project leaders, a few customers/end users, the project team will join the meeting. For example, when testing whether a new interface of the MyMaccas app was easy to use, the customers feedback maybe broken down into steps for distribution of work to the whole project team.
Document analysis
Document analyses can be conducted in between the project leader and entire the project team. The review result/report can be then forwarded to the executive teams such as McDonald CEO and the sponsors to make the final decision. The document can real ongoing problems/questions that exist in the current model of business (Sonia & Singhal, 2011). Also the documents such as customer suggestions logs, app feedback logs and competitive model review are constructive when producing the app. The project team can learn from the successful experience and avoid the obstacles that the documents listed. For example, the hungry jacks new rewards system has brought a recent sales growth to its products. Then a document analysis maybe conducted to study how the reward points systems work to implement into My Maccas app.
Brainstorming
Brainstorming is a technique that can gather stakeholders like project sponsor, the project team and the project leader to generate some ideas that have not appeared on the market before. Brainstorming is useful technique to keep the MyMaccas app in renovation. Renovations bring enterprises the vitality they need (Tariq et al., 2021). The process of brainstorming potentially requires assistance from a business analyst. As the business analyst would facilitate and initiate the process of brainstorming within the team. For example, the project team might come up with a build-in monopoly game in the My Maccas app. The earning points of monopoly game can be converted to My Maccas points as a new sales pitch to attract more customers and arose social interactions within the app.
Surveys and Questionnaires
The advantage of surveys is the it can breach the geographic disparity between different stakeholders (Aldave et al., 2019). In this case, surveys are the most effective way either for local stores or overall the entire fast-food chain. The local stores can utilize the information to produce the products that fit the local taste of flavour. The survey technique may involve the customers, end product users, the supply team, the project team and the project manager. The feedback of surveys can either be collected on paper base or electronically. Then the results will be analysed by the project team. For example, MyMaccas survey show that most people wanted the return sichzuan flavour dipping sauce for McNuggets and the welcomed flavour has brought a sales increase for McDonald.
Conclusion
Based on the stakeholders directional identification technique, most of the relevant stakeholders can be filtered out. The stakeholders that manage the project and the customers who use the app have the highest impact and interest on the project based on the PI map. However, other stakeholders like the governing regulation bodies will also play an important role in running and operation of the app. The PI map will be a useful tool for the project team to assess their relevance and importance. In agile project management methodology, workshop presents its most potent role in terms of the elicitation plans. It connects most of the direct stakeholders in the most efficient and economical fashion. Other elicitations plan activities can be regarded as the supplementary approach to the main workshop activity.
References
Aldave, A., Vara, J. M., Granada, D., & Marcos, E. (2019). Leveraging creativity in requirements elicitation within Agile Software Development: A systematic literature review. Journal of Systems and Software, 157, 110396. https://doi.org/10.1016/j.jss.2019.110396
Bryson, J. M. (2004). What to do when stakeholders matter. Public Management Review, 6(1), 2153. https://doi.org/10.1080/14719030410001675722McAvoy, J., Sammon, D., & Owens, I. (2007). A simple tool to assist in agile methodology adoption decisions. Journal of Decision Systems, 16(4), 451468. https://doi.org/10.3166/jds.16.451-468
Schn, E.-M., Thomaschewski, J., & Escalona, M. J. (2017). Agile Requirements Engineering: A systematic literature review. Computer Standards & Interfaces, 49, 7991. https://doi.org/10.1016/j.csi.2016.08.011
Sonia, & Singhal, A. (2011). Development of agile security framework using a hybrid technique for requirements elicitation. Communications in Computer and Information Science, 178188. https://doi.org/10.1007/978-3-642-18440-6_22
Tariq, S., Ibrahim, A., Usama, A., & Shahbaz, M. S. (2021). An overview of requirements elicitation techniques in software engineering with a focus on agile development. 2021 4th International Conference on Computing & Information Sciences (ICCIS). https://doi.org/10.1109/iccis54243.2021.9676192
MIS604
Requirements Engineering
Assessment 2
Requirements Documentation & Lifecycle Management Report
Submitted by:
Salma Akter - A00094749
Jamie Rose Castro - A00076993
Madhav Gyawali A00079847
Shiyu Ji A00091571
Qiaoyi Jin A00094189
Submitted to:
Dr. Ratna Saha
Academic Integrity Declaration
We declare that except where we have referenced, the work we are submitting for this assessment task is our own work. We have read and are aware of Torrens University Australia Academic Integrity Policy and Procedure viewable online at http://www.torrens.edu.au/policies-and-formsWe are aware that we need to keep a copy of all submitted material and their drafts, and we will do so accordingly.
Table of Contents
TOC o "1-3" h z u Introduction PAGEREF _Toc118479047 h 4Requirements Documentation PAGEREF _Toc118479048 h 4Project Scope PAGEREF _Toc118479049 h 4Major Features PAGEREF _Toc118479050 h 5Business Requirements PAGEREF _Toc118479051 h 5Functional Requirements PAGEREF _Toc118479052 h 6Non-Functional Requirements PAGEREF _Toc118479053 h 10Swim Lane Diagrams PAGEREF _Toc118479054 h 12Requirements Life Cycle Management PAGEREF _Toc118479055 h 13Knowledge Areas/Activities PAGEREF _Toc118479056 h 13Best Practices PAGEREF _Toc118479057 h 13Requirements Traceability Matrix PAGEREF _Toc118479058 h 14Conclusion PAGEREF _Toc118479059 h 15References PAGEREF _Toc118479060 h 16
Introduction
This Requirements Documentation & Lifecycle Management Report provides the scope of the My Maccas enhancement project and summarizes major features related to the next My Maccas App update as well as an overview of the subsequent releases. Given the identified functions that will be implemented, this report also details the functional and non-functional requirements that have been identified through different elicitation methods such as workshops, surveys, brainstorming sessions, and a client interview after the business requirements have been established.
This report also introduces a pseudo payment option, My Maccas Pay, which is assumed to be an in-house payment facility being operated by a separate business unit. In addition, the following assumptions have been made throughout this report:
IT Project Team is composed of individuals handling UI/UX design, development, operations, cybersecurity, infrastructure, network, analytics, QA testing, etc.
My Maccas Pay, My Maccas Rewards, and My Maccas app are different business units, thus having separate project teams
Various elicitation activities have been conducted
Requirements DocumentationProject Scope
The aim of the My Maccas app is to serve users to use Mcdonalds services in the most convenient way. The current patch of the My Maccas app employs basic functions for the customs to access quick and straightforward services. The development of My Maccas app will need to be continuously constructed and innovated. The database is constructed based on the data collected from the orders placed and customers preferences. The enhancement will focus on Release 2 and shall cover several extensions such as pick-up method selection, My Maccas Pay, third-party payment expansion, and McDonalds Rewards point system modifications.
Table 1
Scope of the Project
Feature Release 1 Release 2 Release 3
FE-1. Order Process Standard meal order completion Integrate pick-up method improvements with current order process design
Enable order rating Personalized menu
FE-2 My Maccas Pay Not implemented Enable in-app top-up and payment acceptance Enable sharing of My Maccas Pay credits
FE-3 3rd Party Payment Methods Visa, Mastercard, AMEX integration Google Pay, Apple Pay, Zip Pay, After Pay integration Ali Pay, Paypal integration
FE-4 Mc Donalds Rewards Earn rewards per order Earn rewards via download and usage referral
Earn rewards via My Maccas usage Flexible and variations of rewards point calculation system
FE-5 Pick-up Enable option for pick-up Enable choices pick-up via front counter, drive-thru, or kerbside Enable stores to monitor distance of approaching customers
FE-5 Delivery Enable option for delivery via 3rd party service providers
Tracking of order No changes Delivery to multiple recipients
Major Features
FE-1 My Maccas order process to include pick-up method improvements and order rating facility
FE-2 My Maccas Pay top-up and payment acceptance
FE-3 3rd party payment method expansion to include Google Pay, Apple Pay, Zip Pay, and After Pay
FE-4 McDonalds Rewards in-app point earning system modification to allow earning of points via download and usage referral, and My Maccas App usage
.
Business Requirements
In line with the objective to improve customer experience in the My Maccas app, the business requirements set for this project are as follows:
Offer a smarter solution to ensure that customers will enjoy freshly prepared meals at the most convenient way
Enable additional payment options in the My Maccas App
Provide more flexibility in earning McDonalds Reward Points via the My Maccas App
Functional RequirementsWith relevance to the objective of improving the customer experience in the My Maccas app, the Focus Group Discussion (FGD) participants have nominated a function that will allow customers who opt to pick up their orders in-store to choose how they prefer to pick them up. Considering that the current version of the My Maccas app already has an ordering feature, the UI/UX of the Select Pick-up Method function must be aligned with it to ensure consistency in the customer journey design. After payment, the customers should be led to a landing page on which they can choose if they want to pick-up their order via the front counter, drive-thru, or kerbside. After choosing, the customer will be given a code that they can present to the store staff upon claiming their order. In parallel, the stores shall receive the order of the customer together with the information on their preferred pick-up method.
Table 2
Functional Requirement No. 1: Select Pick-Up Method
Requirement ID FR-2206
Requirement Name Select Pick-up Method
Source Focus Group Discussion
Owner My Maccas App Project Manager
Priority Must have
Stakeholder(s) Customers, Store Operations, IT Project Team
Requirement Description Customers who opt for a pick-up transaction should be able to choose their preferred method of pick-up, whether it be via the front counter, drive-thru, or kerbside
Associated Non-Functional Requirements Ensure timely response of the app
Allow customers to rate their experience
Access should be limited to customers with a confirmed order
UI/UX aligned with the current in-app ordering process
Acceptance Criteria Pick-up method should be received by the stores within 10 seconds after the order confirmation of the customer
Customers should receive a code that they can present to the store staff for verification at the front counter, drive-thru, or kerbside
Justification Focus Group Discussion participants nominated this function to be included in order to enhance the experience of customers picking up their orders in the stores
To satisfy the business requirement of having enabling additional payment options, an in-house payment gateway should be made available. My Maccas Pay shall allow customers to top-up their My Maccas account for a more convenient way of payment for future orders. This feature targets customers who are reluctant to save their credit/debit card information in their online accounts.
Table 3
Functional Requirement No. 2: My Maccas Pay Top-up
Requirement ID FR-2008
Requirement Name My Maccas Pay Top-up
Source Interface Analysis, Workshop
Owner My Maccas Pay Project Manager
Priority Must have
Stakeholder(s) Finance team, My Maccas Pay project team, payment gateway, customers, IT project team
Requirement Description Customers should be able to top-up their My Maccas account for a more convenient way of payment for future orders
Associated Non-Functional Requirements Access should be limited to logged in customers
Fingerprint/pin authentication prior to processing top-up
Timely response of successful/unsuccessful top-up
Push notification
Transaction history
Acceptance Criteria Response time for the top-up amount to reflect in the customers account must be within 10 seconds after the confirmation of successful top-up
Customer should receive a push notification (if they are opted in to receive one) regarding the transaction, and vice versa.
Justification In an interface analysis of the Subway app, it has been observed that customers are allowed to top-up their subway card via the subway app. Further, in a workshop conducted, it was identified that such function is feasible to be integrated in the My Maccas app. Having an in-house payment gateway could potentially reduce settlement charges of 3rd party payment gateways by 20%.
In addition to the plan to develop My Maccas Pay, 3rd party payment gateways must also be more flexible, thus the need to integrate more payment methods. In a workshop conducted, it was recommended to include the payment methods that are gaining popularity in Australia, such as Apple Pay, Google Pay, Afterpay, and Zip Pay.
Table 4
Functional Requirement No. 3: 3rd Party Payment Options
Requirement ID FR-0301
Requirement Name 3rd party payment options
Source Client Interview, Workshop
Owner My Maccas App Project Manager
Priority Must have
Stakeholder(s) Finance team, customers, payment gateway, IT project team
Requirement Description The following payment methods must be made available on top of the current options in the My Maccas app
Apple Pay
Google Pay
Afterpay
Zip Pay
Associated Non-Functional Requirements Access should be limited to logged in customers
Fingerprint/pin authentication prior to payment processing
Timely response of successful/unsuccessful payments
Push notification
Transaction history
Acceptance Criteria Response time must be within 15 seconds after the payment attempt
Unsuccessful payment should prompt a message: Your payment was unsuccessful. Please try again.
Customers must also have the option to change payment method without having to start the order from scratch should the first payment attempt be unsuccessful
Justification Client identified the need to have additional payment options and recommendations on the payment gateways have been nominated during the workshop.
To provide more flexibility in earning McDonalds Reward Points and to promote My Maccas Pay, customers should be able to earn more points when they use My Maccas Pay for payments of their orders. Further, setting of additional points must be flexible depending on the set promotion.
Table 5
Functional Requirement No. 4: Rewards via My Maccas Pay
Requirement ID FR-1412
Requirement Name Earn McDonalds Reward Points via the use of My Maccas Pay
Source Focus Group Discussion, Brainstorming
Owner McDonalds Rewards Project Manager
Priority Must have
Stakeholder(s) Finance team, customers, McDonalds Rewards project team, My Maccas Pay project team, IT project team
Requirement Description Customers should be able to earn more points when they use their My Maccas Pay vs the regular payment gateways
Additional point earning must be flexible depending on the promotion (ex. 50% more, 2x points, +10 points, etc.)
Associated Non-Functional Requirements Access should be limited customers with orders paid via My Maccas Pay
Transaction history
Timely response of points crediting
Push notification
Acceptance Criteria Successful and correct crediting of McDonalds Reward Points
Response time for the McDonalds Reward Points to reflect in the customers account must be within 10 seconds after the confirmation of successful order
Points to be earned must be displayed beside the My Maccas Pay payment option
Justification FGD results show that participants who are frequent users of the app would like to have more flexibility in earning rewards
To boost the registration and usage of the app, customers must also earn points via download and usage referral. Each registered customer should have a unique referral code which they can forward to their family and friends to encourage them to install and use the My Maccas App. Both referring customer and referred customer must earn pre-determined number of points. To minimize complaints handled by customer support, the crediting of points for both referring and referred customers must be instantaneous, and points earned must traceable via transaction history.
Table 6
Functional Requirement No. 5: Rewards via download and usage referral
Requirement ID FR-0503
Requirement Name Earn McDonalds Reward Points via download + usage referral
Source Focus Group Discussion, Brainstorming
Owner McDonalds Rewards Project Manager
Priority Must have
Stakeholder(s) Referring customer, referred customer, McDonalds Rewards project team, My Maccas Pay project team, IT project team
Requirement Description Referring customers should earn McDonalds Reward Points for every successful download and registration referral
Referring customers should earn additional McDonalds Reward Points for the initial order of the referred customer
Referring customers should be enabled with a referral code for referrals.
Referred customers should have a sign-in bonus of 10pts after registration
McDonalds Reward Points is fixed to additional 5pts per successful referral and 10 pts for the initial order of the referred customer
Associated Non-Functional Requirements Access should be limited to logged in customers
Transaction history
Timely response of points crediting
Push notification
Acceptance Criteria Successful and correct crediting of McDonalds Reward Points
Real-time crediting upon registration of referee
Response time for the McDonalds Reward Points to reflect in the referring and referred customers account must be within 10 seconds after the confirmation of registration
Additional points for referred customers usage must reflect in referring customers account within 10 seconds after the confirmation of order
Justification FGD results show that participants who are frequent users of the app would like to have more flexibility in earning rewards
Non-Functional Requirements
Geo-fencing Capability
In a survey that was conducted, it was determined that in-store ordering is still the preferred option (vs via My Maccas App) to ensure that they get their orders warm and fresh. However, due to the trend leading to digitization which also aligns with the strategy of the client, it has been recommended that a geo-fencing capability can bridge the gap. This capability should enable stores to monitor the distance of approaching customers who are about to pick up their orders. Operations team should be able to set up a virtual perimeter in which once a customer enters, the store staff members should be prompted to prepare their orders. With this, customers must opt into the data and location sharing privacy in the My Maccas App and phone settings. Additionally, real time location must be at least 95% accurate.
Server Infrastructure Resource Upgrade
Based on the survey conducted as well as feedback left in the App Store and Google Play, customers are dissatisfied with the current version of the My Maccas app due to its slow response time and frequent crashing. During a workshop, it was suggested that upgrading the server infrastructure resources is crucial to enhancing the app's loading and response times, increasing its capacity to serve multiple customers concurrently, and significantly reducing the app's downtime/outages to appease the concernsof its current end users. Following the functional requirements stated above, response time should be at a maximum of 15 seconds for payments and 10 seconds for My Maccas Pay Top-up, rewards crediting, and pick-up method confirmation.
Order Rating
Order rating can be used in the app as one of the tools to get real-time feedback of the app and the service provided by the company. They can obtain honest feedback from customers who have just used the services. A developer can get a general impression of how users value the app and where to improve by recording and to analyse the feedback. More importantly, it can generate a trend of customer behaviour and market needs which can be used to improve the app and the business in the long term.
To achieve this, the rating function has to be brief so customers only have to click up to three times to provide accurate feedback. All ratings must be confidential and stored in a database accessible only to certain McDonalds team members. In addition, function to incentivize customers (via vouchers and discounts) to encourage their participation also need to be provided
Interface Design
A brief and enjoyable interface can be crucial to attract users and maintain user relationships as it can bring about excitement when users use the app. A well-designed app can help users put minimum effort into getting things done and improve their efficiency while using the provided service. For instance, users may hesitate to use the app to order again if it would require them to retype their credit/debit card number upon payment. In addition, since this project is mainly an enhancement of an existing app, it is critical to ensure that the interface design is aligned with that of the current version to ensure a smooth transition between landing pages.
Security
Security is another crucial matter that the app needs to be carefully designed to protect users' privacy and payment information. By marking sure users' privacy is well protected, McDonalds' can avoid the high cost from breach of the privacy agreement with users and prevent themselves from huge reputational damage. Considering that this enhancement will introduce new payment gateways, identity verification is necessary every time users make a payment, thus easy access verification methods such as fingerprint scan or face ID must be available for the customers use.
Swim Lane DiagramsFigure 1
Swimlane Diagram Process for Orders via Pick-up
Figure 1 shows how customers receive their order when they opt for pick-up via My Maccas app. The stakeholders involved in this process are the customers, payment gateway service provider, and the store operations team. The process starts with the customers placing an order and continues to choose the pick-up method, then proceeds to pay for their order. The payment gateway service provider will validate the payment. If the payment validation fails, the customer will have the option to retry using another payment method. Once confirmed, the store operations team will receive the customers order for preparation. After which, it will be turned over to the selected pick-up area of the customer: front counter, drive-thru, or kerbside. The process ends once the customer receives the order.
Figure 2
Swimlane Diagram Process for Orders via Pick-up
Figure 2 shows how a customer can earn more reward points by using My Maccas Pay. The stakeholders involved in this process are the customers, the payment gateway service provider, and the My McDonalds Rewards team. The process starts with placement of orders by the customer, of which they can select their preferred payment option. If the payment is via My Maccas Pay, they will get 20 Mc Donalds Reward points and 10 points if they use another payment option. The process ends upon the crediting of point to the customers account.
Requirements Life Cycle ManagementKnowledge Areas/ActivitiesTRACE
The purpose of Trace Requirements is to ensure that requirements and designs at various levels are aligned, and to manage the impact of changes to one level on related requirements (EduEdge, 2019).Given that the nature of the project is an enhancement of an existing My Maccas app, it is highly important that any functional and non-functional requirements to be applied are aligned with the existing platform and already-implemented requirements.
MAINTAIN
Maintain Requirements purpose is to support the reuse of requirements in other solutions as well as to retain the accuracy of requirements and their consistency throughout and beyond the requirements life cycle (EduEdge, 2019). The My Maccas app serves the purpose of general use in public, the stability in daily operation and repetitive use is the utter most important. The newly implemented functions can also not breach its accuracy.
PRIORITISE
Business analysts can evaluate the value, risk, and urgency associated with certain needs and designs by prioritising them or rating them in terms of priority (Nicholas, 2022). In My Maccas app, the new payment methods options trigger the highest security level of alert. Any transactions related to finance or 3rd party request the highest integrity and supervision. Any others functions like pickup methods and My Maccas pay preferences will also require a systematic review and risk management to be useful and convenient updates.
ASSESS
Assess Requirements Changes evaluates the implication of proposed changes to requirements and designs (EduEdge, 2019). The outcome and performance of the implemented changes to the app need to be closely followed in assess. The advantage such as convenience brought to the customers from these newly added functions is to be compared with the problems/technical difficulties they brought to the app. Customer feedback will be another important indicator of assess.
APPROVE
In order for business analysis work to move forward and/or solution construction to commence, requirements and designs must be agreed upon and approved (EduEdge, 2019). Considering the amount of work and resources needed for the development and design of the My Maccas app enhancement, approval from the relevant stakeholders, including the product owner and the project manager, is highly necessary to ensure alignment within the various teams involved. It is mandatory that all requirements have been approved and clarified before the actual work begins.
Best PracticesDevelop a Requirements Plan
A requirements plan outlines how the requirements activities will be handled as well as how the actual requirements will evolve (Young, 2004, p.7). As such, it will serve as a blueprint to guide everyone working on the project as well as tracking any changes made throughout the development. Developing a requirements plan is highly significant in the My Maccas project considering that there is a significant amount of resources and manpower involved throughout the development. Any misalignment could derail the project -- impacting the timelines and wasting resources.
Do not make requirements decisions
All requirements decisions must be the responsibility of the client (Young, 2004, p.115). While it seems quicker to make decisions in behalf of the client, getting clarifications and implementing as aligned with the client would be a lot faster. For instance, the order of how the logos of the 3rd party payment gateways should appear in the payment page was not agreed upon with the client earlier on. If the client does not agree with the placements proactively decided upon by the BA or the developers, it would instigate a re-work, ultimately impacting timelines and wasting resources.
Learn how to manage teams effectively
Considering the nature of the requirements and the number of stakeholders involved in the My Maccas project, it is highly important that teams are managed effectively to ensure that everyone is working simultaneously (if needed) and are on track to deliver based on committed dates as failure to do so can ultimately result to delays.
Requirements Traceability MatrixTable 7
Requirements Traceability Matrix
Business Requirements User Requirements Design Platform Functional Requirement Non-Functional Requirements Design Element Code Test Cases Status
BR-1989Order Process 1.1 Pick-up APP FR-2206 - Customers who opt for a pick-up transaction should be able to choose their preferred method of pick-up, whether it be via the front counter, drive-thru, or kerbside Ensure timely response of the app Allow customers to rate their experience Access should be limited to customers with a confirmed order UI/UX aligned with the current in-app ordering process TD1: Screen for choosing pick-up method Program 1 TC1 Approved
TD2: Screen for order code TC2 TD3: Screen for store operations TC3, TC4, TC5, TC6 1.2 Delivery APP FR-2205 - Customers who opt for a delivery transaction should be able to choose their preferred method of delivery: UberEats, etc. Access should be limited to logged in customers Fingerprint/pin authentication prior to processing top-up Timely response of successful/unsuccessful top-up Push notification Transaction history TD4: Screen for Choosing delivery Program 2 TC7 Implemented
TD5: Screen for authentication TC8 TD6: Screen for Teansaction history TC9 TD7: Notification pop-up screen TC10 BR-1998In-App Payment 2.1 MyMacca's Pay Top -up APP FR-2008 - Customers should be able to top-up their My Maccas account for a more convenient way of payment for future orders Access should be limited to logged in customers Fingerprint/pin authentication prior to processing top-up Timely response of successful/unsuccessful top-up Push notification Transaction history TD8:Screen for login Program 3 TC11 Approved
TD9: Screen for authentication verify TC12 TD10: Top up Feedback screen TC13, TC14 TD11: E-receipt via email TC15 2.2 Third Party payment options APP FR - 0301 - The following payment methods must be made available on top of the current options in the My Maccas app- Apple Pay- Google Pay- Afterpay- Zip Pay Access should be limited to logged in customers Fingerprint/pin authentication prior to payment processing Timely response of successful/unsuccessful payments Push notification Transaction history TD11: Screen for successful or successful payment Program4 TC15 Approved
TD12: Screen for successful or unsuccessful payment TC16 TD13: Screen for reprocessing payment TC17, TC18 TD11: E-receipt via email TC19 2.3 Cash APP FR - 0524 - The order system mush support cash payment options for customers Access should be limited to logged in customers Timely response of successful payments after cash payment at counter/Cancel payments Order Code Transaction history TD12: Screen for Order Code Program 5 TC20 Proposed
TD13: Screen for payment confirmation TC21 TD11: E-receipt via email TC22 BR-1991Rewards 3.3 Earn McDonalds Reward Points via download + usage referral App FR-0503 -- Referring customers should earn McDonalds Reward Points for every successful download and registration referral Referring customers should earn additional McDonalds Reward Points for the initial order of the referred customer Referring customers should be enabled with a referral code for referrals. Referred customers should have a sign-in bonus of 10pts after registration McDonalds Reward Points is fixed to additional 5pts per successful referral and 10 pts for the initial order of the referred customer Access should be limited to logged in customers Transaction history Timely response of points crediting Push notification TD14: Screen for point crediting Program 6 TC23 Approved
TD15: Screen for push notification Conclusion
Brown (2018) describes that a good requirements document explains the issue that needs to be resolved, as well as who wants it fixed, and why. Further, teams will produce better products and make better judgments if they are aware of the context. Requirements documentation approaches include (1) identifying business requirements with context on the high-level business goals and objecrives, (2) user requirements, (3) functional requirements which states what the product needs to do, and (4) non-functional requirements.
Requirements Traceability is a key part of requirements management as its purpose is to keep track of exactly what needs to be done when designing a software (Camacho, 2020). This entails ensuring that the programme performs as intended and that work is focused only on what is required.
Considering the nature of the project for the My Maccas App, being it an enhancement of an existing app not to mention the complexity of the project due to the number of stakeholders involved, requirements documentation as well as requirements lifecycle management is very important to ensure the effective and efficient project management.
ReferencesBrown, J. L. (2018, September 5). Build Better Requirements Documentation: Why, Who, and How. UX Booth. https://www.uxbooth.com/articles/build-better-requirements-documentation-why-who-and-how/
Camacho, R. (2020, April 9). Requirements Management and the Traceability Matrix. Parasoft. https://www.parasoft.com/blog/requirements-management-and-the-traceability-matrix/#Why_Is_Requirements_Traceability_NeededEduEdge. (2019, February 1). The Importance of Requirement Life Cycle Management in CBAP Training. Education Edge. https://educationedge.ca/2019/02/01/cbaptraining-requirement-life-cycle/Nicholas, J. (2022). Introduction to Requirements Life Cycle Management. Business Analyst Mentor. https://businessanalystmentor.com/requirements-life-cycle-management/Young, R. R. (2004). The Requirements Engineering Handbook. Artech House. https://ebookcentral.proquest.com/lib/think/reader.action?docID=227599