In very few words how we implement this:
- We have a small team (Designer, Product, FE, BE, Mobile, Devops) = total 4-5 people (not all features have needs for all components). The team can change from cycle to cycle, but in practice it stays more or less the same
- A cycle is defined as a period of 6 weeks where we do feature development. What we work on is decided by Design + Product with feedback from us. During the cycle we refine the scope to be able to ship the feature at the end of the cycle
- Followed by 2 weeks of CoolDown where we usually do refactoring or paying technical debt or small improvements or bug fixing. The Cooldown is driven by technical team and during it the product and design are there to support the technical team when needed
- Very important: At the end of the cycle what is not ready to ship will not be released and has great chances of not being picked up again as before every cycle starts there is an assessment about what is most important/valuable to work on.
For me this is the best combination between doing product progress and keeping the quality of our technical assets on a steady line.
Also I really like the ingredients of a Pitch and how to shape the work to be done in a cycle. It is - so far - truly the most flexibile and most team oriented approach. A nice balance between driving the product and keeping the team happy (where happy = technical advance + being involved in decision making, discovering themselves the scope and working on constraints + making progress).