ISE Code-With Customer/Partner Engineering Playbook
An engineer or data scientist working on an ISE 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 your playbook, give them yours.
- 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 welcome! Please feel free to submit a pull request to get involved.
Note: If you are reading this on GitHub - head over to https://microsoft.github.io/code-with-engineering-playbook/ for a better reading experience
Why Have A Playbook
- To increase overall efficiency for team members and the whole team in general.
- Reduce the number of mistakes and avoid common pitfalls.
- Strive to be a better engineer and learn from other people's shared experience.
"The" Checklist
If you do nothing else follow the Engineering Fundamentals Checklist! It's here to help follow the Engineering Fundamentals.
Structure of a Sprint
A breakdown of sections according to the structure of an Agile sprint.
General Guidance
- 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.
QuickLinks
Engineering Fundamentals
- Accessibility
- Agile Development
- Automated Testing
- Code Reviews
- Continuous Delivery (CD)
- Continuous Integration (CI)
- Design
- Developer Experience
- Documentation
- Engineering Feedback
- Observability
- Security
- Privacy
- Source Control
- Reliability
Fundamentals for Specific Technology Areas
Contributing
See CONTRIBUTING.md for contribution guidelines.