Specifically, I am working on a tool that integrates a DVCS and build system, but I image the challenge I am facing would arise for anyone developing a "meta" tool (compiler, VCS, build system, test runner, etc.) that they wish to develop through "dogfooding".
My question is: in a scrum-style release process using the branching workflow, at what point do I start using a newer version of the tool in the development cycle of the tool?
I'm looking for a process to create balance between:
constantly use the
develop
version of the tool: I find I am breaking my own development as changes get incorporated.constantly use the
master
version of the tool: any issues I uncover through dogfooding are issues that have already been released.