# CloudNativePG roadmap

This document outlines the planning and roadmap process for the CloudNativePG
project.

## Our public roadmap

The CloudNativePG project tracks its high-level roadmap publicly using
[GitHub Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects).
This [board](https://github.com/orgs/cloudnative-pg/projects/1/views/1)
provides the most current view of major initiatives, features, and significant
improvements we are actively tracking for future releases.

You can view our active roadmap here:
[CloudNativePG Public Roadmap](https://github.com/orgs/cloudnative-pg/projects/1/views/1)

## How we plan our work

Our roadmap is a living document that evolves with the project, our community's
needs, and the availability of our contributors.

We use two main tools in GitHub for planning:

1. GitHub Projects: as linked above, this is used for our high-level,
   strategic roadmap. It helps visualize the status of major work items (epics,
   features) over a longer time horizon.

2. GitHub Milestones: these are used for more granular, tactical planning.
   Milestones are tied to specific upcoming releases (e.g., `v1.28.0`) and
   contain the collection of issues and pull requests targeted for that
   version.

### How items are prioritized

New work items (issues) are typically added to the roadmap or a specific
milestone based on the following drivers:

- **Community and End-User Requests:** We actively monitor GitHub issues.
  Feature requests, bug reports, and improvements suggested by our end-users
  are a primary source of work.

- **Maintainer and Contributor Interest:** Work is often initiated based on the
  personal interest and availability of our maintainers and core contributors.

- **Real-World Use Cases:** Many contributions are driven by the real-world
  needs of organizations that use CloudNativePG in production. This often
  includes requests originating from customers or internal teams of the
  organizations that employ our maintainers.

- *LFX Mentorship Program:** As active participants in the CNCF's LFX
  Mentorship program, we also identify and scope specific features or
  improvements as dedicated projects for mentees.

All planning is ultimately dependent on the **availability of our maintainers
and contributors** to champion an issue, develop the code, and see it through
the review process.

### Adjusting scope and releases

Our planning is iterative. If a feature or fix targeted for a specific
milestone proves to be more complex than anticipated or resources are not
available, its timeline may be adjusted.

Decisions to defer an item (move it to a later release) are discussed and
voted on by maintainers directly within the relevant GitHub issue.
