Treat custom AI software development as the design, integration, testing, and operation of software that applies AI to a defined business process. Start by specifying the work it should perform, the information it may use, and the actions it may take. Approve a custom build only after comparing an existing product against those requirements and assigning ownership after launch.

Key takeaways

  • Compare existing software against explicit process requirements before approving custom development.
  • Define permitted actions, approval requirements, and failure behavior before choosing a model or framework.
  • Require separate approval for sensitive data access and recurring production actions.
  • Test uncertain outcomes and interrupted writes alongside successful outputs.
  • Assign an operating owner and fund maintenance before accepting the build.

Decide whether the process needs a custom build

Start your AI strategy development with a process description rather than a feature list. Write down the trigger, the inputs, the decision or action, and the person responsible for the completed work. Then identify which part requires interpretation and which part should follow an explicit rule.

For this guide, distinguish between building AI into operating software and using AI to help developers write that software. A software-engineering preprint examines AI assistance across requirements, design, implementation, testing, documentation, and maintenance, illustrating the breadth of that second category (software-development research). Ask a proposed delivery team to state which category its proposal addresses, and require separate acceptance criteria if it addresses both.

Compare native software, a custom system, and a combined approach

Evaluate an existing product against the same requirements you would give a development team. Test whether it supports the necessary source access, approval steps, destination updates, and exception handling. Do not accept a feature demonstration as evidence for an untested operating path.

Use this decision rule: prefer the existing product if it passes the required scenarios and its operating terms are acceptable. Choose a combined approach when an existing product passes most scenarios but needs a narrowly defined integration or control. Approve a broader custom build only when the remaining gap justifies both development and ongoing ownership.

When evaluating AI enterprise software, keep model capability separate from process acceptance. Require the proposed system to demonstrate the whole path, including what happens when it cannot complete the work. Use what an AI business layer is to frame that discussion around priorities, people, systems, and controls.

Write the operating specification before choosing an AI development framework

Use an AI development framework only after specifying the behavior it must support. Ask engineering to explain how the proposed framework will enforce permissions, record state, support tests, and expose failures to the operating team. Make those requirements part of the design review rather than treating framework selection as the starting decision.

Create a short operating specification that records each of the following requirements:

  • The business result and the process boundary.
  • The authorized inputs, sources, users, and receiving systems.
  • The decisions the system may propose or make.
  • The actions allowed directly, allowed after approval, or prohibited.
  • The evidence required to accept completed work.
  • The fallback, incident owner, and operating limits.

Translate operational perimeter into plain language: where the system's responsibility starts and stops. For document intake, that might mean receiving an authorized file, extracting selected fields, and preparing a record for review. Exclude later decisions unless they have their own requirements and acceptance tests.

Name the person responsible for each decision and exception

Name an operations owner to define acceptable work and resolve process exceptions. Assign an IT owner to approve access, credentials, environments, and integration changes. Ask risk or privacy reviewers to approve the relevant data handling and consequential actions, and name a service owner for incidents, maintenance, and release decisions.

Require an actual person for each responsibility, even when one person holds several roles. Include a substitute and an escalation route. Before authorizing development, ask who can stop processing and who can authorize a restart.

When reviewing a team's proposed use of AI coding tools, ask how it will specify the work and oversee implementation. The software-engineering preprint identifies specification quality, architectural reasoning, and oversight as areas of increasing importance in AI-assisted development (research findings). In procurement, request the operating specification and acceptance plan as deliverables in their own right.

Implement the system through evidence-based release steps

Use the following sequence as a delivery requirement, with a reviewable artifact at each step. Keep the first release narrow enough that operations and IT can inspect the complete path. Expand only after reviewing the evidence from that scope.

Step 1: Establish the process baseline

Document how the team currently completes the selected work. Record completion criteria, common exceptions, review requirements, and the person who resolves disputed cases. Choose measures that describe the process, such as accepted work, unresolved items, rework, and service expenditure.

Avoid setting a launch target that rewards output volume alone. Include a measure of whether the receiving team accepts the work. Agree on how to classify a correct refusal or escalation before testing begins.

Step 2: Approve the data path

Map each source, processing step, provider, stored copy, and destination. Specify authorization, retention, deletion, and the people permitted to inspect each category of information. Use genuinely de-identified material until the relevant data path has approval.

For consequential actions, require a distinct release decision after data access has been approved. Compsia's release standard separates approval before real data enters a new path from approval before recurring, action-capable production. Keep the evidence specific to the proposed system, using how we scope trust and claims per system as the reference for that distinction.

Step 3: Build a complete, bounded path

Implement one path through input validation, interpretation, review, execution, and status reporting. Require an explicit unresolved state when the system lacks the information or permission needed to proceed. Keep deterministic rules, such as required fields and approval authority, outside discretionary model decisions.

Require access checks where information is retrieved and where actions are executed. Do not treat a written instruction to the model as sufficient evidence of enforcement. Test the implementation with accounts that should be denied access as well as accounts that should succeed.

Step 4: Accept the release and its operation together

