Sprint 2 Retrospective Meeting Minutes - JUCSE49-Mavericks/Smart-Class-Routine-Management-System GitHub Wiki
15-Novermber-2024 | 10:30 PM - 11:15 PM | Google Meet
Akila Nipo (AN)
Sadia Hossain(SH)
Umma Sumaiya Jahan(UJ)
Tajrimin Mitu(TM)
Trisha Sarkar(TS)
Rubayed All Islam(RAI)
WHAT WENT WELL | WHAT WENT WRONG | HOW TO IMPROVE | IMPROVEMENTS FROM SPRINT-1 |
---|---|---|---|
1) Schedule Class (Cancel, Confirm, Reschedule): ✅The implementation of the Schedule Class feature was successfully completed according to the test cases defined for Test-Driven Development (TDD). ✅The models, controllers, and views were implemented with thorough documentation, adhering to coding standards. ✅Additionally, the Continuous Integration (CI) pipeline was successfully set up using a ci.yml file. |
🔄The test files need to be revised and optimized to prevent issues during continuous integration (CI), ensuring that MySQL access does not cause timeouts or failures. |
Early Bug Detection: ✔ With TDD, writing tests before implementation helps in catching bugs early in the development cycle, which reduces the cost of fixing defects. ✔ In BDD, since tests are focused on user stories, some bugs related to implementation details might only surface during later stages of testing or deployment. |
|
|
|
|
|
2) Approve Rescheduling Request: ✅Implementation completed successfully with proper UI, documentation, and coding standards. ✅The CI pipeline was successfully established using a ci.yml file. |
🔄Update test cases, review logs, fix the issues, and rerun the process to ensure stability. | ✔TDD (Test-Driven Development) ensured that code is developed with a focus on passing tests before functionality, leading to more reliable and bug-free implementations. | |
|
|
|
|
3) Filter Syllabus: ✅Successfully implemented the Filter Syllabus feature, including a well-designed UI and an additional syllabus download option. ✅Handled database queries effectively with smooth backend logic. ✅Followed Test-Driven Development (TDD) with all test cases passing successfully. ✅Set up a CI pipeline in ci.yml file using GitHub Actions, which ran smoothly and successfully deployed the feature.✅Followed coding standards and documented the code thoroughly. |
🔄Ensure UI designs are fully finalized before development to minimize post-development adjustments. 🔄Expand test coverage by adding more test cases to handle large datasets. |
✔ TDD approach ensured logic met requirements before implementation. ✔ Refactored logic into smaller, reusable components, ensuring all test cases passed successfully. ✔ Increased accuracy in code logic by refactoring with TDD ✔ Achieved higher test coverage (93%). CHECK Test Report |
|
|
|
|
|
4) View Academic Calendar: ✅Feature implementation completed successfully with proper documentation, adhering to coding standards. ✅The CI pipeline was successfully established using a ci.yml file. |
🔄 Update test files to ensure the necessary code statements exist to resolve timeout errors. | ✔ By using TDD, the source code was generated in a way that ensures the correctness of each individual function, while in BDD, that wasn't completely possible, resulting in some test cases not passing. |
|
|
|
|
|
5) Generate Makeup Class Routine: ✅Documentation and coding standards were maintained properly. ✅Routine was generated according to preferred time, day, room, and class needs for a particular course. ✅The CI pipeline was successfully established using a ci.yml file.✅Added more test cases, which passed successfully. |
🔄Update the UI code. 🔄Add more test cases to the CI pipeline for handling large datasets. |
✔ By using TDD - ✔ Code quality and maintainability is improved. ✔Enabled faster iterations and improved logic. ✔Involves writing tests before implementation, allowing quickly verify correctness after each change which are difficult in BDD (implementing coding then testing) and also some test cases are failed in sprint 1. |
|
|
|
|
|
6) Update Class Representative Information: ✅The implementation was successfully completed following the test cases defined using TDD. ✅The models, controllers, and views were implemented with comprehensive documentation, adhering to coding standards. ✅The Continuous Integration (CI) pipeline was set up successfully using a ci.yml file. |
🔄Review and optimize test files, models, and controller functions to ensure test cases pass successfully, avoiding issues during CI and improving reliability. | ✔Facilitates Continuous Integration (CI) ✔ TDD are usually faster to execute , making it easier to integrate them into a CI pipeline. ✔BDD scenarios, being broader and more complex, may take longer to run, potentially slowing down the CI process, especially if a large number of scenarios are involved. |
|
|
|
|
|
Tool | Details |
---|---|
Trello |
✅ Managed tasks, prioritized work, and tracked progress visually. ✅ Improved team organization, offering a shared view of task statuses and deadlines. |
Discord |
✅ Enabled real-time communication, making it easy to discuss and resolve issues instantly. ✅ Facilitated quick updates and announcements, keeping the team in sync. |
Toggl |
✅ Used for time-tracking to log work hours and manage productivity. ✅ Allowed for monitoring time spent on tasks, promoting efficient time management. |
GitHub |
✅ Served as the primary platform for version control, code collaboration, and code review. ✅ Centralized all coding activities, ensuring every team member had access to the latest code. |
Git Bash |
✅ Supported smooth command-line operations, streamlining code management tasks. ✅ Simplified branching, merging, and other Git processes. |
Jira |
✅ Used Jira for issue tracking. |
Practice | Details |
---|---|
Test-Driven Development (TDD) |
✅ Followed TDD practices by writing tests before implementing functionality. ✅ Improved code quality and ensured modular design, reducing bugs and enhancing maintainability. |
Continuous Integration (CI) with GitHub Actions |
✅ Implemented GitHub Actions for CI/CD workflows, automating tests and builds on each code push. |
Documentation Generation |
✅ Used JSDoc for automated documentation, making the codebase more accessible. |
Followed Coding Standards |
✅ The team followed coding standards strictly, ensuring consistent formatting, naming conventions, and code structure across the entire codebase. ✅ Improved Readability and Maintainability: Standards improved readability, easing onboarding and code maintenance. |
Collaborative Coding |
✅ Used GitHub for version control, branching, and team-based code review. ✅ Used Git Bash for seamless CLI interactions with GitHub, streamlining code pushes, merges, and pulls. |
Practice | Details |
---|---|
Regular Meetings |
✅ Held consistent team meetings to review progress, discuss challenges, and set priorities. ✅ Meetings provided a platform for feedback, updates, and realignment of project goals. |
Coordination and Accountability |
✅ Promoted responsibility and awareness, with each member understanding their role and contributions. ✅ Fostered a culture of accountability, ensuring all tasks and deadlines were clear and adhered to. |
Sprint 2 has been successfully completed with significant progress in both development practices and tool integrations. We followed Test-Driven Development (TDD), ensuring high code quality and maintainability. The implementation of Continuous Integration (CI) with GitHub Actions automated the testing and build process, improving efficiency. We also adhered to coding standards strictly, maintaining consistent code formatting, naming conventions, and modular design.
In terms of project tools, we used Trello for task management, Discord for real-time communication, and Toggl for time-tracking. GitHub facilitated version control and collaboration, while Jira was employed for issue tracking, helping us to stay on top of tasks and progress.
Overall, Sprint 2 was productive, with smooth collaboration, setting a solid foundation for further sprint cycles.