No recent technology is as promising for improving the developer experience as AI. In a matter of months, AI tech continues to proliferate throughout the entire software development lifecycle, providing the means for developers to be more productive and avoid tedious tasks. That said, the vast majority of solutions have thus far targeted the “inner loop” – that portion of software development solely focused on individual efforts in building and testing code.
However, AI has as much, or more, potential to transform the “outer loop” – all the ancillary activities to writing code, such as managing projects and tasks, categorizing and prioritizing work, and team-focused, productivity-related activities. AI’s ability to automate complex and repetitive tasks, analyze vast amounts of data, and help with decision-making processes dovetails perfectly with these activities, as well as the goals of project managers everywhere.
Outer Loop vs. Inner Loop
While the industry has already seen tools like GitHub Co-Pilot that are helping act as an AI paired programmer for developers or tools like Cody from Sourcegraph, which is another AI coding assistant to help write code and answer questions, the commonality seems to be that a lot of these different experiences are focused on inner loop activities and are very much single player. This segment of tools will likely flourish in the coming months and years.
However, from research and talking to our customers, we know that “writing code” and inner loop work only make up about 25-40% of a developer’s time. The rest of that time is spent updating on the progress of various projects, in meetings with team members making new plans, reporting progress, etc. That’s why we see such a deep need from software developer teams to apply AI to the outer loop, as this is the tedious work that developers would rather avoid as opposed to leveraging their core competence, which is writing code. In particular, AI has the potential directly address issues involved with the planning and tracking of work that teams do today, which is mainly done manually.
AI for Tracking and Planning
There are a couple of significant areas within “track and plan” that AI can help automate. The first is data hygiene and data accuracy. When work isn’t categorized or appropriately labeled, it has downstream impacts on the hygiene and accuracy of reporting, as well as the ability to provide a summary and understanding of what type of work was completed during a sprint. Leveraging AI to automate the accurate labeling of projects and data may seem small, but this could save teams hours of mind-numbing work per week and improve data hygiene.
Other examples of this could be auto-generating acceptance criteria for a team issue based on the summary of the content. A human writes up this issue and clicks a button where an AI system could automatically draft acceptance criteria in a BDD format based on the issue’s contents from a statement written by a human.
Another segment of tracking and planning where we see the potential for AI is to improve how teams run agile events like standups, sprint planning, sprint review, and sprint retros. Ask any developer, and they’ll tell you that meetings are likely one of the areas that they spend the most time on outside of writing and reviewing code. Those same developers would also likely relish spending less time in those meetings and more time writing actual code.
For example, what if we could do a sentiment analysis of issues assigned to a developer and look for language that might signify a developer is blocked? 70% of developers often spend as much as 3 hours a week waiting for feedback (Zenhub Developer Happiness Report, 2023), so anything that could be done to shorten that time would add to productivity. We could surface that in a standup view along with what they’ve worked on/merged in the previous day to build a snapshot of what they did yesterday compared to today and are blocked.
For something like sprint retro meetings, AI could review work that was delivered and make suggestions around project elements that have gone well, not well, and areas for process improvement. For example: “Hey, we keep seeing that you work on tickets continuously throughout the sprint, but then your devs move them all from in-progress to done on the last day of the sprint; have you thought about implementing a QA/Code Review stage on board?” Those are examples of real process improvements AI can recommend to teams.
Considerations for Dev Teams
Despite this promise, there are a few things developer teams need to keep in mind when implementing this technology. As someone building in this space, I actually think slow is fast when it comes to AI. Make sure that the solutions you evaluate are customer-driven and give teams the opportunity to “test drive” these platforms before they just drop on them.
Data privacy and security are also major concerns of many companies, and the simple truth is that most organizations are still trying to figure out how to navigate this new terrain. This is also critical for developers since our research shows that implementing security is the #1 challenge for many developers according to the Zenhub Developer Happiness Report, 2023. Things like clear policies on what users can/can’t opt into are going to take some time to figure out. Even though OpenAI has very transparent policies about copyright concerning data, etc., we’re still very early in the game.
Combined with the vast amount of hype around AI for software development, very honestly, there’s a lot of fatigue out there when it comes to this new solution set. Overall, sentiment is still positive, and teams are still curious and optimistic, but you can tell there’s growing skepticism regarding AI across all industries.
My advice for team managers is to maintain realistic expectations when it comes to human output. These tools have a tremendous amount of potential to drive productivity and efficiency, but I think there’s a dangerous narrative if we expect giving a developer a license of CoPilot will increase their output by 2-3x. That said, the benefits of this technology are so immense that I would encourage teams to look for opportunities to apply AI across every area of the software development process, not just inner loop activities.