01

Separate typing from engineering

Software delivery includes discovering the problem, choosing boundaries, integrating systems and supporting what ships. AI can help draft repetitive code, propose tests and summarize documentation. Those are useful tasks, but they are not the entire delivery process. An estimate should explain which activities benefit and which still require experienced judgment.

02

Count review and correction

Generated code can be plausible while misunderstanding an edge case or using an unsuitable dependency. Time saved in drafting may be spent in review, integration or rework. Teams should inspect actual delivery outcomes: accepted functionality, escaped defects and maintenance effort. Lines of generated code and prompt counts are poor substitutes for these measures.

03

Keep responsibility explicit

Human engineers should own architecture, access boundaries and release decisions. Sensitive customer material needs an agreed handling policy before it enters an AI tool. Generated tests need independent thought about what should happen, rather than simply confirming the implementation. Useful automation has a reviewer, a bounded purpose and a way to recognize failure.

04

Ask for a better scope, not a magic multiplier

A responsible proposal ties cost to deliverables and assumptions. Ask what is included, what will be reviewed and what happens if an integration is harder than expected. AI-assisted execution can reduce repetitive effort, but a universal speed or savings claim hides the differences between projects. Clear scope and disciplined choices remain the most dependable budgeting tools.

AI engineering