Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions staff-feedback/M1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@

# SwEnt Milestone 1 Feedback

This first milestone M1 serves as a checkpoint at which we provide you with formal feedback on how you are coming together as a team, organizing yourselves, adopting good software engineering practices, and making progress toward delivering incremental value to your users. This is meant to complement the informal, ungraded feedback from your coaches given during the weekly meetings or asynchronously on Discord, email, etc.

The goal of our evaluation is not to assess whether you are top-tier Android developers or software testers, this will be assessed in earnest in subsequent milestones, once you've had the opportunity to gain experience and acquire the relevant skills. You can find the evaluation criteria in the [M1 Deliverables](https://github.com/swent-epfl/public/blob/main/project/M1.md) document.

We looked at several aspects, grouped into three categories: app design, app quality & delivery, and Scrum.

- [App Design](#app-design)

- [Architecture](#architecture)

- [Implementation](#implementation)

- [Figma](#figma)

- [UI](#ui)

- [Quality & Delivery](#quality-&-delivery)

- [Automated Testing](#automated-testing)

- [Automated Delivery](#automated-delivery)

- [End-to-End Application Behavior](#end-to-end-application-behavior)

- [Scrum](#scrum)

- [Documents](#documents)

- [Backlogs & Planning](#backlogs-&-planning)

# App Design

## Architecture

We looked at the high-level design of your app. We checked whether the UI, data layer, and corresponding dependencies are present. We evaluated whether your architecture diagram is of good quality and reflects the architecture of the app.

The structure is clear but try to add a bit more detail about what the QuickFixes Data is. Also for next time try to improve on the look. For next time upload it directly in the wiki or README

For this part, you received 4 points out of a maximum of 5.

## Implementation

We looked at several implementation aspects, such as whether authentication is done safely, whether all sensitive data is properly safeguarded using crypto and secure APIs, and whether the permissions requested by your app are truly needed.

Privacy and security is handled well in the app

For this part, you received 4 points out of a maximum of 4.

## Figma

We reviewed how you used Figma in these first Sprints of your project. We took into account whether you had done wireframes and mockups, whether these contained the main application flows and the core features, and whether the screens were linked. Overall, we wanted to see whether it's clear how the pieces work together.

The mock up is outstanding! Probably one of the best in Swent, it's going to make the rest of your developpement so much easier.
You could improve your wireframe, it is not clear what screens are related to what compared to the mockup and it is also very minimalistic.

For this part, you received 14 points out of a maximum of 15.

## UI

We checked whether the elements of your app's UI are consistent (fonts, colors, etc.) and whether the layout is responsive (i.e., adapts to different screen sizes and orientations).

Sadly your UI is completely absolute, you should declare it with relative values in the future using modifier such as weight like we discussed in last meeting. This doesn't take away from the awesome look though!

For this part, you received 3 points out of a maximum of 5.

# Quality & Delivery

## Automated Testing

We looked at whether you configured your CI to integrate with Sonar, whether your CI passes, and of course whether your CI automatically runs the test suite. Then we checked the statement coverage achieved by your test suite. We also looked at whether you have at least one meaningful UI test per screen, one meaningful unit test per repository, one meaningful unit test per view-model, and one meaningful end-to-end test.

You've managed to get 92.6% coverage, that's really impressive. Great job!
We saw one end2end test on Main Activity, but there isn't any navigation and it so it's more of a big UI test.

For this part, you received 29 points out of a maximum of 33.

## Automated Delivery

We checked whether you have set up your CI to automatically build the APK, and it does so successfully. We also wanted to see if the APK could be installed and run on a real device.

The workflow builds the APK successfully
The apk runs smoothly on coach's phone.

For this part, you received 7 points out of a maximum of 7.

## End-to-End Application Behavior

We then interacted with your app manually, this was fun. We flagged any problems we encountered, such as crashes or bugs, and we classified the bugs into minor vs. major bugs.

The rotation of the app makes the bottom bar disappear

For this part, you have been penalized -1 points.

# Scrum

## Documents

The main things we looked for was whether you documented your team Retrospective and Stand-Up in a timely and thorough manner.

You always completed your SCRUM process documents thoroughly and honestly.
You did 2 standups for sprint 2 which is great, keep up with the good pace!

For this part, you received 10 points out of a maximum of 10.

## Backlogs & Planning

We analyzed your product backlog, Sprint 3 backlog, and the Scrum board. For the PB, we checked whether it was up-to-date and whether you had populated it with user stories for the first epic and for a second epic. For the Sprint 3 backlog, we looked at whether it was up-to-date and whether the task descriptions were clear. We looked at whether tasks were assigned, whether they had a time estimate, and whether they had a priority. Finally, we evaluated whether your
Scrum board was up-to-date and ready for Sprint 3.

Your product backlog is full of great ideas, epics are well defined and we can see a clear path for your app's development. One small nitpick however is that you should add clearer description of the your tasks

For this part, you received 17 points out of a maximum of 20.

Based on the above points, your intermediate grade for this milestone M1 is 5.39. If you are interested in how this fits into the bigger grading scheme, please see [project README](https://github.com/swent-epfl/private/blob/main/project/README.md) and the [course README](https://github.com/swent-epfl/public/blob/main/README.md).

Your coaches will be happy to discuss the above feedback in more detail.

Good luck for the next Sprints!
108 changes: 108 additions & 0 deletions staff-feedback/M2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Milestone M2: Team Feedback

This milestone M2 provides an opportunity to give you, as a team, formal feedback on how you are performing in the project. By now, you should be building upon the foundations set in M1, achieving greater autonomy and collaboration within the team. This is meant to complement the informal, ungraded feedback from your coaches given during the weekly meetings or asynchronously on Discord, email, etc.

The feedback focuses on two major themes:
First, whether you have adopted good software engineering practices and are making progress toward delivering value to your users.
Is your design and implementation of high quality, easy to maintain, and well tested?
Second, we look at how well you are functioning as a team, how you organize yourselves, and how well you have refined your collaborative development.
An important component is also how much you have progressed, as a team, since the previous milestone.
You can find the evaluation criteria in the [M2 Deliverables](https://github.com/swent-epfl/public/blob/main/project/M2.md) document.
As mentioned in the past, the standards for M2 are elevated relative to M1, and this progression will continue into M3.

We looked at several aspects, grouped as follows:

- Design
- [Features](#design-features)
- [Design Documentation](#design-documentation)
- [Implementation and Delivery](#implementation-and-delivery)
- Scrum
- [Backlogs Maintenance](#scrum-backlogs-maintenance)
- [Documentation and Ceremonies](#scrum-documentation-and-ceremonies)
- [Continuous Delivery of Value](#scrum-continuous-delivery-of-value)

## Design: Features

We interacted with your app from a user perspective, assessing each implemented feature and flagging any issues encountered. Our evaluation focused mainly on essential features implemented during Sprints 3, 4, and 5; any additional features planned for future Sprints were not considered in this assessment unless they induced buggy behavior in the current APK.
We examined the completeness of each feature in the current version of the app, and how well it aligns with user needs and the overall project goals.


The APK itself doesn't have many real backend features connected to it, most buttons don't do anything which is a pity considering all the UI work has been done.
Every feature you've done so far is close to complete but on its own! You only have to make your app work as a whole now.
For M2, some of your core features are missing, for example the algorithm linking a worker and user is lacking which should have been a high priority task from the start.


For this part, you received 5.4 points out of a maximum of 8.0.

## Design: Documentation

We reviewed your Figma (including wireframes and mockups) and the evolution of your overall design architecture in the three Sprints.
We assessed how you leveraged Figma to reason about the UX, ensure a good UX, and facilitate fast UI development.
We evaluated whether your Figma and architecture diagram accurately reflect the current implementation of the app and how well they align with the app's functionality and structure.


As always your figma is great! Make sure to check the layout on smaller screens as there are still small visual bugs. Also make sure to popBack the navigation stack after you successfully login. Also you could try to find a color scheme with a bit more constrast for the dark mode screen.
The architecture diagram is okay, it could be rendered with a bit more care to improve clarity. Also you forgot to add chats to your model data.


For this part, you received 4.8 points out of a maximum of 6.0.

## Implementation and Delivery

We evaluated several aspects of your app's implementation, including code quality, testing, CI practices, and the functionality and quality of the APK.
We assessed whether your code is well modularized, readable, and maintainable.
We looked at the efficiency and effectiveness of your unit and end-to-end tests, and at the line coverage they achieve.


Overall the codebase is clean, you've really gotten the hand of jetpack compose and do a great job of extracting different composables to avoid duplication. Some areas of improvement would be to start cleaning out dangling strings with stringResources, stop commmenting out tests just to merge a PR, and start documenting your backend a bit more.

Sadly we couldn't find any end-to-end tests, you still have your one main activity test from M1 that is more of a large UI test. An end to end test should go through a complete user flow (login -> go to search screen -> click on a subcategory). Also try to improve your test directory structure, we did not understand the difference betwen ui and kaspresso (a end-to-end folder would be nice).
For the testing part you did a great job, you make sure to test multiple use cases, you achieved a phenomal 93% coverage and you even setup the firebase emulator.

The APK ran seamlessly, without any performance issues. Nice animations!


For this part, you received 14.8 points out of a maximum of 16.0.

## Scrum: Backlogs Maintenance

We looked at whether your Scrum board is up-to-date and well organized.
We evaluated your capability to organize Sprint 6 and whether you provided a clear overview of this planning on the Scrum board.
We assessed the quality of your user stories and epics: are they clearly defined, are they aligned with a user-centric view of the app, and do they suitably guide you in delivering the highest value possible.


Overall you understand well how to use the Scrumboard as a helping productivity tool, but there is room for improvement on sprint tasks mainly, don't forget to add estimated time, and maybe plan a bit more tasks per sprint, for instance when doing figma, create a task for it seperate from the UI task.


For this part, you received 3.2 points out of a maximum of 4.0.

## Scrum: Documentation and Ceremonies

We assessed how you used the Scrum process to organize yourselves efficiently.
We looked at how well you documented your team Retrospective and Stand-Up during each Sprint.
We also evaluated your autonomy in using Scrum.


Overall, your scrum process is good, you can put a bit more effort in the team retrospective, this will help find issues hindering the team's productivity and make future development more comfortable. Our Friday meetings are good, but you should try to be a bit more ponctual across all team members. Your team lacks a bit of management from week to week, try to see how the scrummaster finds each week ways to make the sprint make more sense, basically try to find a way of making your team work better as a whole, we are just proposing the concept of scrummaster since this is the purpose of this course.


For this part, you received 3 points out of a maximum of 4.0.

## Scrum: Continuous Delivery of Value

We evaluated the Increment you delivered at the end of each Sprint, assessing your team’s ability to continuously add value to the app.
This included an assessment of whether the way you organized the Sprints was conducive to an optimal balance between effort invested and delivery of value.


Each sprint you've made pretty good progress on your app. You always arrive at the demo with new things to show. Good work!


For this part, you received 1.8 points out of a maximum of 2.0.

## Summary

Based on the above points, your intermediate grade for this milestone M2 is 5.12. If you are interested in how this fits into the bigger grading scheme, please see the [project README](https://github.com/swent-epfl/public/blob/main/project/README.md) and the [course README](https://github.com/swent-epfl/public/blob/main/README.md).

Your coaches will be happy to discuss the above feedback in more detail.

Good luck for the next Sprints!
Loading
Loading