A technical challenge? Explore it and build a prototype.Explore the Lab

Autonomous software delivery · 4 min read

Explain the feature you need before asking AI to build it

Asking AI to add a download button does not tell it what belongs in the file. First explain who will use the download, what work it supports and which information that person may access.

Written by Ludovic ChennebergPublished Updated

DARKFACTORY · 03 / 08WORKED EXAMPLE

Describe the file the manager needs

The goal is a usable monthly report. The request identifies the records to include and the cases to check.

PurposePrepare the reportWhy the file is needed
ContentsChoose the recordsDates, statuses and columns
AccessProtect each companyAuthorized accounts and refusals
ChecksCompare expected resultsExamples agreed before coding
Fictional example: adding a feature to a service-job application.

An operations manager at a maintenance company prepares her monthly report in Excel. The company’s software holds her technicians’ completed jobs, but she has to copy them manually. The development team wants AI to add a download button that produces a CSV file, a format that opens in a spreadsheet application.

“Add CSV export” names the feature. It does not specify the jobs to include, useful columns or authorized users. If those choices stay open, the AI must guess or stop to ask. The file might download successfully while still leaving the manager with substantial cleanup work.

This fictional example shows how to prepare a clear development request, including when the person requesting the feature does not write code.

Start with how the file will be used

Ask the manager to show her report and a small example of the expected file. Here, she wants completed jobs from a selected month for her own company. Other customers of the same application have their own records.

Agree on what “completed” means. A job may have been closed and then reopened because a problem returned. Whether it belongs in the report is a business decision, because it changes what the report tells the company.

This follows the same reasoning as examining an automation request: understand the work to be improved before selecting its technical implementation.

Put the rules in a short document

The team might call this a feature brief, specification or task contract. Its purpose is to describe what makes the result acceptable. It travels with the change through the development and release process.

DecisionExample to agree with the manager
Included recordsHer company’s jobs completed during the selected month
Special casesAn explicit rule for reopened and cancelled jobs
ColumnsIdentifier, completion date and status; exclude internal notes and private contact details
UsersAccounts granted permission to download
TimingData at request time or when the file is generated
FailureReport a failed generation without presenting a partial file as complete
Outside this requestNo changes to billing or other companies’ records

Timing needs a decision if creating the file takes a while. A job might change between the click and the download. The selected rule needs to fit the report’s purpose.

For speed, agree on a representative data volume and an acceptable completion time. A threshold chosen without knowing how many jobs the file must contain says little about its usefulness.

Prepare examples that make the result checkable

Create fictional data for two companies, with completed jobs and jobs that must be excluded. For an account belonging to the first company, the expected file contains only that company’s eligible records. An account without download permission receives a refusal.

Check retrieval as well as file creation. Hiding a button does not help if someone can still open another customer’s download link. OWASP’s authorization guidance recommends checking permissions on every request and testing the authorization logic.

A plain-language example can provide a reference: “With this account and month, the file contains jobs 101 and 104. Job 102 is still open and job 103 belongs to another company. Both must be absent.” The engineering team can then turn that example into an automated test.

If download permission is removed, specify what happens to later requests and files still being prepared. A file already saved on someone’s computer does not disappear when their account permissions change.

Leave implementation choices to engineering

The brief describes the required result. It can leave a developer or AI room to choose how to produce the file, such as immediately or through background processing. That choice still needs to meet the agreed timing and access rules.

Anthropic’s long-running development experiment describes agreeing on acceptance criteria before implementation. The practice proposed here has the same straightforward purpose: establish how the result will be judged before building it.

When a rule is missing, the AI should ask a question the owner can answer. “Should a reopened job remain in the completed-work report?” supports a decision. Put the approved answer in the brief so the next person or AI session finds the same business rules.

Before development begins, review the expected file with its user. If she still needs to remove half the rows or guess what a date means, the request needs more work. The next article explains how to prepare the application and tools the AI needs.

Was this article useful to you?

Your feedback goes privately to TechnoConception. No account or email is required.

Responses expire after 90 days. They are not published or used as sales enquiries. A daily pseudonymous network identifier expires after 24 hours to limit abuse. Expired records are deleted by an hourly cleanup. The feedback database does not store your IP address; hosting security logs may still process it.

This browser stores only a receipt and your rating until the response expires, to reduce accidental duplicates. It does not store your comment or editing key. You can update a response during this page visit; after leaving, it becomes read-only in this browser.

Privacy policy

All insightsRSS feed

Related guides