Development is split in feature driven milestones. Each milestone's goal is to ship an identified set of features in a short (few weeks) time.
High level scope of a milestone is agreed on by the whole team. Developers then create a set of atomic and detailed github issues. Based on those an estimated delivery date is defined. Reasonable efforts are made to not modify the scope of a milestone once started.
Issues are closed regularly to get good sense of progress. If finished early, development proceed to next milestone.
Once an issue assigned, a developer work on implementing and once ready pushes a PR. It's then its responsibility to make sure this PR gets merged quick. PRs are the only way to introduce new code in the codebase. A trunk based development model is followed. A PR is reviewed with great care: ultimate goal is zero regression and master is considered production quality.
A pull request is linked to an issue. Sufficient information is provided so that the review process is simplified.
How to link PR and issues:
fixes #123
for easier issue navigationTo be considered ready for review, a pull request must (when relevant):
Developers must go the extra mile to perform manual tests.
Once pushed a pull request will go through a review cycle. Whenever possible checks are automated, e.g.
Once checks pass, the pull request must be reviewed. Reviewers are assigned automatically, based on defined codeowners
A reviewer might request changes. If agreement emerges an individual commit is created to simplify follow up reviews. All commits are squashed into a single commit for final merge.
Github tools are leveraged: issues, pull requests and milestones.
A github project helps tracking overall progress. Kanban is roughly followed.
Tags are used to identify and track progress of issues and pull requests.
Initial tags are first added by issue creator. Those can be completed by the whole team.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close