Run agreed success and failure scenarios before launch. Record the tested version, environment, limitations, permissions, and acceptance decision. Include the manual procedure, support coverage, escalation route, and change boundaries in the release record.

Require a demonstration of rollback and manual continuation. Ask the receiving team to perform the fallback using the written instructions. Do not accept an operating procedure that depends on an unavailable developer's memory.

Work through a document-to-record pattern

A useful pattern to evaluate is document intake followed by a proposed update to an internal record. Scope the first release to authorized documents, a defined record type, and a named reviewer. Keep final approval of consequential changes with that reviewer until a separate release authorizes a narrower automatic action.

Set the intended sequence explicitly: validate the document, extract the required fields, locate the matching record, prepare the proposed update, obtain approval, and submit the authorized change. Require the reviewer to see the source evidence, the current destination values, and the proposed replacement values. Reject the proposal if a required field cannot be supported.

Test the cases that prevent completion

Build the acceptance set around concrete operating conditions:

  • A document omits a required field.
  • Two records match the same reference.
  • A user requests information outside their permission scope.
  • A reviewer approves a proposal after the destination record changes.
  • A destination accepts an update but the connection ends before confirmation.
  • The same input arrives again after an interrupted attempt.

For each case, specify the expected state and the person responsible for resolving it. For an ambiguous match, require escalation rather than a guessed destination. For an interrupted write, require a status check before any retry.

Decide in advance what constitutes success for an exception. Accept a correctly blocked action when blocking is the required behavior. Keep that result separate from work completed without intervention so the operating team can inspect both.

Before approving writes, review the proposed AI agent write-access permission model. Use the review to specify the exact action, authorization, evidence, and recovery behavior required for this release.

Budget for operation and require evidence for uncertain writes

Separate the proposal into design and build, recurring operation, and separately scoped changes. Under design and build, request estimates for process mapping, data preparation, integration, interfaces, evaluation, testing, documentation, and rollout. Under operation, request assumptions for provider usage, hosting, monitoring, support, incident response, and controlled updates.

Treat faster code generation as one delivery assumption, not a reason to remove review or testing. A survey report describes manual review, security testing, code rework, and prompt iteration as bottlenecks associated with AI-generated code (software-development survey). Ask the team to show where those responsibilities sit in its estimate.

Decide what happens when an action's outcome is unknown

For every external write, require a distinction between confirmed success, confirmed failure, and an unknown outcome. Specify how the system checks destination state before retrying. Where the destination cannot support a reliable status check or duplicate prevention, narrow the action or require manual resolution.

Do not accept a retry policy that simply repeats every failed-looking request. In the acceptance test, interrupt the connection after submission and inspect the recovery path. Require the operating record to preserve the request identity, known state, and person authorized to resolve uncertainty.

Approve review capacity as part of the scope

Set an acceptable review workload and identify who handles unresolved items. Include missing information, disputed matches, stale approvals, and unavailable receiving systems in that planning. If the proposed review requirement exceeds the team's capacity, reduce the initial scope or redesign the process before launch.

Ask the delivery team to explain how the system will fit the workflow documented in the process baseline. A survey of software executives identified difficulty integrating generative AI into existing workflows as a barrier to adoption (survey coverage). Require the proposal to name dependencies, access prerequisites, and assumptions rather than hiding them inside a general development allowance.

Frequently asked questions

What is an AI software developer?

For enterprise procurement, define an AI software developer's role as implementing the AI-enabled behavior within the agreed application and operating requirements. Require evidence of integration, evaluation, permission enforcement, testing, and maintainability for the proposed assignment. Assess AI-assisted coding separately, since the cited software-engineering research examines assistance across multiple development activities (research scope).

How much does it cost to build a custom AI agent?

Do not use a generic price range as approval for a production budget. Request a scoped estimate covering the permitted actions, data paths, integrations, evaluation, review interface, deployment, and operating responsibilities. Require separate assumptions for recurring usage and support, plus a change-control process for additional scope.

What is the best AI software?

Choose artificial intelligence enterprise software by testing it against your required process, permissions, evidence, and operating limits. Prefer an existing product when it passes those tests under acceptable terms. Commission custom development when the remaining requirements justify a build and you can assign ongoing ownership.

Bring one process specification to the development review

Choose one process and prepare its operating specification, owner assignments, permitted actions, and acceptance scenarios. Ask the proposed delivery team to identify which requirements it can demonstrate now, which need development, and which remain unsupported. Use that review to approve a bounded build, choose an existing product, or defer the work.

Compsia designs, builds, launches, and operates custom AI production systems for defined business results and operational perimeters. Review how Compsia designs, launches and operates a production system, then bring the process and its unresolved decisions to the discussion. We look at how your team runs its core processes and show you what we would make more efficient.

Primary references

  1. The State of Generative AI in Software Development: Insights from Literature and a Developer SurveyarXiv
  2. The State of AI-Powered Software DevelopmentBlack Duck
  3. Survey explores AI and the future of software developmentDataCentre Solutions

Continue reading: AI Agent Write Access: A Safe Permission Model.