Behaviour-Driven Development
We’re already largely tooled up for BDD, using Drumkit and Behat.
The workflow for adding a new feature involves:
- Create new issue here in the main (distro) project (we can then dispatch it to a separate module, if req’d.)
- Label it as a “Feature request”.
- Flesh out one or more user stories.
- (Optional) Depending on scope and such, split out multiple stories into separate issues.
- (Optional) Fork this repo, if the developer doesn’t have commit access.
- Create one or more new feature branches.
- Begin writing tests that capture the components and workflows.
- Run the new tests to ensure they fail.
- Begin building Features to satisfy the tests.
- Begin documenting the new feature, within the UI, here in the docs, and perhaps using the Tour module to introduce more complex workflows.
- Once reasonably complete, with passing tests and good documentation, create a merge request.
- Once we’re satisfied with the state of the implementation and tests, merge the feature branch.
- Update draft of release notes for next version.
To get started, launch a development environment and write some tests.