Code Repositories
GitHub & Azure DevOps
All code should be stored in a code repository. Currently we use GitHub and Azure DevOps as our code repositories.
These code repositorys allow for:
- Version control of code
- Collaboration on code
- Documentation of code
- Automation of code deployment
It is on our roadmap to move all code to GitHub because of the AI capabilities that GitHub offers. We plan on continuing to use Azure Devops for our enterprise planning and work tracking. This will be done in a phased approach.
Why we use GitHub and Azure DevOps
GitHub and Azure DevOps are widely used code hosting platforms that provide a range of features for version control, collaboration, and project management. They are popular choices for data analytics projects because they allow teams to work together on code, track changes, and manage project workflows. The reason we currently use both platforms is to support the different needs of our teams and projects.
Our citizen developer teams use GitHub for their projects because that is generally used in many courses and in the open source comunity. It also comes with github copilot which is a great tool for citizen developers to use.
Azure DevOps is used by our data analytics teams because it provides a range of tools for managing the entire project lifecycle, including planning, development, testing, and deployment. This makes it a good choice for our data analytics teams who are working on complex projects that require a range of tools and features.
In some cases, we may use both platforms for a project. For example, we may use GitHub for the code repository and Azure DevOps for project management and deployment. This allows us to take advantage of the strengths of both platforms and provide our teams with the tools they need to be successful.
It is on our roadmap to move all code to be stored in GitHub because of the AI capabilities that GitHub offers. This will be done in a phased approach and we will communicate with the teams as we move their code to GitHub. Using DevOps for project management and deployment will continue to be used as it is a great tool for that.