Skip to content

๐Ÿค” Temp Reflection

๊น€๋™์šฑ edited this page Dec 8, 2025 · 3 revisions

TEMP Team Reflection

Final KPT Retrospective

โœ… Keep (What to Continue)

1. MVC Architecture Implementation

  • MVC refactoring clarified domain-specific responsibilities, reducing conflicts during feature implementation and enabling independent development
  • Significantly improved code extensibility and maintainability

2. Jira-Based Issue Management

  • Branch naming based on Jira issue keys (SCRUM-xx) facilitated easy tracking of development progress
  • Clear connection between code changes and requirements enhanced collaboration transparency

3. CI/CD Pipeline Establishment

  • Automated build/test through GitHub Actions enabled code quality verification and prevented compilation errors
  • Ensured stability before PR merging

4. Automated PR Templates

  • Standardized PR creation and review process, increasing collaboration efficiency

5. Systematic Documentation

  • Combination of Notion (meeting minutes) + Jira (development status) systematically managed project flow

โš ๏ธ Problem (Issues Requiring Improvement)

1. Review Bottleneck

  • Fixed reviewer system caused continuous PR accumulation and delayed merging
  • Reviewers were overburdened with parallel development and review responsibilities

2. Excessive Refactoring Time

  • 2-3 weeks out of 7-week project spent on refactoring, delaying actual feature development
  • Unclear refactoring scope led to time wasted on minor details

3. Lack of Testing Framework

  • Test code limited to simple logic verification, failing to catch actual bugs
  • Reliance on manual testing resulted in frequent post-development bug discoveries

4. High UI-Logic Dependency

  • Insufficient UI code separation caused frequent merge conflicts requiring manual resolution

5. Absence of Coding Standards

  • No specific rules for naming, comments, or code style beyond MVC pattern adherence, increasing code review time
  • Unnecessary Git conflicts due to minor style differences

6. Insufficient Communication Automation

  • No integration between messengers (Slack/Discord) and GitHub/Jira, requiring manual notifications
  • Absence of daily scrum delayed issue sharing and response

7. Initial Architecture Understanding Gap

  • Development started without understanding the overall system structure, increasing difficulty of refactoring and feature implementation

๐Ÿ’ก Try (What to Attempt Next)

1. Review Process Improvement

  • Flexible reviewer assignment by PR type (1 admin : 1 related developer : 1 unrelated developer)
  • Designate weekly dedicated PR review time

2. Pragmatic Refactoring Strategy

  • Prioritize refactoring only parts directly impacting feature development
  • Apply timeboxing to refactoring tasks to balance development speed and quality improvement
  • Define refactoring scope in advance

3. Enhanced Testing Environment

  • Introduce mocking tests using Mockito to improve test coverage
  • Mandate test code writing after feature development
  • Include test writing conditions in Definition of Done (DoD)

4. UI-Logic Separation Architecture

  • Separate UI code into distinct modules/packages
  • Establish design system to completely branch dependencies between UI and development teams

5. Establish Coding Conventions

  • Define JavaDoc-based comment writing rules
  • Introduce Spotless plugin for automatic code style unification
  • Document specific rules for function names, variable names, etc.

6. Communication Automation

  • Automate notifications through GitHub/Jira and Slack/Discord webhook integration
  • Implement 15-minute daily standup meetings (what I did yesterday, what I'll do today, blockers)
  • Build automatic Jira ticket status synchronization system

7. Sprint Cycle Adjustment

  • Change from 1 week โ†’ 2-3 weeks to create stable development environment
  • Secure time for development-review-bugfix stages

8. Add Design Review Process

  • Share class diagrams and conduct design reviews before large-scale refactoring/feature development
  • Prevent initial confusion by starting development after understanding overall structure

Clone this wiki locally