From c09b86e0047597cc15d989ce8d773f30bd163248 Mon Sep 17 00:00:00 2001 From: David Schroeter Date: Sat, 23 Nov 2024 10:22:37 +0100 Subject: [PATCH 1/2] Provide comprehensive project feedback at milestone M2 review --- staff-feedback/M2.md | 116 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 staff-feedback/M2.md diff --git a/staff-feedback/M2.md b/staff-feedback/M2.md new file mode 100644 index 000000000..49a6ec426 --- /dev/null +++ b/staff-feedback/M2.md @@ -0,0 +1,116 @@ +# 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. + + +Feature Complexity and Impact: Great new features overall! + +Feature Completeness: Your features are implemented on a basic level but some of your features are not implemented entirely (ex: not linked to the back end yet or there are still toasts with unimplemented messages showing) + +Features value: you select the features you wish to implement well and they are usually well aligned with your app and its goals, well done + + +For this part, you received 6.3 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. + + +Unfortuanately your Figma is not fully aligned with the UI of your app, be careful with this. Moreover, the "center of interests" are not shown on the figma profile screen. + +Good architecture diagram! Well done + + +For this part, you received 4.5 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. + + +Amazing code quality in general!! Well done on adding Hilt into your codebase. + +We did not take into account the bug that you had with your CI and the code coverage towards the end of the milestone. Welll done on your end to end tests and on maintaining good overall code coverage in your app! + +Your APK is highly reliable and user experience is great! One thing, is it desirable to be able to have multiple associations in your app with the exact same name? Also, when we click on the search bar on the home screen there is no way of closing it without having to actually click on a search proposition. Moreover on "create an event" page the toast that you have not implemented tagged associations appears sometimes but not always and no toast appears for the co authorizing associations. One last thing, make sure that your whole app is translated into french because it is not the case everywhere. + + +For this part, you received 15.6 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. + + +Sprint Backlog: Good backlog overall! We did find one task: "finish event creation UI" with no description and us as coaches could not understand what kind of task this was because no labels were provided either (is it a Figma task or a front end task?). Be careful we noticed that work is not really uniformly distributed among you... + +Product Backlog: your items in the product backlog have priorities but you should order them as well (highest priority at the top) - no points have been deducted for this. Other than that your product backlog is very good and up to date with your app, well done! + + +For this part, you received 3.8 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. + + +Scrum Documents: your standup and retro documents are all well completed, well done, keep it up + +Scrum meetings: our meetings with you are well structures and we can see that you are all engaged during meetings, well done! + +Autonomy: Concerning our scrum meetings, we feel like we can advance well with you, well done! For the next meetings (until the end of the course) you can definitely be more autonome during meetings (we have not given you the opportunity to do so but we will explain how you should do it anyways). Basically, we coaches should not have to intervene much anymore. You start with the demo, then you move onto the sprint review, then the sprint retro and finally the sprint planning (as discussed, you can do the planning before the meeting and just do a final check up during the meeting so we can also see that everyone knows what they will be working on). The scrum master should mediate the meeting (as David and I were doing). Don't hesitate to ask us if you don't understand what we mean. + + +For this part, you received 4 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 enhances well your app and we can see it in the demo every week, well done!!! + + +For this part, you received 2 points out of a maximum of 2.0. + +## Summary + +Based on the above points, your intermediate grade for this milestone M2 is 5.53. 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! From 5d6508ead4453c992a52d90313351b4566fbaaf0 Mon Sep 17 00:00:00 2001 From: David Schroeter <56824395+david-schroeter@users.noreply.github.com> Date: Sat, 21 Dec 2024 20:50:03 +0100 Subject: [PATCH 2/2] Provide comprehensive project feedback at milestone M3 review --- staff-feedback/M3.md | 137 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 staff-feedback/M3.md diff --git a/staff-feedback/M3.md b/staff-feedback/M3.md new file mode 100644 index 000000000..cde69868a --- /dev/null +++ b/staff-feedback/M3.md @@ -0,0 +1,137 @@ +# Milestone M3: Team Feedback + +This milestone M3 is the culmination of your SwEnt journey, and it gives us the final opportunity to give you, as a team, formal feedback on how you performed in the project. By now, you should be capable of demonstrating a solid command of the Scrum methodology and collaborative teamwork, and be able to deliver a high-quality, application that is ready for real users. +This feedback report is meant to complement the informal, ungraded feedback that you received from your coaches during the weekly meetings, over email, on Discord, etc. + +You can find the evaluation criteria in the [M3 Deliverables](https://github.com/swent-epfl/public/blob/main/project/M3.md) document. +As mentioned before, the standards for M2 were elevated relative to M1, and this progression continued into M3: we now hold you to the highest professional standard in SwEnt. + +For this milestone, we looked at several aspects, grouped as follows: + +- Application + - [Completeness](#app-completeness) + - [Functionality](#app-functionality) + - [User Experience](#app-user-experience) +- [Design and Implementation](#design-and-implementation) +- [Testing and CI Pipeline](#testing-and-ci-pipeline) +- Process + - [Documentation](#process-documentation) + - [Autonomy](#process-autonomy) + +## App: Completeness + +We first evaluated the depth and complexity of the main __epics__ in your app, along with their contribution to the app, the tangible value they provide to the user, and their alignment with the app’s goals. +We evaluated the extent to which your app meets the __course requirements__ articulated at the start of the semester, and whether they are implemented effectively, they integrate seamlessly, and are indeed essential to the app. +We then looked at the __robustness and completeness__ of the different features you implemented: are all the features finished and polished, are they secure and bug-free, and are they thoughtfully designed. + + +Epics implementation: multiple epics were fully implemented well done!! + +App requirements: requirements are all seamlessly integrated, well done + +Features and completeness: all features are polished and secure, amazing job + + +For this part, you received 8 points out of a maximum of 8.0. + +## App: Functionality + +In this context, we assessed your app's ability to __handle unexpected inputs__ provided by clueless or malicious users (including spamming buttons, entering wrong inputs, stopping a process mid-way, etc.); we wanted to see that your app handles all edge cases gracefully, has comprehensive error handling, and includes robust mechanisms for maintaining stability under stress. + +We then evaluated the performance and reliability of the final product, i.e., __the APK__: we wanted to see that your APK is stable and delivers excellent performance, the UI responds quickly and has seamless navigation. + +Next we looked into your implementation of __user authentication and multi-user support__: does the app correctly manage users, can users personalize their accounts, does the app support session persistence, are multi-user interactions well supported, can a user recover a lost password, can accounts be used on another device, and is account information preserved when switching devices. + + +App Resilience: Your app demonstrates strong resilience, but a few minor issues could enhance the user experience. On the login page, users should receive feedback explaining why the "Continue" button is disabled for invalid emails. In the account confirmation flow, returning to the confirmation page after verifying an email doesn't allow access to the "User Info" section, and the "Resend Email" feature fails, necessitating a restart. Additionally, in the search functionality, after searching for an association, returning to the "Explore" page, and clicking "Search" again shows previous results even when the search bar is empty. Offline mode is robust, but saving account modifications offline triggers a confusing toast message ("deleted user offline"), and occasionally redirects to an unexpected page. Overall, the app is impressive, and addressing these minor details would make it even better. + +APK: APK is highly reliable and performance is really good! Well done + +Account management: Account management stands out as a well-implemented aspect of the app. Users can delete accounts which is a great feature + + +For this part, you received 7.4 points out of a maximum of 8.0. + +## App: User Experience + +For this part, we wanted to see how __intuitive and user-friendly__ the app is for real users. Beyond having good usability, did you pay attention to streamlining the interactions, is it easy to figure out, can new users start making good use of the app quickly, are the interaction flows well thought out and refined. + + +Your app is really user friendly, amazing job!! + + +For this part, you received 2 points out of a maximum of 2.0. + +## Design and Implementation + +We evaluated whether __your code is of high quality and employs best practices__, is it modular and robust, etc. +We expect the codebase to be polished, well documented, follow consistent conventions, be modular, and allow for easy modifications. +You should be able to employ advanced techniques by now, such as asynchronous functions (flows, coroutines), good resource management, and automated dependency injection (e.g., with Hilt). + +We assessed your overall __app architecture and design__, looking in particular at aspects surrounding robustness and scalability. +We looked at both the codebase and the documentation of the app (Wiki and architecture diagram). +We expect your design to demonstrate thoughtful consideration for performance, maintainability, and future growth. + + +Code quality and best practices: Great code overall, well done + +App architecture and overall design: architecture is robust, scalable and adheres to best practices + + +For this part, you received 7.6 points out of a maximum of 8.0. + +## Testing and CI Pipeline + +The first aspect we looked at here was your __test suite__, in terms of both quality and the final line coverage. +We expect testing the be rigorous and to cover all components and edge cases, and they should validate every significant user journey. +Line coverage should be getting close to 90%. +Your end-to-end tests should be detailed and include error-handling scenarios. +The tests should be well-documented and easy to maintain. +Finally, your test suite should demonstrate advanced techniques, mock data for performance testing, and automated regression tests. + +We then considered the quality of your __repository setup and the CI pipeline__, and how professional it is and how easy it is for new developers to bring contributions to the project. +We expect your repository to have a logical structure, use consistent naming, and take full advantage of CI (code quality checks, linting, formatting, etc.) +Ideally, you should also have automated performance testing, deployment pipelines, and the CI should provide detailed feedback for developers. + + +Tests: great overall line coverage!!! + +Repo setup and CI pipeline: your repo is absolutely outstanding and CI super functional, well done + + +For this part, you received 7.6 points out of a maximum of 8.0. + +## Process: Documentation + +We looked at your `README` and GitHub Wiki to evaluate the quality and completeness of __your app’s documentation__. We expect the README and Wiki to be thorough and achieve professional-level clarity and completeness. +They should provide detailed descriptions of the app's architecture, implementation of the features, and the development setup. +We also assessed __your use of Figma and the architecture diagram__ for effective UI design, organization, and app structure planning. +By this stage, we expect your Figma to be complete, up-to-date, and to include UI elements for future features, showing foresight and organization. +The architecture diagram should be comprehensive, providing a clear and detailed overview of the app structure and dependencies. +The architecture should be robust, scalable, and optimized for performance, security, and future development. + + +README and wiki: README is really good and so is the WIKI, great job on doing a firebase emulator tutorial + +Figma and Architecture Diagram: great Figma and architecture diagram, well done + + +For this part, you received 3.8 points out of a maximum of 4.0. + +## Process: Autonomy + +A primary goal of SwEnt is to teach you how to __function autonomously as a team__. +For this part of the evaluation, we assessed you team’s independence, spanning Sprint 6 to Sprint 10, based on the meetings with coaches, Sprint planning, and how you managed risk. +By this stage, coaches should no longer be necessary for the team to operate, i.e., you can organize yourselves, you don't need to be reminded about tasks, and you can conduct the Scrum ceremonies on your own. + + +You showed good autonomy during meetings during this last milestone, well done + + +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 M3 is 5.78. + +The entire SwEnt staff wishes you the very best in your career, and we look forward to seeing you do great things with what you learned this semester. \ No newline at end of file