Sprint Retrospectives 6.4 - FEUP-MEIC-DS-2025-26/madeinportugal.store GitHub Wiki

Sprint 1 Retrospective

Sprint Duration: 03/11/2025 – 14/11/2025 (12 days)
Team: Group 64 (Bernardo Costa, Diana Nunes, Sofia Gonçalves, Teresa Mascarenhas, Tiago Ferreira)


Sprint Goals & Outcomes

Planned PBIs:

  • Add Item to Wishlist (#312)
  • Remove Product from Wishlist (#314)

Status: Partially completed due to dependencies on other teams

Key Deliverables:

  • Comprehensive unit tests
  • Enhanced test coverage with additional test cases
  • Improved documentation (README with testing instructions)
  • Implemented a CI pipeline for autonomous testing, covering unit and acceptance tests, coding guidelines and security
  • Docker Compose functionality fixes
  • Updated Terraform configuration documentation

What Went Well

  1. Testing Implementation Successfully implemented comprehensive unit tests for all core wishlist operations while also achieving good test coverage for the feature set, and established testing documentation in README

  2. Infrastructure Improvements Fixed Docker Compose issues from Sprint 0, ensuring reproducible development environment and improved documentation for both Docker and Terraform deployments

  3. Foundation from Sprint 0 Strong groundwork from Sprint 0 (Next.js setup, API routes, database schema) enabled faster Sprint 1 progress


What Didn't Go Well

  1. Product Backlog Management

    • Backlog became messy and confusing with multiple teams making changes
  2. Communication Gaps

    • Insufficient communication with other groups regarding backlog changes and dependencies

Lessons Learned

  1. Dependencies Must Be Identified Early

    • Cross-team dependencies should be discussed during sprint planning
    • Coordinate with dependent teams before committing to delivery
  2. Communication is Key

    • Regular sync points with dependent teams would prevent blockers

Verifiable Action Points (VAPs)

1. Establish Weekly Backlog Review Sessions

Problem Addressed: Backlog confusion Action: Schedule 30-minute backlog review every Monday to verify changes
Owner: Teresa Mascarenhas (Scrum Master role)
Timeline: Starting Sprint 2 (Week of 17/11/2025)
Verification Criteria:

  • Any backlog discrepancies flagged and resolved within 48 hours

2. Conduct Mid-Sprint Checkpoint with Dependent Teams

Problem Addressed: Dependency issues
Action: Schedule 15-minute sync meeting with dependent teams to verify integration points and resolve blockers
Owner: Bernardo Costa(Product Owner role) Timeline: Mid-sprint checkpoint for Sprint 2 Verification Criteria:

  • Meeting scheduled and attended by all dependent teams
  • Any blockers identified have mitigation plan within 24 hours

Overall Retrospective Summary

Sprint 1 successfully strengthened our technical foundation through comprehensive testing and infrastructure improvements, building effectively on Sprint 0's groundwork. However, the team faced challenges with inter-team coordination and backlog management.

The 2 Verifiable Action Points above directly address these pain points through improved planning, communication protocols, and proactive dependency management. By implementing these measures in Sprint 2, we aim to reduce external blockers, maintain our technical quality standards, and deliver PBIs more predictably.


Sprint 2 Retrospective

Sprint Duration: 17/11/2025 – 28/11/2025 (12 days)
Team: Group 64 (Bernardo Costa, Diana Nunes, Sofia Gonçalves, Teresa Mascarenhas, Tiago Ferreira)


Sprint Goals & Outcomes

Planned PBIs:

  • View Wishlist (#313)
  • Integrate Add To Wishlist Button in Product Page (#467)
  • Integrate Remove From Wishlist Button in Product Page (#468)

Status: Partially completed due to dependencies on other teams

Key Deliverables:

  • Implemented publish-subscribe pattern for wishlist add/remove operations and push notifications, not yet integrated
  • Complete repository restructure with Docker containerization for frontend and backend, plus Terraform configuration for deployment
  • Added search bar functionality in wishlist and migrated frontend styling from Tailwind to Bootstrap, updated card layouts
  • Clean integration branch consolidating multiple services into unified application structure

What Went Well

  1. Iterative Refinement: Attentive branch cleaning, improved documentation (readme updates), and refined the project structure, indicating attention to code quality and maintainability.

  2. Infrastructure Modernization: Achieved significant infrastructure improvements including Docker containerization and Terraform setup, which sets up better deployment practices going forward.

  3. Persistence Through Challenges: Despite several merge conflicts along the way, the team worked through them and got everything integrated, which demonstrates good collaboration and problem-solving.


What Didn't Go Well

  1. Scope Creep Mid-Sprint: A "complete restructure" happened mid-sprint alongside feature work due to unmet requirements about the services integration. Nonetheless, it suggests either poor initial planning or reactive decision-making rather than structured refactoring.

  2. Merge and Branch Issues - Multiple commits were dedicated to resolving merge conflicts, meaning coordination problems or insufficient communication between team members working on different parts.

  3. Difficulty with integration with other teams: Although the team successfully did their part for the integration goals, other groups had some trouble finishing up theirs, which may show a lack of clarification on our part in terms of objetives.


Lessons Learned

  1. Plan Refactoring Deliberately: Major architectural changes (Docker, Terraform, restructuring) deserve their own planning phase rather than emerging mid-sprint, which can derail feature delivery timelines.

  2. Version Control is a Team Skill The Git issues suggest this might be a good time for a team workshop on branching strategies, conflict resolution, and maintaining clean history.


Verifiable Action Points (VAPs)

Verifiable Action Points (VAPs)

1. Establish Git Workflow Standards and Team Coordination

Problem Addressed: Merge conflicts, and coordination issues from Sprint 1 Action:

  • Document team Git workflow (branching, commit conventions, PR process)
  • Set up .gitignore and pre-commit hooks Owner: Teresa Mascarenhas (Scrum Master) Timeline: Workshop and documentation thoughout sprint 3; Verification Criteria:
  • Merge conflicts resolved same-day
  • All PRs reviewed before merging

2. Conduct Mid-Sprint Checkpoint with Dependent Teams

Problem Addressed: Dependency issues
Action: Schedule 15-minute sync meeting with dependent teams to verify integration points and resolve blockers
Owner: Bernardo Costa(Product Owner role) Timeline: Mid-sprint checkpoint for Sprint 3 Verification Criteria:

  • Meeting scheduled and attended by all dependent teams
  • Any blockers identified have mitigation plan within 24 hours

Overall Retrospective Summary

The team successfully delivered key features, mainly infrastructure improvements (Docker, Terraform), demonstrating strong technical execution and persistence through challenges.

However, the sprint revealed significant process issues: frequent merge conflicts and difficulty in integrating with other teams. The major restructuring mid-sprint added unnecessary complexity.

The solution is to follow the correct practices starting Sprint 3 to prevent these issues from recurring.