Why You Should Care About GitHub Copilot Enterprise
Even though the name says enterprise, the reality is that the features this version of GitHub Copilot (just Copilot from here on in) brings are so impactful for developers and engineers that the name is almost misleading. You’d be forgiven for thinking Copilot Enterprise was all about additional security controls and options, some different licensing and support for SSO at first glance of the name. The reality is very different. The real value in the Enterprise edition of Copilot is how it impacts the time when developers are not writing code.
![Graphic depicting that developers spend 75% of their time on non-coding tasks.](https://lachlanwright.com/content/images/2024/05/image.png)
Developers only spend roughly 25% of their time writing code1,2. If you're a developer, I imagine this isn't a surprise to you. If you're a manager or business person this might come as a bit of a shock. Much like their business counterparts, technologists spend a lot of their time in meetings doing things like planning, gathering requirements, Agile ceremonies, designing, discussing potential solutions, helping others, responding to incidents and so on.
Copilot has revolutionised the 25% of their time that developers spend writing code, making them more productive3 and more fulfilled4. Now, with the features in the Enterprise edition, Copilot is taking aim at the other 75% of a developer's time, and helping bring increased productivity and fulfilment to more of their role.
How is it doing this? With these new features, only available in the Enterprise edition of Copilot:
- Chat assistance integrated into GitHub.com
- Search through your organisation's knowledge bases
- Access the web's expertise with internet integration
- Making pull requests easier with summaries and explanations
Chat assistance integrated into GitHub.com
The headline feature of Copilot Enterprise is the integrated chat on the GitHub.com website. This lets you interact with your repositories, projects, files, issues and more through chat window. It takes context from your organisation as well as the repository and file you have open, but doesn't always get it right. For example, when asking about a pull request (PR) I had to provide the PR number.
Regardless, the utility of this incredible. Think about when you're starting a new job or project, or trying to understand a new repository. Being able to have a conversation and ask questions just as you would speaking to a fellow engineer or developer is intuitive, and saves both your time and others. It also lets you ask whatever question you want without judgement. You can ask about tests, have the code explained to you in natural language, or ask for some recommendations on what to do next or how to improve parts of the code.
In this example, we're finding out about the terraform-azure-virtual-machine
module, its tests and pipelines all through the chat interface. You'll notice it's unfiltered, and I had to reword my query about pipelines to get an answer. As with all things generative AI, it's not perfect, but it is still very useful!
Search through your organisation's knowledge bases
Copilot Enterprise lets you search through your organisation's knowledge across repositories. It does this with the concept of knowledge bases, which bring together markdown documentation across repositories. This can then be used as context in a chat with Copilot.
For example, you can create a knowledge base of all your infrastructure-as-code modules, thereby having a single, combined view of all the documentation across those modules. When you chat with Copilot using this as context, you can discover other modules that you can use in your code and how to use them. That does mean however, that the modules need to be documented in the repository with markdown files, though.
Being able to access knowledge like this across repositories helps enable inner-sourcing, reduces re-work and double-handling, and helps developers find and use resources that they otherwise wouldn't be aware of or would recreate themselves. The potential for efficiency gains from this in a large enterprise is massive, and the improvement to a a developers quality of life is significant.
Here's how to set up a knowledge base:
Here we're using the knowledge base to find out if we have a module that we can use to create some networking resources in Azure.
Access the web's coding expertise with Bing
What's a Copilot without internet access these days? Copilot for Enterprise is integrated with Bing to retrieve internet results when a user asks about recent events, new trends or technologies, specific subjects, or if they explicitly ask for a web search. It's convenient to have this built in, so you don't have to leave your existing window to run an internet-enabled prompt with ChatGPT or Microsoft Copilot. It lets you stay in the flow, which is incredibly important for developer productivity and one of the core tenets of Copilot. It also means that your query is informed by the context of your previous conversation, helping you get more accurate results. Those results also then include references, so that you can make sure the response Copilot is giving is accurate.
It's important to note that this obviously requires your prompt to be sent to the Bing API to execute the search, thereby leaving the GitHub environment. The feature is still in beta at the time of writing, but worked quite well when I experimented with it.
It's also good to know that this is only the first integration Copilot has, with GitHub promising that there will be more to come.
In this example I'm using it to find out about some of the differences in Terraform versions.
Making pull requests easier with summaries and explanations
Pull requests (PRs) are fundamental to productive collaboration on code. There's a lot of opinions on how to do PRs "right", ranging from naming standards, to the size and frequency of PRs.
One of the important things to get right with any PR is the summary. This short blurb is most reviewer's starting point and describes concisely what work has been done in the PR. Copilot can generate these summaries for you in natural language while reference the code blocks that have been changed. This saves so much time both when creating and reviewing a PR.
What would be great to see next is support for PR templates. Many teams use this to make their PR summaries consistent and to ensure their processes are followed. Being able to generate PR summaries that honour a template would immensely helpful for private repos, but even more so for open source.
In this video we use Copilot to create the summary of our pull request, with no input other than the changes that have been committed.
This is already very helpful, both for those raising pull requests who no longer have to spend time thinking of and crafting a good summary as well as those reviewing pull requests who can get a clear and concise summary of what they need to review. If they still need some help though, Copilot can help with reviewing the PR via the chat interface, as shown in this clip.
Again, this is unfiltered and shows how Copilot needs some help knowing which PR you are referring to.
Conclusion
GitHub Copilot Enterprise is a transformative tool that significantly enhances developer productivity and satisfaction. While Copilot has already revolutionized the 25% of a developer's time spent writing code, the Enterprise edition expands this impact to the remaining 75% of their activities.
With features like integrated chat assistance on GitHub.com and mobile, the ability to search through your organisation’s knowledge bases, internet access via Bing, and enhanced pull request handling, Copilot Enterprise streamlines numerous aspects of a developer's workflow. These innovations not only save time and reduce redundancy but also provide intuitive support, making onboarding and project comprehension much more straightforward.
Ultimately, GitHub Copilot Enterprise empowers developers by addressing the myriad tasks that occupy their time beyond just coding. By doing so, it fosters a more efficient, informed, and collaborative working environment, making it an invaluable asset for any development team. The future promises even more integrations and capabilities, further solidifying Copilot's role as an essential tool in modern software development.
1: Code Time Report
2: How much time do developers spend actually writing code?
3: Research: Quantifying GitHub Copilot's Impact on Developer Productivity and Happiness
4: Research: Quantifying GitHub Copilot’s impact in the enterprise with Accenture