CSE Code-With Engineering Playbook
An engineer working for a CSE project...
- Has responsibilities to their team – mentor, coach, and lead.
- Knows their playbook. Follows their playbook. Fixes their playbook if it is broken. If they find a better playbook, they copy it. If somebody could use their playbook, they share it.
- Leads by example. Models the behaviors we desire both interpersonally and technically.
- Strives to understand how their work fits into a broader context and ensures the outcome.
This is our playbook. All contributions are welcome! Please feel free to submit a pull request to get involved.
Why Have A Playbook
- To increase overall efficiency for team members and the whole team in general.
- To reduce the number of mistakes and avoid common pitfalls.
- To strive to be better engineers and learn from other people's shared experience.
If you do nothing else follow the Engineering Fundamentals Checklist!
Structure of a Sprint
The structure of a sprint is a breakdown of the sections of the playbook according to the structure of an Agile sprint.
- Keep the code quality bar high.
- Value quality and precision over ‘getting things done’.
- Work diligently on the one important thing.
- As a distributed team take time to share context via wiki, teams and backlog items.
- Make the simple thing work now. Build fewer features today, but ensure they work amazingly. Then add more features tomorrow.
- Avoid adding scope to a backlog item, instead add a new backlog item.
- Our goal is to ship incremental customer value.
- Keep backlog item details up to date to communicate the state of things with the rest of your team.
- Report product issues found and provide clear and repeatable engineering feedback!
- We all own our code and each one of us has an obligation to make all parts of the solution great.
- Agile Development
- Automated Testing
- Code Reviews
- Continuous Delivery (CD)
- Continuous Integration (CI)
- Developer Experience
- Engineering Feedback
- Source Control
Fundamentals for Specific Technology Areas
See CONTRIBUTING.md for contribution guidelines.