
AI coding assistants emerged in spring 2023. Since then, those who aren’t familiar with software engineering have predicted that the role of the software engineer would become obsolete. Three years on, we’re still here. While our daily work has undergone changes, so too must our calculations of costs and understanding of time.
The Cost and Time View before AI Coding Assistants
Let us first consider the traditional approach. When faced with a task, one, two, or many engineers would be assigned to implement it, depending on their Agile methodology. The design phase, whether lengthy or brief, would precede implementation. The engineer(s) involved would have an in-depth understanding of all details. Next, the development process would unfold, including reviewing written code, manually or automatically testing on integration environments, and deployment and release. In the event of detected issues, they would be addressed. Crucially, knowledge was embedded within the engineers participating in each phase, making subsequent changes more manageable.
Typically, developers focused on a single task at a time, aiming to minimize context switches due to their inherent cost. Team velocity was calculated by dividing delivered story points by capacity.
This is how I see software engineering without AI support:

- In Agile environments, the design phase is relatively brief. You might consider how a new user story fits into the overall system, but you wouldn’t typically document every detail of your planned implementation.
- The majority of work is invested in the implementation and maintenance phases. While some may argue for an even longer maintenance period.
- The review phase, which includes merge request reviews, relies heavily on the quality and clarity of the implementation. It tends to be shorter than the implementation phase itself.
- Testing encompasses both automated and manual acceptance testing, with the majority of testing ideally taking place during the implementation phase. The quality of the implementation has a significant impact on this process. In general, writing automated acceptance tests at the UI level requires some time.
From a cost or effort perspective, we observe the following:
- Developers typically focus on one task at a time, dedicating their attention to that specific project.
- On the cost side, there is the developer’s salary, as well as expenses for traditional tools and licenses.
Now, let us examine how this has evolved with the emergence of coding assistants.
The Current State of AI-Supported Software Engineering
We are having a look at the situation when AI coding assistants are used by the developers. The following picture illustrates the shifted distribution of phases:

- In this new scenario, the design phase typically becomes longer. This is because you need to provide more detailed specifications upfront for the AI agent to effectively implement the requirements.
- The most significant change occurs in the Implementation phase, which tends to be shortened. Writing code is relatively easy for coding assistants to handle.
- On the other hand, the review process becomes even more crucial and time-consuming. First, you must read the description of what the AI assistant did, followed by a review of the actual code itself.
- The testing phase itself might become slightly shorter, as automated acceptance tests can also be generated by AI. On the other hand you need to ensure that the right thing was implemented by the AI and acceptance criteria are met.
- Finally, I would argue that the maintenance phase is expanded relatively seen. As you haven’t been intimately involved in every detail yourself, finding bugs and understanding existing code can be more challenging. Moreover, AI often tends to create verbose code, making implementation more complicated than it needs to be – a situation that leads to more and harder-to-maintain code. For sure, also AI can be used to debug which again helps to keep the effort lower.
From a cost or effort perspective, we observe the following:
- Developers can now work on multiple tasks at a time, especially when utilizing the agentic mode of AI coding assistants. However, this comes with increased context switching, which has its own set of drawbacks.
- On the cost side, there is the developer’s salary, as well as traditional tools and licenses. Furthermore, expenses arise from the fee associated with using the coding assistant.
Consequences for Software Engineering
The Design Phase: More Important than Ever
In this new world of AI-assisted software engineering, the design phase becomes even more critical. Implicit knowledge that was previously shared through informal channels or coffee breaks now needs to be documented and provided as input for AI.
Implementation Phase
Developers are typically fast typists, but AI can generate code even faster. This results in a shortened implementation phase. Moreover, multiple agents can run in parallel, allowing developers to perform other tasks simultaneously. A developer can have a coding agent running in the background while checking emails, for instance.
However, this increased productivity also introduces the danger of complacency. Developers might become too reliant on AI-generated code and neglect the importance of reviewing and maintaining it. As such, the review phase assumes greater significance, requiring more time and expertise from engineers.
Review
When so much code is produced, review can become a bottleneck (also suggested in the 2025 DORA report). And if it is not done properly, it can lead to quality issues. What makes reviewing even more challenging, is that the code which was produced is not necessarily understandable by juniors or even some seniors. While being careful is also here more important than ever, using AI in the review process itself can also help.
Testing
Testing remains a vital aspect of software engineering. While some automated acceptance tests can be generated by AI, manual testing is still essential for ensuring the quality of the final product.
Maintenance Phase
Maintaining code is all about fixing problems, monitoring performance, and extending functionality. In this new world, I believe this phase requires more effort relative to the original process. Developers are less familiar with the generated code, which can lead to increased mental stress when switching between multiple instances of AI-generated code.
Cost Considerations
License and tool costs have always been a consideration in software engineering. The rise of AI-assisted coding tools like Copilot, Amazon Q, and others may introduce new expenses. As these subscriptions evolve, it’s crucial to factor them into the overall economic calculation of software development costs.
Limitations of AI-Assistance
While AI can certainly augment human capabilities, there are still cases where traditional expertise is essential. For instance, when dealing with complex bugs or system design issues, human intuition and experience are invaluable assets.
Velocity and Complexity
It’s possible that the increased productivity in the implementation phase will lead to higher throughput and more story points delivered per capacity. However, this might also introduce new complexities that require reevaluation of estimation methods. Only time and experience will tell how these changes play out.
Ultimately, as AI-assisted software engineering becomes more prevalent, it’s crucial that we have enough capable engineers on hand to design, review, and maintain the generated code properly. Otherwise, there may be bottlenecks and no overall efficiency gain can be achieved. In the same direction, supporting only one activity in the whole software development life cycle will lead to bottlenecks or inefficiencies. It is crucial to apply AI in every phase to support engineers.
Conclusion
Please note that these thoughts are based on a somewhat idealistic and simplistic model. As a software developer myself, I am aware that our daily work does not always align with this scenario. Nevertheless, our work has undergone changes, and our understanding of the job must adapt too. One thing is certain: we require competent engineers like always.
All my articles are written by myself. AI is used for some of the title images and in some cases to improve the wording and flow.