How do you plan releases? What development methodology does your company follow?
We leave it to each team to figure out what helps them balance flexibility with clarity to achieve their maximum speed of execution.
We do our best to have a common language around goals, strategy & measuring progress, but largely leave it to teams to figure out how best to build & ship given their own goals, strategies & roadmap.
Releases can be separate from when the product is made available to customers. Some times, people think of product launches and software releases as needing to be tied together, but in order to maintain agile development and ensure market readinesss, it makes sense to time releases for when your customers will be ready to consume those resources. Typically, I think of planning product launches in these ways:
Customer market readiness - when does the customer need this feature for their workflow?
Monetization - is this feature a driver of revenue for my business? Upsell or licenses? Subscription?
Competitive landscape - are we going to be first to market?
After looking at these dimensions, I will then plan with counterparts like marketing, engineering, and design to ensure we have the proper assets in place for proper releases.
For GitLab's release process check out our handbook: https://about.gitlab.com/handbook/engineering/deployments-and-releases/