Project Retrospective

Overview

This retrospective documents our team’s reflection on the TravelPy project for DSCI 524, using data from our GitHub Project board.

Project Analytics

Team Workload

Team Member Issues Completed Primary Focus
hoomanesteki 30 CI/CD, Testing, Documentation
hugokwok0119 10 estimate_trip_cost, Bug Fixes
derrickmichaelj 10 format_destination, Peer Reviews
RNanfuka 10 get_packing_list, Code Review

Total Completed: 63 issues

The workload distribution appears skewed, but hoomanesteki handled many smaller CI/CD configuration tasks, workflow debugging, and documentation updates that were quick to complete. The other team members focused on more complex core logic implementation.

Milestone Progress

Milestone Issues Focus
M1 13 Function specifications, initial setup
M2 4 Core implementation
M3 17 CI/CD, testing, documentation
M4 29 Polish, peer reviews, final fixes

M3 had more issues than M2 due to CI/CD debugging GitHub Actions workflows required multiple iterations to get right. M4 had the most issues as we addressed peer review feedback and finalized documentation.

DAKI Analysis

Drop

  • Manual version bumping (switched to hatch-vcs with git tags)
  • Large PRs that were hard to review

Add

  • Pre-commit hooks to catch linting issues before pushing
  • Issue templates for all task types

Keep

  • Matrix testing across OS and Python versions
  • Branch protection with required reviews
  • Codecov integration for coverage tracking

Improve

  • Better time estimates for CI/CD setup
  • More parametrized tests to reduce duplication

Tools & Infrastructure

Tool Purpose
Hatch Package management, environment handling
pytest + pytest-cov Testing and coverage
Ruff Fast linting
Quartodoc API documentation generation
GitHub Actions CI/CD pipelines
Codecov Coverage tracking

CI/CD Workflows

Workflow Trigger Purpose
build.yml Push, PR Run tests on multiple OS/Python versions
deploy.yml Tags Publish to TestPyPI
docs.yml Push Build and deploy documentation

Scaling Recommendations

For future projects like capstone:

  1. Automate early: Set up CI/CD in M1, not M3
  2. Use pre-commit hooks: Enforce standards before commits reach CI
  3. Keep PRs small: Easier to review and debug
  4. Document as you go: Writing docstrings during development saves time

Key Takeaways

  • CI/CD setup took more time than anticipated due to debugging workflow failures
  • Work distribution by issue count doesn’t reflect complexity explain context in retrospectives
  • All 63 issues completed with 100% completion rate across all milestones
  • No significant bottlenecks in review process