I have an idea for a system. Now what? The road from idea to software
Every system idea starts out looking obvious to the person who had it. The challenge is that software isn't made of ideas: it's made of decisions. Who decides what goes in, what stays out, what comes first, and what can wait. This article shows the path we use to turn an idea into a product that survives contact with real users — and explains why each step exists.
Why starting with the screen is almost always a mistake
When someone describes an idea, they usually describe screens: 'there's a registration form, a dashboard, a report.' Screens are the visible result of a system, not its foundation. Starting with them is like choosing the cladding before knowing how many floors the building will have.
The foundation is the problem: who suffers from it, how often, how much it costs today to live with it, and what the person currently does to work around it. Until those four answers exist in writing, any estimate of timeline and price is fiction.
- Describe the problem in one sentence, without mentioning technology.
- Identify who foots the bill for the problem — it isn't always the person who uses the system.
- Measure the current cost: lost hours, errors, rework, missed sales.
- List today's improvised workaround (a spreadsheet, WhatsApp, a notebook). It's your real competitor.
How to validate an idea before investing
Validating isn't asking whether people liked it. Everyone likes other people's ideas in a polite conversation. Validating means looking for evidence of behavior: is someone already spending money, time, or attention trying to solve this problem today?
There are cheap ways to gather that evidence before writing a line of code: interviews with questions about the past (not the future), a page that explains the proposal and measures real interest, a clickable prototype, or even manually running the service for the first ten customers.
- Ask 'how did you solve this last time?' instead of 'would you use an app like this?'.
- Prefer signals that carry a cost: scheduling a call, leaving a contact, paying for a pre-sale.
- Run the service by hand before automating it — that's how you learn the real business rules.
- Write down objections. They become requirements.
What comes first: prototype, architecture, or coding?
The healthy order is: understanding the problem, a low-cost prototype, architecture decisions that are hard to reverse, and finally implementation. Fred Brooks, in his classic reflection on software projects, already warned that adding people to a late project makes it later still — reinforcing that planning early costs less than fixing late.
Not every decision needs to be made at the start. The technique is to separate reversible decisions (button color, chart library) from expensive-to-change decisions (data model, authentication strategy, multi-tenant or not, tax integration). The expensive ones deserve time; the cheap ones deserve speed.
Requirements: the document that avoids 80% of the arguments
A requirement isn't a list of features. It's the description of what the system must guarantee for the business to work: who can do what, what must never happen, which numbers need to reconcile at month's end, how long the user is willing to wait.
Ian Sommerville popularized the distinction between functional requirements (what the system does) and non-functional ones (how well it does it: performance, security, availability). Projects tend to die on the non-functional ones, precisely because no one wrote them down.
- Functional: 'the manager approves an order above $5,000'.
- Non-functional: 'the approval must be logged with author, date, and IP, and the history is immutable'.
- Business rule: 'an approved order cannot be edited, only canceled'.
- Acceptance criteria: how to tell, without debate, that something is done.
An MVP isn't a crippled version of the product
An MVP is the smallest version capable of generating real learning with real users. The word that matters is 'viable': an MVP delivers complete value along a narrow path, rather than delivering half a path across many fronts.
A useful analogy: if the goal is transportation, a working skateboard teaches more than a quarter of a car. The common mistake is confusing an MVP with a poorly built product — the scope is small, but the quality of what exists needs to be real, including security and data handling.
How much it costs and how long it takes
There's no price list for custom software, for the same reason there's no price list for a construction project: cost is a function of scope, integrations, required quality level, and risk. What does exist is an honest way to estimate.
Reliable estimates come from scope sliced into small deliverables, with ranges instead of exact numbers, and revised at every cycle. Whoever promises a fixed number before understanding the business rules is taking on a risk that, sooner or later, shows up in quality.
In short
An idea becomes a system when it's translated into a problem, evidence, requirements, and a slice small enough to ship early. The rest is disciplined execution.
Use cases
A spreadsheet-based operation that hit its limit
When control lives in shared spreadsheets and there's already been data loss or conflicting versions, the first useful slice is usually registration + approval workflow + auditable history.
A manual service looking to scale
Companies running on WhatsApp and spreadsheets gain more by automating the funnel and after-sales process than by building a full app all at once.
A startup validating a niche
The goal of the first cycle is learning: instrumentation, usage metrics, and the ability to change quickly matter more than the number of screens.
Common mistakes
- Hiring development before writing down the problem and success criteria.
- Asking for 'everything in the first version' and delaying contact with real users.
- Treating security, backups, and data protection as a future phase.
- Confusing friends' opinions with market validation.
- Ignoring operating costs: hosting, support, evolution, and fixes.
Best practices
- Write the problem, the audience, and the success criteria on a single page.
- Slice the scope into deliverables that can go live on their own.
- Decide from the start who makes the call (one person, not a committee).
- Instrument usage metrics from the first version.
- Plan for evolution: software is a living asset, not a one-time delivery.
Recommended books
The Mythical Man-Month — Fred Brooks
Explains why software timelines fail and why adding people rarely speeds up a late project.
Software Engineering — Ian Sommerville
A solid foundation on requirements, processes, and quality — useful even for those commissioning software.
Go deeper
Frequently asked questions
- I have an idea for a system. Where do I start?
- Start by describing the problem, who suffers from it, and what those people do today to work around it. Only then discuss screens and technology.
- How do I validate an idea before investing in development?
- Look for evidence of behavior: interviews about the past, pre-sales, a clickable prototype, or manually running the service with the first customers. Stated intent isn't validation.
- What comes first: prototype, architecture, or coding?
- A prototype to reduce uncertainty, architecture for the decisions that are expensive to reverse, and coding last. Cheap decisions can be made during construction.
- How much does it cost to develop software?
- It depends on scope, integrations, security and availability requirements. The honest approach is to estimate in ranges, slice deliverables, and revise every cycle.
- How long does it take to build a system?
- A first useful slice usually takes weeks, not years — as long as the scope is narrow and the definition of done is set before starting.
- What is an MVP and when does it make sense?
- It's the smallest version capable of delivering complete value along one path and generating real learning. It makes sense whenever there's uncertainty about usage, market, or process.
- How do I choose a software development company?
- Assess how it handles discovery and requirements, whether it explains trade-offs, whether it shows tests and security practices, and whether it takes responsibility for maintenance after delivery.
- How do I avoid a software project failing?
- Small scope, frequent deliveries, one person deciding, written non-functional requirements, and usage metrics from day one.
References
- Fred Brooks, The Mythical Man-Month — the idea that adding manpower delays late projects further
- Ian Sommerville, Software Engineering — classification of functional and non-functional requirements
Original content by the i9 Conecty team. Classic concepts are explained in our own words and credited to their authors.
Keep reading
Engineering
Software Engineering explained: far more than writing code
Architecture
Software Architecture explained: the decisions that are costly to change
Artificial Intelligence
Can I build my entire project using AI? An honest answer
Security