Software development is the process through which a business need becomes a working program: you analyse what it must do, design it, write the code, test it, put it into production and maintain it over time. This guide is written for the people who have to commission software, that is, the owners, CTOs and IT managers of small and medium-sized businesses, not for those who want to become developers.
If you are assessing a custom software development project, here you will find the phases of a project and what is asked of you in each one, the working methodologies, when it pays to develop rather than buy an off-the-shelf product, market costs with their sources, and the questions to ask a supplier before signing.
In short
- A software project goes through six phases: requirements analysis, design, development, testing, release and maintenance. The last one lasts as long as the software itself.
- In each phase the client has a specific task: setting priorities, trying out prototypes, acceptance-testing the software, preparing data and people for the release.
- The waterfall model works when requirements are stable and written in advance; an agile approach, for example with Scrum, works when they become clear along the way.
- Custom development pays off when the process to be supported sets you apart from your competitors, or when no off-the-shelf product talks to your systems. In other cases an off-the-shelf product costs less and gets you started sooner.
- According to Clutch's pricing guide (September 2026), most of the software development projects reviewed cost between $10,000 and $49,999; the average project costs about $132,480 and lasts about 13 months.
What is software development?
Software development is the set of activities through which a program is designed, built, tested and maintained to solve a specific problem: managing orders, connecting the warehouse to the e-commerce site, giving customers a private portal or giving field technicians an app for their jobs. For a business it is not just writing code: it is a project with objectives, a budget, risks and an owner.
In practice, businesses have four types of software developed:
- Management software and internal tools, built around a process that commercial products do not cover well.
- Web apps and portals, used in the browser by customers, suppliers or the sales network.
- Mobile apps, for iOS and Android, aimed at customers or at people who work in the field.
- System integrations, which make ERP, CRM, e-commerce and warehouse talk to each other without manual double entry.
A project involves several skill sets, which in small teams may sit with the same person: someone who analyses the requirements and turns them into priorities, someone who designs the user experience and the interface, frontend and backend developers, someone responsible for testing and quality, someone who manages infrastructure and releases. On your side you need at least one person: a point of contact who knows the process and has the authority to make decisions.
What are the phases of software development?
There are six phases of software development, in this order: requirements analysis, design, development, testing, release and maintenance. In agile projects the phases do not disappear: they are repeated in short cycles, on one part of the product at a time. For each one we set out what the development team does, what is needed from you and what you should have in hand at the end.
| Phase | What happens | What the client does | What you get |
|---|---|---|---|
| Requirements analysis | Working out what the software must do, for whom and which systems it must talk to | Makes available the people who know the process and decides the priorities | Written requirements ordered by priority, with the criteria for accepting them |
| Design | Architecture, data model and interface are decided | Tests the prototype with real users and approves the fundamental choices | Approved prototype and architecture document |
| Development | The code is written and reviewed, one piece at a time | Takes part in the demos and answers questions quickly | Working versions in a test environment |
| Testing | Checking that the software does what it should, including under load and on security | Acceptance-tests the software with realistic cases and data | Acceptance test outcome and prioritised list of defects |
| Release | The software goes into production, with data migrated from existing systems | Trains users and chooses the right moment | Software in use, documentation and access credentials handed over |
| Maintenance | Fixes, security updates and new features | Collects requests and budgets for recurring costs | Software that is secure, up to date and evolves with the business |
1. Requirements analysis
This is the phase in which you establish what the software must do and what it must not. The development team interviews the people who will use the system, maps out the current process, takes an inventory of the systems the software will have to exchange data with, and gathers the requirements that are not about features: how many concurrent users, which personal data, which security obligations.
On your side you need the people who carry out the process every day, not just those who manage it, and a decision that only you can make: what must be in the first version and what can wait. It is also the time to establish how you will measure the project's success. A requirement misunderstood here and discovered during testing has to be rethought, redesigned, rewritten and retested: that is why the time spent on analysis is the time that pays back the most.
2. Design
Design decides how the software will be built: the architecture, meaning the components and how they communicate, where it will run, which technologies it will use, how it will connect to other systems and how the data will be organised. In parallel the user experience is designed, with flows, wireframes and often a clickable prototype.
Your task is to have a few real users try the prototype before any code is written, and to approve the choices that will have consequences for years: cloud or on-premise servers, whose name the accounts are in, which existing systems stay and which are replaced.
3. Development
This is the phase everyone associates with software development: writing the code for the interface (frontend), for the logic and data (backend) and for the integrations. In a well-organised team every change goes through a review by another developer, is tracked in version control and comes with automated tests written alongside the code.
You are asked to take part in the periodic demos and to answer questions promptly. A question left unanswered for a week is a week of work built on an assumption.
4. Testing
Testing verifies that the software does what it should: automated tests on the individual parts and on how they integrate, functional tests, load tests and security checks. Before release comes acceptance testing, also called user acceptance testing: you are the ones who try the software with real use cases and realistic data, and who decide whether it is ready.
Prepare the test cases and data in good time, and book the hours of the future users: an acceptance test rushed through by people who will not use the software uncovers little.
5. Release
Release takes the software into production: environments are configured, data is migrated from existing systems, monitoring is switched on and a plan is prepared for rolling back if something goes wrong. On your side you need user training, internal communication and the choice of timing: you do not replace the order management system in the peak week of the season.
At the end of the release you should have in hand the source code, the documentation and access to all environments, registered in the company's name.
6. Maintenance and evolution
After release the longest phase begins: fixing defects, security updates, updating libraries and platforms, new features as the business changes. Software that nobody updates accumulates technical debt: every subsequent change costs more and carries more risk.
Your task is to budget for this cost from the start, decide who collects users' requests and agree written response times with the supplier for problems in production.
Software development methodologies: waterfall, agile and Scrum
The methodology determines the order and the pace at which the phases are run through. With the waterfall model one phase is completed before moving on to the next; with an agile approach the work is done in short cycles and working software is shown at the end of each cycle. For most business projects, where requirements become clear along the way, an agile approach reduces risk.
Waterfall. The waterfall model runs through the phases only once, in sequence: first all the requirements, then all the design, then all the development, and finally the testing. Winston Royce's 1970 paper, often cited as the origin of the model, describes exactly this sequence and immediately afterwards calls it "risky", because testing comes at the end, when fixing an analysis error costs more. Waterfall remains suitable for small projects with stable requirements that are already written down, such as an integration with specifications defined elsewhere, and for situations that call for a fixed scope at a fixed price.
Agile. The Manifesto for Agile Software Development, signed in 2001 by seventeen authors, puts four preferences at its centre: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan. In concrete terms, the team works from a list of features ordered by value, builds part of it in each cycle and shows it to the client, who can change the priorities for the next cycle.
Scrum. This is an agile framework for organising a team's work. The 2020 Scrum Guide organises it into fixed-length Sprints of one month or less, and into a team with three accountabilities: the Product Owner, who orders the priorities, the Scrum Master, who looks after the method, and the Developers, who build the product. For anyone commissioning software the role that matters is the Product Owner: if it is someone from your company, they must have the time and the authority to make decisions.
| Waterfall | Agile (for example Scrum) | |
|---|---|---|
| Requirements | Defined in full at the start | Defined in detail one cycle at a time |
| When you see the software | At the end of the project | At every cycle, which in Scrum lasts one month or less |
| Changes | Expensive, they go through a contract variation | Expected: features are swapped within the same budget |
| Typical contract | Fixed price on a fixed scope | Fixed budget and timeline, scope ordered by priority |
| Client commitment | High at the start and at acceptance testing | Constant, with demos and decisions at every cycle |
| When it makes sense | Stable, documented requirements, small projects | Requirements still to be discovered, products that evolve |
Many business projects use a middle way: analysis and design done up front, with a clear scope and budget, then development and testing in short cycles. In the Wellcam.fit project, an online training marketplace with two types of users, clients and personal trainers, the work was split into four phases (environment setup and review of the existing APIs, development of the main module, quality assurance, release) with two-week Scrum Sprints. After an internal demo, improvements to the user experience were proposed and built in before final delivery: the kind of correction that, with waterfall, only comes to light at acceptance testing.
Custom software or off-the-shelf product: when does it pay to develop?
It pays to develop custom software when the process it has to support is what sets you apart from your competitors, when no off-the-shelf product talks to the systems you already use, or when, over a few years, a product's licences and customisations cost more than software of your own. For standard processes, such as accounting or payroll, an off-the-shelf product costs less and can be used sooner.
| Criterion | Off-the-shelf product (including subscription) | Custom software |
|---|---|---|
| Time to start | Usually weeks: configuration and training | Usually months: analysis, development, testing and release |
| Initial cost | Low | Higher |
| Cost over time | Licences or subscriptions that grow with the number of users | Maintenance and evolution |
| Fit with the process | The process adapts to the product | The software adapts to the process |
| Integrations | Those provided by the vendor | The ones you need |
| Control | Roadmap and prices decided by the vendor | Code and priorities are yours, if the contract provides for it |
Often the right choice is a third way: keep the management system that works and build the missing software around it. That is the case of COLMAR, a technical sportswear company whose ERP did not talk to the company's other technologies: data from thousands of shops around the world was transcribed by hand into an Excel file that fed the store locator on the website. With integration between the ERP and the company's systems and automated data entry, COLMAR saved 320 hours of work a year and more than 20 million API calls.
Before deciding, it is worth answering four questions:
- Is the process the same as your competitors', or is it the way you sell, produce or serve customers better than they do?
- How much will licences and subscriptions cost in five years, with the number of users you expect?
- Does the off-the-shelf product expose documented APIs for connecting it to ERP, CRM and e-commerce?
- If you change vendor, can you take your data with you in a usable format?
How much does it cost to develop software?
The cost of software depends on its scope: features, integrations, number and type of users, security requirements and level of design. As a market reference, Clutch's pricing guide updated on 21 September 2026 states that most of the software development projects reviewed cost between $10,000 and $49,999, with an average cost of about $132,480 and a typical duration of about 13 months.
The independent sources available measure different things and should be read together. Figures are given in the source's currency, without conversion.
| Source | What it measures | Market reference |
|---|---|---|
| Clutch, software development pricing guide (21 September 2026) | Software development projects worldwide, from verified client reviews | Most between $10,000 and $49,999; average about $132,480; typical duration about 13 months; average monthly cost about $10,209 |
| Clutch, hourly rates (21 September 2026) | Typical rate of the development companies reviewed | $25–49 an hour globally; $25–49 in Spain, $50–99 in Poland and the United States |
| ProntoPro, software developer (consulted on 9 October 2026) | Prices on the Italian marketplace | From €500 to €20,000, depending on the details of the job |
| ANAC, Italian public contracts 2024–2025 (WWG analysis) | 285 contracts awarded by Italian public bodies for the development of software | Median value €26,400; half of the contracts between €12,398 and €63,500 |
The ProntoPro figures mainly concern individual professionals and well-bounded jobs; the Clutch figures concern complete projects by development companies, with analysis, design, testing and release. The ANAC data, from Italy's National Anti-Corruption Authority, is the only Italian reference published contract by contract, but it covers only software commissioned by public bodies. The method, examples with the CIG tender code, the case of management software and the costs to budget for after release are in our guide on how much it costs to develop software.
None of these figures is the price of your software. The items that push it up the most are almost always the same:
- Integrations with ERP, CRM, warehouse, payments or third-party systems, each with its own analysis and tests.
- User roles and permissions: every type of user brings additional screens, rules and test cases.
- Data migration from existing systems, often underestimated.
- Security and compliance, when the software handles personal data or payments, or operates in regulated sectors.
- Costs after release: maintenance, hosting and cloud services, licences for third-party components, user support.
To get a figure for your project you need an estimate based on your scope: you can start with a software development quote from QuickQuote, which estimates timelines, costs and team structure from a short questionnaire.
How do you choose who to entrust with software development?
Choose the supplier on how they work, not just on price: who analyses the requirements, who writes and who reviews the code, how changes are handled, who keeps the code and what happens after release. A low quote combined with vague answers to these questions usually ends up costing more.
There are three alternatives: a freelance professional, suited to small, well-bounded jobs; an in-house team, which makes sense when the software is the core of the business and there is continuous work for years; a software house, which brings a complete team and is accountable for the result. Whatever the choice, these are the questions to ask before signing:
- Who will work on the project, with what experience, and who will be our point of contact from start to finish?
- Is requirements analysis included in the quote? What document does it produce?
- How often will we see working software, and in which environment will we be able to try it?
- How do you handle changes during the project, and who decides what goes in and what comes out?
- How do you test the software? Which automated tests stay with us on delivery?
- In whose name are the source code, cloud accounts, domains and documentation registered?
- How do you use artificial intelligence in development, and who checks the code it produces?
- What happens after release: warranty, maintenance, response times for problems in production?
- Do you have published case studies similar to ours?
The question about artificial intelligence is new, but it is not a detail. According to Google Cloud's 2025 DORA report on AI-assisted software development, 90% of the professionals surveyed use AI at work, but 30% say they have little or no trust in the code it generates. AI speeds up repetitive, high-volume work; the answer you want to hear is that this code always goes through review by senior engineers, with tests and security checks, and that someone is accountable for it.
Some signals call for caution:
- a fixed price on requirements that were never written down, or a quote with no analysis phase;
- no demo planned before final delivery;
- source code and accounts registered in the supplier's name;
- "you do the acceptance testing", with no automated tests and no test plan;
- a project that only one person knows;
- timelines much shorter than other suppliers', with no explanation of what has been left out.
If instead you have to take over software written by someone else, or decide whether to continue with your current supplier, the first step is a technical due diligence of the software: an independent analysis of code, architecture, security and risks that tells you what can be kept, what needs fixing and in what order.
Second opinion
Already have a quote? We’ll review it for free
Paste the text of the quote you received, or a link to the document. A senior WWG engineer reads it and sends you a written opinion: whether the scope is clear, which items are missing and what risks they see. We won’t give you an alternative price, and you are under no obligation to continue with us.
WWG is a software house based in Milan that designs and develops software for Italian businesses: a stable senior team, with a point of contact who follows the project from analysis to maintenance, and artificial intelligence used for repetitive work under the control of senior engineers. If you are considering a custom software development project, tell us what your software needs to do: we will tell you whether it makes sense to develop it, buy it or integrate what you already have.
Do you already have the answers to the questions in this guide? Use them for an estimate with QuickQuote, or write to us at business@wwg.it.
Sources
- Clutch, Software Development Company Pricing Guide 2026 (updated 21 September 2026; archived 5 October 2026): web.archive.org
- ProntoPro, Sviluppatore Software (prices on the platform, consulted and archived 9 October 2026): web.archive.org
- ANAC, Banca Dati Nazionale dei Contratti Pubblici (Italy's national public contracts database), open datasets CIG 2024, CIG 2025 and Aggiudicazioni (CC BY 4.0 licence; downloaded 5 October 2026; WWG analysis of 9 October 2026 of software development contracts, using the method described in the guide to software costs): dati.anticorruzione.it
- Winston W. Royce, "Managing the Development of Large Software Systems", Proceedings IEEE WESCON, August 1970: web.archive.org
- Manifesto for Agile Software Development, 2001: agilemanifesto.org
- Ken Schwaber and Jeff Sutherland, The Scrum Guide, November 2020 (archived 9 October 2026): scrumguides.org
- Google Cloud, "Announcing the 2025 DORA Report: State of AI-assisted Software Development", 24 September 2025 (archived 9 October 2026): cloud.google.com
- Law no. 633 of 22 April 1941, Protezione del diritto d'autore e di altri diritti connessi al suo esercizio (Italian copyright law): normattiva.it
FAQ
Frequently asked questions about software development
The questions business owners, CTOs and IT managers ask most often before having software developed.





