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-vcswith 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:
- Automate early: Set up CI/CD in M1, not M3
- Use pre-commit hooks: Enforce standards before commits reach CI
- Keep PRs small: Easier to review and debug
- 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