## 4 Phases to Implement Proposed Research Methodology
### Conduct the Course
#### 4.2.2 Execute Sprints  
The final phase of the action research before the reflection phase was the implementation of the sprints. Three sprints for the students were prepared, every one of them focused on specific MACH architecture components.  
The three main topics for the sprints were Microservices Architecture Design, API-first Design, Security and Authentication in Microservices, and Cloud-Native Development. A detailed list of objectives, tasks, and expected deliverables is given in Table 1.  
Figure 2: The action research phases.  
\begin{table}
\begin{tabular}{p{108.4 pt} p{108.4 pt} p{108.4 pt}} \hline \hline
**Sprint 1** & \\ \hline
**Title: Microservices Architecture Design** & \\ \hline
**Objective: students will create a headless e-commerce website using a headless CMS and decoupled front-end.** & \\ \hline
**Tasks for First Sprint** & \\ \hline
**Tasks** & **Deliverable** & **Evaluation criteria** \\ \hline Conduct an analysis of the e-commerce platform’s requirements to identify distinct microservices needed (e.g., user management, product catalog, and order processing). & Product backlog \\ \hline For each identified microservice, define the RESTful APIs, including endpoints, request/response formats, and authentication mechanisms. & Detailed documentation of each API, including endpoints, requests/response formats, and handling, and authentication mechanisms. & Completeness of the architecture \\ \hline Create diagrams that illustrate the relationships and interactions between the different microservices. Ensure to include data flow, communication patterns, and dependencies. & A visual representation of the microservices and their relationships, including communication patterns and dependencies. & Functionality of the implemented service \\ \hline Implement the identified microservices and deploy them using Docker containers. Ensure the services are accessible and functioning as expected. & Fully functional code for each microservice, along with Docker files and deployment scripts. \\ \hline
**Sprint 2** & \\ \hline
**API-first Design** & \\ \hline
**Objective: design, implement, and document a RESTful API for a specific application using OpenAPI (Swagger) standards.** & \\ \hline
**Tasks for second Sprint** & \\ \hline
**Tasks** & **Deliverable** & **Evaluation criteria** \\ \hline Define the overall API design following RESTful principles, using OpenAPI standards. This includes specifying the API structure, paths, operations, and response formats. & A complete specification file defining the API structure, paths, operations, and response formats. & \\ \hline Develop endpoints for basic user management functions such as creating, reading, updating and deleting users (CRUD operations). & Functional CRUD endpoints for user management, supporting versioning and pagination. & Compliance with OpenAPI standards \\ \hline Integrate versioning mechanisms to allow the API to evolve without breaking existing clients. Implement pagination to manage large sets of data efficiently in user management endpoints. & Test results & \\ \hline Implement at least three key endpoints from the designed API and deploy the API to a cloud platform (e.g., AWS, Azure, or Heroku). Ensure the API is accessible and functioning. & \\ \hline Create comprehensive API documentation using Swagger UI or Postman. This documentation should cover all endpoints, request/response formats, and examples of how to use the API. & Detailed documentation available through Swagger UI or a Postman collection, covering all implemented features and providing usage examples. & \\ \hline \hline \end{tabular}
\end{table}
Table 1: A detailed list of objectives, tasks, and expected deliverables.