For over a year now, my team and I have been living and breathing agentic software development. A project that brings this to life is the OmaPartio application, which we’ve been building for The Guides and Scouts of Finland (Suomen Partiolaiset ry).
We’re modernizing a business-critical member registry serving over 100,000 users. Our team’s pace of work has accelerated significantly, and in this project, AI generates over 90% of the code. Although we are ahead of schedule, we aren't finished in the timeframe that the boldest predictions promised.
The rest of the world has woken up to the same phenomenon. TechRadar reported in April 2026 that code that used to take days to write is now created in hours. However, that code then gets stuck in code reviews and testing queues. Coding itself has sped up tremendously, but the surrounding processes can easily lag behind. ShiftMag, on the other hand, presented a study covering 121,000 developers, showing that the actual project-level schedule benefits brought by AI average only about 10%.
So, why do we constantly hear stories of people building impressive apps in just a few days? It is not because professionals don't know how to use AI; the difference lies in what is being built. A single creator can quickly produce a flashy MVP or an app for a limited purpose, but in terms of scale, these systems are in a completely different league. The systems we implement typically serve thousands of users daily and remain in use for years. Due to this high usage and long lifespan, these systems must be secure, scalable, reliable, and maintainable in a way that doesn't break existing functionality and aligns with the previous system.
As the TechRadar article aptly puts it: “The bottleneck is no longer writing code. It is a judgement about what to build, how to structure it, and whether what the agent produced actually belongs in a system that has to perform reliably under real conditions.” This is where the professional’s role is emphasized. Deciding what to build, how to build it, and whether the AI's output fits into the larger whole.
Next, I’ll open up the OmaPartio project and the things that have moved to the center of our work in AI-driven software development.
AI usage and quality assurance: The OmaPartio case
The Guides and Scouts of Finland (Suomen Partiolaiset) wanted to completely overhaul their business-critical member registry, which was weighed down by years of complex customizations. The existing solution had become difficult to maintain and hindered the user experience. We are implementing a fully tailored solution using an AI-driven approach on the Microsoft technology stack (including Azure, .NET, and Azure SQL) to reduce administrative workload and eliminate expensive license fees.
Even though the majority of the code is no longer written by a human, the project's core architecture is strongly human-centric. AI often participates in designing functionalities, but a human defines the direction and is responsible for the final choices. Code generated by agents never makes it into version control on the first try. A developer performs the first review in their own environment, ensuring the code follows agreed-upon patterns and security requirements.
We guide the agents with codebase rules and "gold standard" examples so that the output is consistent with the rest of the codebase. In addition to instructions, the project has tens of thousands of lines of existing, systematic code, which in itself serves as a valuable reference for the agents.
In the frontend layer, this means in practice:
-
Backend calls follow the agreed structure: caching is considered, error handling is sufficient, and user communication is clear.
-
The visual appearance strictly follows the design system without view-specific style deviations.
-
Core user journeys have E2E tests, and critical business logic has comprehensive unit tests.
In the backend layer, we emphasize the following:
-
The code follows a clear project structure and utilizes centralized solutions to prevent duplication.
-
Functions always include necessary gRPC field validations, permission checks, and data validations.
-
Error situations return consistent error codes.
-
Unit tests are written for every function to prevent regressions.
AI-assisted code review: always together with peers
Before merging into the main branch, the code undergoes a thorough AI-assisted process. At least one other team member reviews all code, often an expert from both the frontend and backend sides. Human review remains the most reliable way to identify potential gaps in business logic and ensure the implementation matches the specifications.
Additionally, we use an AI-based tool, CodeRabbit, which focuses specifically on technical quality and identifies those small inconsistencies and edge cases that might be missed in a human review.
As a final safeguard, unit tests are run before merging code into the main branch, and E2E tests are performed every night so that system-wide regressions are detected early. Agents operating in the cloud environment continuously analyze the codebase to identify GDPR requirements, security risks, and other gaps. Detected issues are fixed automatically or routed for further processing. The developer is involved here as well, verifying changes.
Lessons learned from AI-driven development
The daily life of a software developer has shifted increasingly from producing code to verifying it and orchestrating agents. Although AI has accelerated code writing, the responsibility of developers and architects remains the same: ensuring that solutions meet technical requirements and the customer's true needs.
A significant part of the work still happens outside the code editor. Design, agreeing on integrations with other parties, and dialogue with the customer and end-user progress at their own pace through human interaction. For this reason, a sprint often contains only a limited number of truly "ready-to-implement" tasks, and thus an increase in coding speed does not automatically shrink the project’s total lifecycle.
Focusing solely on the amount of code leads quickly to a decline in quality, and there is a risk of the team’s cognitive overload. Assembly-line-style working leaves no room for critical thinking or innovation. We have therefore shifted from simply increasing AI-driven efficiency to improving quality. Previously, we might have chosen a technically "lighter" solution to stay on schedule. Nowadays, we can be more ambitious in our choices because we no longer run out of time. We have also reduced our reliance on external libraries; we can build solutions tailored to our own needs that fit the architecture seamlessly in a few days, without unnecessary code.
At the same time, we’ve been able to invest in the developer experience. Thanks to the productivity gains brought by AI, we’ve built agent-based scripts and utilities to help with developers' daily lives—for example, for testing scheduled batch jobs, simulating system time, and managing system translations.
The further we’ve progressed in AI-driven software development, the more clearly we’ve seen the transformation of our professional identity. AI hasn't made the developer less relevant; instead, it has strengthened our role as perceivers of the big picture and builders of sustainable architectures. Working with AI has taught us to guide and evaluate outputs even more critically. The true value of our expertise is the ability to build solutions that are scalable, secure, and serve their users reliably throughout a long lifecycle. To me, this is incredibly rewarding.
Written by Jani Matkala, Senior Developer, Vincit.
Jani Matkala,
Lead developer