Our Ways of Engineering
This foundational document outlines Modernisation Platforms collective approach to engineering practices, fostering a culture of continuous improvement, innovation, and excellence. It is a compass for our technical journey, guiding us to make informed decisions, embrace best practices, and explore new technological frontiers. This document aims to harmonise our engineering efforts, ensuring efficiency, quality, and sustainability in our projects.
Statuses:
- ✅ Accepted
- 🧪 Experimenting
- 💡 New idea (waiting to be discussed by the team)
AI‑Assisted Engineering
The following is agreed practices, principles and guidance geared specifically towards the Modernisation Platform Engineering team and should be read in conjunction with the MoJ (Ministry of Justice) AI (Artificial Intelligence) Governance Framework.
✅ Use GitHub Copilot as Our Primary Tool For AI-Assisted Engineering
GitHub Copilot is one of the MoJs approved AI tools and, out of the choices, is the most easily accessible and most comprehensive for engineers.
Modernisation Platform team members can gain access to an Enterprise GitHub Copilot licence by submitting a Copilot Access Request. If you have any issues getting an Enterprise Licence, reach out in the #modernisation-platform or #octo-engineering Slack channels.
Principles When Using GitHub Copilot
The following principles extend on the principles outlined in the MoJ AI Governance Framework.
- We include a human summary of changes in Pull Requests (PRs).
- We are transparent in usage of AI, especially where AI has done the majority of the work.
- We are responsible with AI usage i.e. we use fast and cost efficient models for small tasks, and larger models for complex tasks.
- We are responsible with AI outputs i.e. we always verify and test what AI generates to ensure correctness and alignment with wider Governance and Codes of Conducts.
- We understand that AI is an evolving technological landscape, we will continue to refine, reflect and improve on our usages of AI as a team.
Adding/Adjusting Ways of Engineering
To maintain the relevance and effectiveness of our Ways of Engineering, we encourage team members to propose adjustments or additions to this document. Suggestions can be discussed in dedicated Slack channels, Ways of Engineering meetings, or directly through Pull Requests. Your contributions are crucial in ensuring our engineering practices remain dynamic, inclusive, and aligned with our goals.
Experimental Engineering Practices
We’re committed to innovation in our projects and how we work together as an engineering team. Experimenting with new practices allows us to improve and adapt to the changing tech landscape continuously. Participation and feedback from all team members are essential for these experiments to yield valuable insights and guide our evolution.