Build vs Buy: Choosing an Enterprise AI Platform
The decision turns on where your differentiation actually sits and what you can maintain, not on a feature comparison.
Software Development
The first release fixes the data model, permissions and integrations everything else will depend on. Scoping it is about which decisions to make now.
The first release of an enterprise system is where most of its long-term shape gets decided. It fixes the data model other things will be built on, the permissions everyone will argue about, and the integrations the business will quietly come to depend on. It is also the point at which the organization has the least information and the most enthusiasm, which is why first releases so often arrive late, oversized, and wrong in the places that matter.
Scoping it well is less about cutting features than about choosing which decisions to make now and which to deliberately postpone. This article sets out a practical way to do that for internal business software: the operational systems that hold state, enforce permissions and record what happened.
The phrase comes from consumer products, where a thin release tests whether anyone wants the thing at all. Internal software has a different problem. Demand is usually not in question; someone has already decided the process needs a system. What is in question is whether the system can carry the real process, including its exceptions, without people reverting to the spreadsheet it was meant to replace.
So the useful test for a first release is not "is it minimal?" but "can one real group of people do one real piece of their work in it, start to finish, every day, without a workaround?" The Scrum Guide makes a similar point in its own vocabulary: an increment has to be usable to provide value, and it has to meet a stated definition of done. A release that demonstrates well but cannot be used for the actual work has not delivered anything yet.
Feature lists are the wrong unit. They invite trading items against each other ("drop reporting, keep approvals") without asking whether what remains still completes a piece of work.
A better unit is the end-to-end workflow: a request comes in, is assessed, is approved or rejected, is acted on, and is recorded. Pick one such workflow, for one team, and make it complete. Completeness here includes the unglamorous parts that feature lists omit:
One complete workflow is worth more than three partial ones, because it produces the only evidence that matters: people using it for real work.
Not every decision deserves equal care in a first release. A useful sorting question is how expensive each choice becomes to reverse once data and users have accumulated on top of it.
Postponing is not the same as ignoring. Write each postponed item down with the trigger that would bring it back into scope ("when a second team onboards", "when monthly volume exceeds what manual export can handle"). That list becomes the honest roadmap.
Most first releases replace something: a spreadsheet, a shared inbox, a legacy application, or a set of habits. The replacement is the risky part, and a big-bang cutover concentrates that risk into a single day.
The alternative is incremental replacement, which Martin Fowler describes as the strangler fig pattern: new software grows around the old system, taking over one slice at a time until the old one can be retired. Its benefit, in his framing, is that investment and returns both occur gradually and visibly. For a first release this suggests a concrete scoping rule: choose a slice that can be moved over completely and cleanly, and define how the old and new systems coexist until the next slice follows.
Two practical consequences follow. First, plan data migration as real work with its own discovery, because the existing data will be less consistent than anyone believes. Second, decide in advance what happens to items that are in flight on cutover day, since they belong fully to neither system.
A first release needs an explicit, written statement of what "finished" means, agreed before building starts. Without it, scope expands to fill whatever time is available and quality is negotiated downward at the end.
A workable definition of done for internal business software usually includes:
The last item is the one most often missing. As the build-versus-buy analysis notes, enterprise software never reaches a finished state; a first release without an owner is already on its way to becoming a system too embedded to remove and too neglected to trust.
Decide before launch what evidence would show the release succeeded, and take a baseline of the current process while it still exists. Useful measures are operational rather than technical: how long an item takes from request to completion, how many items are handled outside the system, how often work is returned for missing information, and how many support requests the release generates in its first month.
The most revealing single signal is the workaround rate. If people are still keeping a parallel spreadsheet after a few weeks, the first release did not cover the real workflow, whatever its feature list says. The return-measurement article describes how to set that baseline in operational units.
More on how this approach shapes our own engineering is set out on the software development page.
There is no reliable general figure, and published averages rarely transfer between organizations. A more useful constraint is to scope until one team can run one complete workflow; if that still looks long, the workflow chosen is probably too broad rather than the estimate too pessimistic.
Only if the workflow genuinely depends on it. If it does, keep a deterministic fallback path, validate model output before acting on it, and isolate the model behind an interface so it can be changed without reworking the application.
A single team running real work is almost always the better first step. It exposes gaps in the workflow while the cost of fixing them is still small, and it produces a group of users who can explain the system to the next team.