epfl-SDP/android

View on GitHub
wiki/Sprint-2.md

Summary

Maintainability
Test Coverage
# Sprint 2

## Summary

This sprint went well in general, almost all tasks were done and the team has made some major progress. There was some misunderstanding for the search tasks, but everything was made clear during our first stand up meeting and no work was overlapped.
Alexandre and Matthieu created chess board and added support to dragging pieces on the chess board. Chau implemented the search UI. Lars worked on the users search feature using FireStore, Fouad on the user following feature which was a bit challenging yet rewarding, still have to implement some tests   
for it though. I (Badr) worked on supporting navigation to the new chess board in the play section. The team did well overall in this sprint. 

## Lars Barmettler
In the second week of the project the biggest challenge was still the understanding of the technology stack. Although, I can already see some more broader concepts in the code there is still a lot to learn. I tried with Fouad this week to make a peer coding session. Which had only limited success, since we both were just not at a necessary skill level to get the full benefits out of this approach. Organisation wise, I feel that each person in the group finds more and more his place and begins to contribute in a productive way.

## Matthieu Burguburu
My tasks for this sprint were implementing a static chessboard, and then working with Alexandre to enable dragging pieces to new positions by using the first version of the chess engine. Overall, things went quite smoothly and there was no real problem for any of my tasks. My time estimates were quite accurate, but we had to adjust the way time was counted for tasks that were assigned to two people, as the task Alexandre and I had was first estimated as the time for each of us and in a separate way and not added together.

## Chau Ying Kot

This sprint, I implemented tasks that were assigned to Lars and Fouad due to a misunderstanding.

Fortunately, we noticed the issue early which let us reassign tasks without duplicating work and loosing too much time.

The cause of this issue was narrowed down to ambiguous wording in the sprint tasks and user stories. We decided that the scrum master would now be responsible to make sure that everyone has a clear understanding of their tasks.

## Fouad Mahmoud
My tasks were altered a few times this sprint and there were some misunderstandings in my approaches to implement the user’s following technique that I had to refactor. As I was working on a different area this week other than the UI that I worked on last week and was initially going to continue on this week, I took some time to get familiar with a few things such as the Firebase API. I was also a bit hesitant on multiple class modifications that I had to change. These factors made my sprint time increase.

To avoid these complications, I will make sure to have a specific understanding of the approaches for my assigned tasks before coding.

## Alexandre Piveteau 
This week, my main goal was to create a basic chess engine without rules but with support for moving pieces, and (together with Matthieu) to integrate it into the app as a chessboard with drag & drop support. I was also in charge of overhauling the architecture of the codebase, and I enhanced our testing setup by implementing a functional mock Firebase Auth and added some features to our Firestore mock and database abstraction layer.

Although implementing the custom chessboard turned out to be slightly more complex than expected, my time estimates for these tasks were accurate.

## Mohamed Badr Taddist (Scrum Master)
I worked on implementing the navigation to the chess board. I had to work with navigation module of compose for the first time which was nicely documented in android studio.
Plus I did my best to fill my duty as a scrum master. My time estimates were not that bad since the task was manageable. I also reviewed some PRs.