Coming to the second sprint with a lot of achievement from the first one, I put in an objective of having both the back and front of the project working steadily. To be specific, my goal for the backend was to have the testing and the message broker work with the current code that every time they pull up a test, a data entry will be automatically created if there is no previous stored data, and the message broker to send notification once users modify a data entry. For the frontend, the goal was to make the returning form for returning users and integrate with the backend under container technology.
What have we achieved?
Repeat from last retrospective, my team has good developers who are able to complete all the issues listed in a short period of time, so we almost have every issue in review state after a week and a half. I created the testing directory to test each endpoint with the default case and it will create a temporary student data whose id is 1234567 if there was no data initially. The message broker was implemented properly to send a message into the queue every time the update endpoint is called. Our frontend has its application run on the nginx server by binding from docker-compose and partially integrate with the backend application also thanks to Docker.
Things to improve
The major problem with the backend application currently is its execution since it requires two terminals to execute asynchronously, the first one is to pull up the MongoDB database and the RabbitMQ server, then the second command will be used to run the node application, without Docker. However, the testing was created specifically for Docker to execute because the Mocha Chai framework requires all of its functions to be programmed inside the `test` directory and this directory is actually “invisible” in the terminal environment, so its .json and docker files have to be written in another directory when I wanted to put it on Docker (node execution does not require this step). Therefore, executing the backend container with nodes prevented the application from having testing features.
Besides, the registered image that the frontend has been using also needs to change to an older branch because the current pipeline builds an incomplete image due to the new code from RabbitMQ. Fixing this problem will be an epic coming to the next sprint, the point is to have Docker to bring up the application as a whole where the cycle of execution will be MongoDB and RabbitMQ -> Backend Server -> Testing in one docker execution which will make it easier to manage and to build the pipeline.
Conclusion
As a Scrum Master, I did not fully complete my responsibility this sprint since I could not make the team communication to be better, I was too concentrating on the backend repository that I just only had some brief conversation with the frontend team, which is not enough to keep me update to support what they need. In the next sprint, my goal is not clear yet but I would want to try to have more talking with the frontend guys.
From the blog CS@Worcester – Vien's Blog by Vien Hua and used with permission of the author. All other rights reserved by the author.