The concepts behind good software
What objectives, requirements, constraints, stories and decisions are, why teams that skip them pay for it later, and why AI coding agents need them more than people ever did.
Why read this
Corpole is built on ideas that experienced software teams have used for decades: objectives, requirements, constraints, acceptance criteria, decisions. If you have never worked with them, they can look like paperwork. They are not. Each exists because leaving it out once cost a team weeks, a customer or a launch.
AI coding agents make those ideas more important, not less. An agent reads exactly what it is given and builds quickly; it cannot tell a current decision from an abandoned one, and it fills every gap with a confident guess. The structure that used to help people coordinate is now the interface to your agent.
This section explains that structure from the ground up. Start with why building software is hard and what agents change, follow the requirements chain from why a project exists to how it is built, then watch one small project go from idea to proof. Every concept has its own page — what it is, why it matters, what goes wrong without it, what it gives an agent — all illustrated with one example project, Clinic Booking.
Start here
- 1Why building software is hardMost software does not fail because the code is bad. It fails because what was built is not what was needed, and nobody noticed in time.
- 2What AI coding agents changeAgents make building fast. They also turn every weakness in how a team agrees what to build into a faster, larger problem.
- 3The requirements chainFrom why a project exists to how it is built: how objectives, requirements and constraints connect, and why each link matters to an agent.
- 4Clinic Booking, from idea to proofOne small project followed from the first conversation to a change after launch, so you can see where every concept fits and what the agent receives at each step.
The requirements chain at a glance
- ObjectiveWhy does the project exist?Book, move or cancel online in under a minute
- refines ↑Business requirementWhat must the organisation be able to do?Patients can book outside opening hours
- refines ↑Stakeholder requirementWhat does each group of people need?As a patient, I can move my own appointment
- refines ↑Functional / non-functionalWhat must the system do, and how well?Move up to 2 hours before · page loads under 1 s
- realizes ↑Technical requirementHow is it achieved?Use the clinics' existing calendar
- Product constraintWeb only in the first release
- Business constraintPatient data stays in the EU
- Project constraintLive in three months
- Project requirementReceptionists trained before go-live
Intent
Why the project exists.
Requirements
What must be true, from the business need down to the technical choice.
- Business requirementWhat the organisation must be able to do to reach an objective, stated without saying how the system does it.
- Stakeholder requirementWhat a specific group of people needs, in their own terms, usually written as a user story.
- Functional requirementA behaviour the system must have: what it does in response to a user or an event.
- Non-functional requirementHow well the system must work: speed, security, reliability, accessibility, scale.
- Technical requirementA binding technical or architectural decision about how the system is built.
- Project requirementSomething the project must deliver besides the product itself: training, documents, a test suite, a migration.
Constraints
The limits every solution must respect.
Verification
How anyone can tell a requirement is met.
Work
The work that brings requirements to life, from strategy down to a day's change.
- ThemeA strategic focus area that groups epics for quarters or years.
- EpicA large piece of value or a capability, delivered over weeks or months and broken into stories and tasks.
- Work packageA delivery container with an owner, dates and a budget. It says when and by whom, not what for.
- StoryA small piece of work that involves code, delivered in days. The unit a coding agent works on.
- TaskWork without code: configuration, access, records, operational or documentation steps.
- DefectSomething that does not behave as a requirement or acceptance criterion says.
Knowledge
What guides how the work is done, and keeps the reasons.
- DecisionA choice with its context, the options considered and its consequences, kept so nobody has to guess later.
- QuestionAn open point that needs a person's answer, with the working assumption used until it is answered.
- Glossary termA word of the shared business language, with its definition and the words to avoid.
- StandardA rule for how work is done: coding, security, testing, compliance, definition of ready or done.
- LessonSomething learned the hard way in this project, and what to do instead next time.
Risk
What might go wrong, before it does.
Easily confused
The pairs people mix up most, side by side, with how to tell them apart.
- Technical requirement vs project requirementBoth sound like "things the team must do". One is about how the product is built; the other is about what the project delivers besides the product.
- Business requirement vs stakeholder requirementOne says what the organisation needs; the other says what a specific group of people needs to get there.
- Functional vs non-functional requirementWhat the system does, and how well it does it.
- Requirement vs constraintA requirement says what must be achieved. A constraint limits how it may be achieved.
- Theme, epic, story, task and work packageFive words for work at different sizes, and one for when and by whom it is delivered.
- Stakeholder requirement vs storyBoth are often written "As a …, I want …". One is a need that stays true; the other is a piece of work that ends.
- Decision vs standardA decision settles one question with its reasons. A standard is a rule for all work of a kind.
- Defect vs riskA defect has happened. A risk might.
- Question vs assumptionA question is what you do not know yet. An assumption is what you act on until you do.
Ready to use it?
The help center shows how each of these works in Corpole, step by step, and what to do when an agent gets it wrong.