Skip to content

Commit

Permalink
Merge branch 'main' into docs/update-engineering-backlog-grooming-pro…
Browse files Browse the repository at this point in the history
…cess
  • Loading branch information
neil-iohk committed Jan 3, 2025
2 parents 71d991f + aecb485 commit 4abdc82
Show file tree
Hide file tree
Showing 5 changed files with 233 additions and 50 deletions.
37 changes: 21 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,33 @@

> All things engineering: processes, best practices, setup guides, and more!
* [📚 Catalyst Engineering](#-catalyst-engineering)
* [Getting Started](#getting-started)
* [Guides \& Processes](#guides--processes)
* [Style Guides](#style-guides)
* [Engineering Directory](#engineering-directory)
* [Repositories](#repositories)
* [Learning Resources](#learning-resources)
* [Support](#support)
* [License](#license)
- [📚 Catalyst Engineering](#-catalyst-engineering)
- [Getting Started](#getting-started)
- [Guides \& Processes](#guides--processes)
- [Style Guides](#style-guides)
- [Engineering Directory](#engineering-directory)
- [Repositories](#repositories)
- [Learning Resources](#learning-resources)
- [Support](#support)
- [License](#license)

## Getting Started

### Guides & Processes

- [Branch Policy](guides_and_processes/branch_policy.md)
- [Meetings Policy](guides_and_processes/meeting_policy.md)
- [Ownership Policy](guides_and_processes/ownership.md)
- [Release Policy](guides_and_processes/release_policy.md)
- [Development Lifecycle](guides_and_processes/development_lifecycle.md)
- [Bug Severity Policy](guides_and_processes/bug_severity.md)
- [Code Reviews](guides_and_processes/code_reviews.md)
- [Development Lifecycle](guides_and_processes/development_lifecycle.md)
- [Engineering Meetings](guides_and_processes/engineering_meetings.md)
- [Issue Policy](guides_and_processes/issue_policy.md)
- [Meeting Policy](guides_and_processes/meeting_policy.md)
- [On-Call Policy](guides_and_processes/on_call_policy.md)
- [Ownership](guides_and_processes/ownership.md)
- [Process Improvements](guides_and_processes/process_improvements.md)
- [Refactoring Policy](guides_and_processes/refactoring_policy.md)
- [Issue Policy](guides_and_processes/issue_policy.md)
- [Release Policy](guides_and_processes/release_policy.md)
- [Releases](guides_and_processes/releases.md)

### Style Guides

Expand All @@ -37,11 +41,12 @@
### Repositories

- [All things engineering: processes, best practices, setup guides, and more!](https://github.com/input-output-hk/catalyst-engineering)
- [Catalyst CI](https://github.com/input-output-hk/catalyst-ci)
- [Catalyst Voices](https://github.com/input-output-hk/catalyst-voices)
- [Hermes](https://github.com/input-output-hk/hermes)
- [Catalyst Libs](https://github.com/input-output-hk/catalyst-libs)
- [Catalyst CI](https://github.com/input-output-hk/catalyst-ci)
- [Catalyst Forge](https://github.com/input-output-hk/catalyst-forge)
- [Core Catalyst Governance Engine and utilities](https://github.com/input-output-hk/catalyst-core)
- [Custom GH Action to speed up and simplify building mdbooks for the Catalyst project.](https://github.com/input-output-hk/catalyst-gh-tools)

### Learning Resources

Expand Down
95 changes: 84 additions & 11 deletions guides_and_processes/engineering_meetings.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
The following is a list of the current recurring development team meetings, their primary purposes, and clear guidelines on what is and is not required for each meeting.

### Meetings
- [Catalyst Engineering Team Meetings](#catalyst-engineering-team-meetings)
- [Meetings](#meetings)
- [Summary](#summary)
- [Standup (Daily, ~15 min)](#standup-daily-15-min)
- [Notes for engineers](#notes-for-engineers)
- [Sprint Demo (End of Sprint)](#sprint-demo-end-of-sprint)
- [Sprint Retro (End of Sprint)](#sprint-retro-end-of-sprint)
- [Sprint Planning (Start of Sprint)](#sprint-planning-start-of-sprint)
- [Backlog Grooming](#backlog-grooming)
- [Tech Discussion](#tech-discussion)
- [Catalyst Team Weekly Meeting](#catalyst-team-weekly-meeting)
- [Engineering Meeting Structure](#engineering-meeting-structure)
- [Weekly Meetings](#weekly-meetings)
- [Monday Technical Meeting](#monday-technical-meeting)
- [Thursday Technical Meeting](#thursday-technical-meeting)
- [Daily Meetings](#daily-meetings)
- [Team Standup](#team-standup)
- [Bi-Weekly Meetings](#bi-weekly-meetings)
- [Sprint Demo and Retrospective](#sprint-demo-and-retrospective)
- [Management Meetings](#management-meetings)
- [Backlog Grooming](#backlog-grooming-1)
- [Engineering Management Meeting](#engineering-management-meeting)


### Summary
Expand Down Expand Up @@ -264,3 +264,76 @@ During the daily standup each engineer should answer the following questions, tr

**Frequency:**
- Weekly

# Engineering Meeting Structure

- [Engineering Meeting Structure](#engineering-meeting-structure)
- [Weekly Meetings](#weekly-meetings)
- [Monday Technical Meeting](#monday-technical-meeting)
- [Thursday Technical Meeting](#thursday-technical-meeting)
- [Daily Meetings](#daily-meetings)
- [Team Standup](#team-standup)
- [Bi-Weekly Meetings](#bi-weekly-meetings)
- [Sprint Demo and Retrospective](#sprint-demo-and-retrospective)
- [Management Meetings](#management-meetings)
- [Backlog Grooming](#backlog-grooming-1)
- [Engineering Management Meeting](#engineering-management-meeting)

## Weekly Meetings

### Monday Technical Meeting

- **Attendees:** Engineering Team
- **Purpose:**
- Discuss technical topics
- Share knowledge
- Address challenges

### Thursday Technical Meeting

- **Attendees:** Engineering Team
- **Purpose:**
- Discuss technical topics
- Share knowledge
- Address challenges

## Daily Meetings

### Team Standup
- **Attendees:** Individual Engineering Teams
- **Purpose:**
- Quick update on daily progress
- Identify blockers
- Coordinate tasks

## Bi-Weekly Meetings

### Sprint Demo and Retrospective

- **Attendees:** Engineering Team, Product Team
- **Purpose:**
- **Demo:**
- Showcase completed features
- Gather feedback
- **Retrospective:**
- Reflect on the sprint
- Identify areas for improvement
- Celebrate successes

## Management Meetings

### Backlog Grooming

- **Attendees:** Engineering Managers, Product Manager
- **Purpose:**
- Prioritize and refine the backlog
- Ensure alignment between engineering and product road map

### Engineering Management Meeting

- **Attendees:** Engineering Managers
- **Purpose:**
- Discuss management-specific topics
- Address resource allocation
- Review team performance
- Manage team dynamics
128 changes: 128 additions & 0 deletions guides_and_processes/process_improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Engineering Process Improvements

- [Engineering Process Improvements](#engineering-process-improvements)
- [PR Review Process](#pr-review-process)
- [Why We're Improving](#why-were-improving)
- [How to Implement](#how-to-implement)
- [What to Expect](#what-to-expect)
- [Architect/Engineering Management Role](#architectengineering-management-role)
- [Developer Role](#developer-role)
- [Review Guidelines](#review-guidelines)
- [Expected Outcomes](#expected-outcomes)
- [Note on PR Size](#note-on-pr-size)
- [Backlog Grooming Improvements](#backlog-grooming-improvements)
- [Why We're Improving](#why-were-improving-1)
- [How to Implement](#how-to-implement-1)
- [What to Expect](#what-to-expect-1)
- [Management Role](#management-role)
- [Developer Role](#developer-role-1)
- [Expected Outcomes](#expected-outcomes-1)

## PR Review Process

### Why We're Improving

- Architects need to review PRs as early as possible and throughout development
- Mitigate risks from:
- Incorrect assumptions
- Insufficient specifications
- Late detection of issues requiring rework
- Enhance review process for large/complex PRs
- Facilitate better knowledge sharing across teams

### How to Implement

1. **Start Early**
- Create a branch and raise a `draft` PR as soon as you pick up a ticket
- Include `closes #issue` in the PR description

2. **Regular Updates**
- Push to your branch at least once daily while working
- Keep the PR updated with your latest changes

3. **Monitor Tags**
- Watch for `PR Walk-through` tags on your PR
- These tags indicate a need for additional review steps

### What to Expect

#### Architect/Engineering Management Role
- Daily review of draft PRs
- Focus on requirement alignment
- Direct communication with developers via Slack if issues are found
- May tag PRs requiring walk-throughs

#### Developer Role
- Focus reviews on "Ready" PRs, not drafts
- If PR is tagged for walk-through:
- Schedule 1:1 with a peer when PR is ready
- Conduct live code walk-through

#### Review Guidelines
- Small PRs (1 day or less of work) can skip draft stage
- Other team members should focus on reviewing PRs marked as ready
- Tagged PRs require peer walk-through before final review

### Expected Outcomes

- Early identification of potential issues
- Reduced rework through proactive problem detection
- Enhanced knowledge sharing within development teams
- More efficient review process for both small and large changes

### Note on PR Size

PRs that can be completed in one day or less may proceed directly to review without the draft stage.
This helps maintain efficiency for smaller changes while ensuring proper oversight for larger modifications.


## Backlog Grooming Improvements

### Why We're Improving

- Optimize developer time by reducing meeting overhead
- Enhance backlog grooming quality through focused sessions
- Provide developers more time to review and consider upcoming work
- Create better forums for work discussion

### How to Implement

1. **Restructured Grooming Sessions**
- Backlog grooming meetings limited to Architects, Engineering Management, and Product
- Focus on aligning backlog for next sprint
- Post planned Issues/Epics to Slack after meeting

2. **Team Review Process**
- Team discussion of Epics/Issues during Thursday Engineering Meeting
- 24-hour window for developers to review before discussion
- Dedicated time for questions and alignment

### What to Expect

#### Management Role

- Focus on backlog refinement and prioritization
- Collaborative improvement of epics/issues
- Prepare clear communication of upcoming work

#### Developer Role

- Reduced meeting attendance
- More time for focused development work
- 24-hour window to review upcoming work
- Structured forum for questions and discussion

### Expected Outcomes

- Increased developer productivity through:
- Reduced meeting time
- Better work preparation
- Improved async communication
- Enhanced backlog quality through:
- Focused management attention
- Dual-purpose grooming sessions
- Better team understanding
- More efficient use of engineering management time by:
- Combining grooming and prioritization
- Improving epic/issue quality before team presentation
- Streamlining communication processes
22 changes: 0 additions & 22 deletions guides_and_processes/release-channels.md

This file was deleted.

1 change: 0 additions & 1 deletion guides_and_processes/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ This strategy is likely to change as Catalyst's systems matures.
New backend versions are released every two weeks (each sprint).
Sometimes we do out-of-schedule patch releases.


### Library versioning and release cadence

Each release include new versions of:
Expand Down

0 comments on commit 4abdc82

Please sign in to comment.