2025 Product Team Goals
Improve team-wide understanding of business priorities and goals
Section titled “Improve team-wide understanding of business priorities and goals”Outcomes:
Section titled “Outcomes:”- Developers can clearly articulate the top 3 customer needs and business goals driving the product roadmap
- Developers proactively suggest product improvements that align with business objectives
- Developer questions in sprint planning reflect deeper understanding of customer use cases and business model
- Developers demonstrate increased customer empathy and business acumen in design and scoping discussions
- Code, architecture and technical decisions show clear alignment with product and business priorities
Implement an incremental feature delivery process to enable faster time-to-value and iterative development
Section titled “Implement an incremental feature delivery process to enable faster time-to-value and iterative development”Outcomes:
Section titled “Outcomes:”- Features are broken down into small, independently valuable increments that can be delivered within 1-2 week sprints
- Each feature has clear acceptance criteria and demo milestones defined upfront
- Regular demos showcase incremental progress to stakeholders every 1-2 weeks
- Feedback from demos/testing is incorporated into subsequent iterations
- Development work stays focused on MVP requirements before expanding scope
- New features follow a consistent process: planning > incremental delivery > stakeholder review
Establish a predictable and low-stress release process
Section titled “Establish a predictable and low-stress release process”Outcomes:
Section titled “Outcomes:”- Releases happen on a regular cadence with clear entry/exit criteria
- Release planning and testing activities are time-boxed and scheduled in advance
- Release scope is locked 24-48 hours before release with no last-minute additions
- Testing notes and documentation are complete before code enters release candidate
- Release-blocking issues are identified and addressed early through improved testing
- Post-release verification confirms successful deployment with minimal disruption
- Team maintains work-life balance during release cycles without requiring overtime
Code cleanliness & velocity
Section titled “Code cleanliness & velocity”Outcomes:
Section titled “Outcomes:”- Code reviews consistently catch and address technical debt, maintainability issues, and architectural concerns
- Pull requests are sized appropriately for meaningful but quick review (generally <400 lines)
- Team maintains agreed-upon code quality metrics and test coverage targets
- Code documentation and internal APIs are kept up-to-date as changes are made
- Developers regularly refactor to improve code organization and reduce complexity
- Build and test pipelines run efficiently with minimal false positives
- Technical debt is actively managed with dedicated time for improvements each sprint
- Development velocity remains consistent without sacrificing code quality
- New features and changes can be implemented quickly due to clean, well-structured codebase
Retro of Retros
Section titled “Retro of Retros”Summary
Section titled “Summary”Based on the retros, application developers most struggle with understanding:
- Building Industry Terminology
- Confusion between “programs” vs “projects”
- Misunderstanding of contractor vs consultant roles
- Limited knowledge of building phases
- Customer Workflows
- Did not understand how CPC used different roles
- Unclear on permissioning needs
- Struggled with bid and procurement processes
Example from Chuck: “I definitely did not understand fully what the product was supposed to do […] I didn’t even know that consultants are different from contractors.”
The gaps caused significant rework - Chuck mentions throwing away three weeks of work due to misunderstanding building industry concepts and workflows.
Root causes appear to be:
- Limited direct interaction with end users
- Lack of domain knowledge documentation
- Complexity of building industry processes
- Most developers new to construction software
This particularly impacted Generic Projects where developers had to understand complex building industry workflows to implement appropriate solutions.
Based on the retrospective meetings, these key problems have persistently recurred:
1. Project Management & Planning Challenges:
- Lack of dedicated project management causing developers to split focus between coding and PM work
- Difficulties with scope creep and changing requirements, especially in Generic Projects
- Challenges with prioritization and tracking progress across multiple projects
- Communication gaps between engineering team and stakeholders about project status
2. Process & Documentation Issues:
- Inconsistent ticket management and board organization in Zenhub
- Incomplete or unclear documentation for features and requirements
- Challenges with sprint planning and release processes
- Need for better demo/feedback cycles during development
3. Technical Debt & Infrastructure:
- Ongoing issues with staging environment (Fly) stability and costs
- Flaky tests requiring multiple runs
- Database connection and environment setup difficulties
- Security-related technical debt
4. Team Communication & Coordination:
- Challenges coordinating across distributed team members
- Multiple overlapping standups causing meeting fatigue
- Difficulty tracking work across different sub-teams (calc service vs momentum)
- Questions about when to have synchronous vs asynchronous discussions
5. Development Environment:
- Inconsistent local development environments
- Difficulties with onboarding new team members/contractors
- Problems with database access and configuration
- Challenges with testing and QA processes
These issues frequently led to discussions about potential solutions, including hiring a dedicated PM, improving documentation practices, and establishing better processes for addressing technical debt.
Top 10 Recurring Issues Analysis
Section titled “Top 10 Recurring Issues Analysis”1. Project Management Bandwidth
Section titled “1. Project Management Bandwidth”Problem: Team lacks dedicated project management, causing developers to split focus between coding and PM tasks.
Examples:
- Sep 18, 2024: “Jason’s doing a good job heading all of the projects, but at the same time, he’s doing a lot more things too”
- Aug 7, 2024: “I’ve been pushing pretty hard about letting’s make our Thursdays […] And it’s going to cause a few problems”
- May 21, 2024: “It’s just a matter of being able to explain this well enough so that people aren’t […] their anxiety level stays low”
Attempted Solutions:
- Rotating project management responsibilities among team members
- Creating more detailed documentation and specifications upfront
- Implementing weekly feature scoping meetings
- Adding project-specific standups
- Breaking down work into smaller, manageable chunks (“rooms”)
2. Technical Debt Accumulation
Section titled “2. Technical Debt Accumulation”Problem: Team struggles to prioritize and address technical debt while maintaining feature development velocity.
Examples:
- Sep 18, 2024: “We still stumble on a ton of dishes to do and aren’t well organized for it”
- Jul 24, 2024: “We got to make sure that any Nixon, little things that you guys are doing are part of those rooms”
- May 15, 2024: “Sometimes we find a mountain of work, whether it’s the fly staging, again, the flaky test stuff on security”
Attempted Solutions:
- Creating dedicated backlog grooming meetings
- Setting aside 20% of sprint time for tech debt
- Creating threads in Slack for prioritizing issues
- Adding tech debt review to sprint planning
- Implementing voting system for prioritizing fixes
3. Environment Stability
Section titled “3. Environment Stability”Problem: Issues with staging environment reliability, database connections, and local development setup.
Examples:
- Oct 2, 2024: “Staging fly needs to stay awake longer”
- Aug 7, 2024: “I spent a lot of time with Lydia […] it is rather painful to get our local environment set up”
- May 29, 2024: “We have a lot of stuff that’s just ask Chuck for this database file”
Attempted Solutions:
- Hiring contractor (Lydia) to improve setup process
- Creating better documentation for environment setup
- Implementing automated setup scripts
- Setting up codespaces as alternative
- Working on improving database seeding
4. Meeting Overhead
Section titled “4. Meeting Overhead”Problem: Multiple overlapping standups and meetings causing fatigue and reduced productivity.
Examples:
- Jul 10, 2024: “Are we getting feedback from users? Maybe not users, but, like, are we communicating priorities”
- May 21, 2024: “I think we just had to come to this meeting to walk through a figma thing”
- Apr 17, 2024: “Release planning and sprint planning […] I found that in that meeting we’re talking about what’s going into the current release”
Attempted Solutions:
- Separating release and sprint planning meetings
- Making certain meetings optional
- Creating project-specific standups
- Moving some discussions to async channels
- Implementing “office hours” format
5. Process Consistency
Section titled “5. Process Consistency”Problem: Inconsistent adherence to processes around tickets, code review, and release management.
Examples:
- Oct 28, 2024: “Sometimes we’re still not tagging tickets, not putting in the columns”
- Aug 21, 2024: “The tickets we’re filing should have a body in detail what it is for, not just titles”
- May 15, 2024: “There were items in the release board that actually pegged to have been part of six one”
Attempted Solutions:
- Creating templates for tickets and PRs
- Implementing conventional commits
- Adding process documentation
- Creating Zenhub board structure
- Setting up release threads in Slack
6. Requirements Clarity
Section titled “6. Requirements Clarity”Problem: Unclear or changing requirements leading to rework and confusion.
Examples:
- Aug 7, 2024: “Three weeks into the project, I threw away everything I wrote”
- May 21, 2024: “We don’t know if we’re going to do one program in the next year or 50 programs”
- Apr 17, 2024: “UAB we request the finish line, we pulled out the champagne […] And then we realized this is not what we wanted”
Attempted Solutions:
- Implementing PRD (Product Requirements Document) process
- Adding more stakeholder demos
- Creating detailed design docs
- Breaking work into v0/v1/v2 phases
- Increasing communication with product team
7. Testing Infrastructure
Section titled “7. Testing Infrastructure”Problem: Flaky tests and inadequate testing processes causing delays and uncertainty.
Examples:
- Sep 18, 2024: “Flaky tests slowed me down because I had to rerun my pull request thing three times”
- Jul 24, 2024: “Items fail in staging QA but walk locally”
- May 15, 2024: “There are like 50 plus tickets on the queue and almost like 30, 40% of those are security tickets”
Attempted Solutions:
- Creating dedicated QA notes section in tickets
- Adding testing requirements to PRs
- Implementing better test logging
- Creating testing documentation
- Adding automated test runs
8. Team Communication
Section titled “8. Team Communication”Problem: Communication gaps between team members and with stakeholders about project status and priorities.
Examples:
- Sep 18, 2024: “Bomi calling us individually […] because she doesn’t know who is managing or who’s looking at what”
- Aug 7, 2024: “We have to get ahead of that. And then as soon as that is, is done and we get buyout”
- May 21, 2024: “We kind of forget because we are working on it all the time”
Attempted Solutions:
- Creating project-specific Slack channels
- Implementing weekly demos
- Adding more documentation
- Creating progress update threads
- Setting up regular stakeholder meetings
9. Feature Prioritization
Section titled “9. Feature Prioritization”Problem: Difficulty balancing multiple priorities and determining what to work on next.
Examples:
- Oct 28, 2024: “In a backlog with crystal clear priorities”
- Aug 21, 2024: “Long island expansion. They’ll know about that come up”
- May 21, 2024: “We have a lot of big, big rocks or whatever we’re calling them”
Attempted Solutions:
- Creating prioritization framework
- Implementing sprint planning process
- Adding backlog grooming sessions
- Creating milestone planning
- Setting up regular priority review meetings
10. Security Work
Section titled “10. Security Work”Problem: Balancing security requirements with feature development and technical debt.
Examples:
- Oct 28, 2024: “Security […] we need to make a call about how we go about this”
- Aug 21, 2024: “The problem with the staging with user switcher was a security issue”
- May 15, 2024: “Going to security or computer security […] we need to figure out what we do about it”
Attempted Solutions:
- Adding security review process
- Creating security documentation
- Implementing security testing
- Adding security requirements to PRs
- Creating security-focused sprints
