Skip to content
AngeliniLabs
Menu

AI-assisted development

7 min read

From individual AI use to a more predictable team process

AI can improve individual productivity. The harder question is how to make that acceleration observable, reviewable, and useful to planning and coordination across an entire software team.

AI is becoming part of everyday software development surprisingly quickly. But there is an important distinction that is still easy to miss: a company can have developers using AI without actually having a shared AI-assisted development process.

Imagine four developers working on the same project. One delegates relatively large implementation tasks. Another uses AI mostly for tests, debugging, or repetitive work. A third is comfortable allowing broader refactoring. The fourth writes most of the code directly and uses AI only when there is a clear advantage.

All four can legitimately say that they use AI-assisted development, and none of those approaches is necessarily wrong. The question appears when we stop looking at the individual developer and start looking at the team: what does ‘this team uses AI’ actually mean for planning, review, coordination, and release?

A team needs more than faster code

A software team depends on much more than how quickly code can be produced. It also depends on how predictable the work is, how much review it requires, how often generated changes need correction, how safely they integrate with the existing system, and how reliably the team can move from an objective to releasable software.

AI changes some of those variables. But when every developer uses it through a completely different process, it can also make them harder to understand. A team can produce code faster while creating a new bottleneck in review, testing, debugging, or integration.

More generated code does not automatically mean the team can release more useful software.

Software teams have reduced this kind of variability before

Software engineering has always required individual judgment, and that is a good thing. What the industry has progressively reduced is accidental variability: differences in working practice that make collaboration unnecessarily difficult without adding real value.

Modern frameworks introduced common structures and conventions. Version control created a shared way to manage changes. Automated testing made parts of verification repeatable. CI/CD standardized many integration and deployment activities. Issue tracking, Agile practices, DevOps, and flow metrics gave teams better ways to understand how work moves through a project.

None of these things made software development uniform. They made it more observable and easier to coordinate. A developer joining a project still has to learn the domain and architecture, but ideally does not also have to decode a completely personal system for building, testing, and releasing software.

AI adds a new source of variability to team work

The same implementation task can now be approached in very different ways. One developer may delegate the whole task, another only isolated parts. An agent may be allowed to change several files or only a precisely defined area. Existing code may be treated as something to preserve or as something the model is free to restructure. Verification may happen after every small change or only after a much larger generated diff.

From an individual perspective, developers can adapt these choices to their experience and working style. At team level, however, the consequences affect planning, review, integration, and the amount of work needed before a change can be accepted.

  • amount of generated change and review work
  • corrections, regressions, and debugging
  • documentation and integration risk
  • amount of human intervention required before acceptance

Standardization does not mean forcing everyone to use the same prompts or delegate the same percentage of work. The useful question is whether the team has enough shared rules to know what is being delegated, what must remain unchanged, how the result will be verified, and when human intervention is required.

From a personal productivity tool to a repeatable team capability

This becomes especially important when planning software work. If a team repeatedly discovers that a particular category of well-bounded task benefits from AI assistance, it can start collecting evidence about what actually changes.

  • time to complete each task category
  • review work and corrections
  • defect rate and failed checks
  • frequency of human intervention
  • work that consistently benefits from delegation
  • work where AI creates more additional work than value

These measurements will never create a perfect formula for software development, and they do not need to. Estimates are forecasts based on the information available and should be updated as new evidence appears. AI can become part of that evidence, but only when its effect is observable enough. Otherwise, ‘we use AI’ remains an unknown variable inside the project.

Standardize the process, not the developer

Teams will increasingly need some shared rules for AI-assisted development. That does not mean every developer should work identically, and it certainly does not mean every implementation task should be delegated to AI.

A useful process should instead make a few things explicit: the expected result, the part of the codebase that may change, the existing behaviour that must remain intact, the checks required before completion, the situations in which the AI should stop, and the work that is better performed directly by a developer.

Those boundaries make AI-assisted work easier to review and easier to learn from over time. They also preserve something fundamental: people remain responsible for requirements, architecture, implementation strategy, technical decisions, quality, and final acceptance. AI is a tool available to the team, not the owner of the project.

Why this matters to Technical Project Management

A new software project is normally analysed before implementation begins. Objectives and constraints are clarified, requirements are discussed, technical people contribute to stack and architecture decisions, the work is broken down, dependencies are identified, and plans and release forecasts begin to take shape while uncertainty is still acknowledged.

If AI changes the real capacity of the development team, it eventually belongs in that conversation too. But treating AI simply as ‘developers are faster now’ is not enough.

The more useful question is: where does AI create a repeatable advantage, and what does that change for implementation, review, verification, coordination, maintenance, and technical debt? Only then can its effect start informing estimates and project planning.

The objective is not maximum code generation. The objective is sustainable progress toward software that can actually be reviewed, integrated, and released.

Why I started working on TCAF

This problem is one of the reasons I started developing TCAF — the Task-Contract AI Development Framework.

TCAF provides shared rules for delegating selected work to AI inside normal software engineering. The idea is deliberately not to hand the whole project to an autonomous agent. The developer or team still decides what should be built, how the system should evolve, and which work is worth delegating.

When work is delegated, the Task Contract makes the expected result, authorized area of change, behaviour to preserve, required checks, and stop conditions explicit. Some activities will still make more sense to implement directly; that is part of the approach too.

The goal is not to make developers write less code. It is to make AI-assisted work controlled enough to review, measure, learn from, and eventually include in normal professional planning and development.

Faster development is useful only if the team can still review, integrate, and release safely

AI is already changing software development. The next important step is not simply increasing the amount of code generated by AI. The more interesting challenge is integrating that capability into the way teams plan, build, verify, coordinate, and maintain software.

If AI-assisted development becomes sufficiently observable and consistent, teams can start learning where it creates a real advantage and where it does not. That knowledge can improve planning, estimates, coordination, and future project decisions.

That is when AI stops being only an individual productivity tool and becomes a more predictable part of the team’s development process.

Continue exploring

From a team problem to a practical development framework.

TCAF documents how selected tasks can be delegated to AI within explicit boundaries while preserving working code, requiring human review, and keeping verification clear.