
Software Development Life Cycle: The Complete Guide
Understand how the software development life cycle really works from the buyer's side: steps, methodologies, costs in Brazil, and how to choose between an in-house team, SaaS, or outsourcing.
You don't need to learn how to code to hire software, but you do need to understand the software development life cycle before signing any proposal. The steps, the methodology, and the way you structure the contract are what separate a predictable project from one that blows past its deadline and budget.
What is the software development life cycle and how does it work
Put simply, the software development life cycle is the engineering process that turns a business problem into a working system. It moves through requirements gathering, design, coding, testing, and maintenance, with each phase delivering a piece of what eventually becomes the finished product.
Any system, no matter how simple it looks, is made of four layers that talk to each other. The front end is the interface people see and touch: screens, buttons, and forms. The back end holds the business rules and processes whatever the interface requests. The database stores information in a way that's organized and retrievable. Infrastructure, whether a physical server or a cloud service, keeps all of it running.
This guide looks at that process from the buyer's side, not the developer's. Along the way, you'll see how the phases get organized differently depending on the methodology chosen and the type of scope negotiated with the vendor, the two factors that weigh most heavily on final timeline and cost.
What are the types of software development (desktop, web, and mobile)
Before getting into the process steps, it's worth distinguishing the three most common technical tracks in the market. Each one serves a different need, and this early choice directly shapes technology, timeline, and cost.
Desktop development
Robust systems for internal operations, devices, and critical infrastructure, built to run locally with high performance and full control over data. This is the usual path for a shop-floor ERP, a point-of-sale system across a retail chain, or industrial software that drives specific equipment.
Web development
Applications accessed through a browser, independent of platform. It ranges from a simple institutional website to e-commerce stores and full SaaS systems.
Mobile development
Native apps built for iOS or Android, tapping into a device's sensors, camera, and GPS for experiences only a phone can deliver.
If your project is a browser-based application, from an institutional website to a complex SaaS system, the path runs through specialized web development.
If the idea depends on a camera, GPS, or push notifications in someone's pocket, the path is native or cross-platform mobile app development.
What are the types of software: SaaS, custom, white label, and more
Once you've chosen the technical track, the next question is what kind of software you're actually building. The market usually splits solutions into a handful of well-defined models, and knowing the differences keeps you from buying, or building, the wrong thing.
- SaaS: subscription-based access, ready to use, with no need for your company to maintain a server or an infrastructure team. It pays off when the process the software solves is a market standard, like basic financial management or email sending, and the customization limited to the vendor's options isn't a problem.
- Custom software: built around your business's specific processes, without the limits of generic tools. The higher investment is worth it when the software is your competitive edge, the reason a customer chooses you over a competitor, not just an internal support tool.
- White label: a ready-made product you customize with your brand, colors, and logo. It speeds up launch, but the product's evolution still depends on the original vendor.
- Open source: open code with no license cost and freedom to modify. In exchange, it requires your own internal structure to maintain, update, and secure what's been deployed.
- Embedded software and operating systems: more specific categories, integrated directly into hardware, like a router's firmware, or responsible for managing a device's resources, like Windows, Android, or iOS.
The phases of the software development life cycle
With the type of software defined, we reach the part that actually matters to whoever is hiring: what to expect at each software development process step, from the first discovery meeting to what happens after launch.
- 1Requirements gatheringAll stakeholders meet to define what the software needs to do, for whom, and under which constraints. It's the foundation for everything that follows.
- 2Feasibility studyBefore a single line of code is written, the vendor evaluates whether the project is viable technically, economically, and operationally within the available time and budget.
- 3UI/UX designScreens and navigation flows are drawn up and tested in clickable prototypes, before any investment goes into programming.
- 4CodingThe team breaks the system into modules and builds each one under version control, so that the work of several developers merges without conflict.
- 5Quality assurance (QA)The software is tested against real-world scenarios to catch flaws before the people using it do.
- 6DeploymentThe system goes into production under close monitoring, ready for fast adjustments if anything strays from what was expected.
- 7Ongoing maintenanceThe process doesn't end at delivery. Fixes, improvements, and new features continue throughout the software's lifetime.
Requirements gathering deserves extra attention, since it's where most projects derail before they even start. If you want a practical framework for describing what you need without relying on technical jargon, it's worth reading how to write software requirements without being technical.
Development methodologies: Waterfall, Scrum, Kanban, and Shape Up
How the phases above unfold over time depends on the methodology chosen, and that decision is one of the biggest levers on timeline and cost. It's also where the classic agile vs waterfall methodology question comes from.
| Criteria | Waterfall | Scrum | Kanban | Shape Up |
|---|---|---|---|---|
| Structure | Sequential, phase by phase | Sprints with fixed ceremonies | Continuous flow on a visual board | 6-week cycles with a fixed appetite |
| Typical cycle | Single, start to finish | 2 to 4 weeks | No fixed cycles | 6 weeks plus cool-down |
| Ideal when | Scope is well defined and stable | Continuous feedback is essential | Priorities shift frequently | Timeline predictability with scope flexibility |
In practice, waterfall works well when scope is known and stable, such as migrating a legacy system with rules that are already defined. Scrum and Kanban, the most widely used agile methodologies, come into play when the product evolves through user feedback. Shape Up is the newest option for teams that want time predictability without giving up flexibility over what gets delivered within it.
Open or closed scope: the impact on timeline and cost
The methodology you choose ties directly into another decision that shows up in every contract negotiation: will the project run on an open or closed scope? The answer defines what's fixed and what's allowed to flex between timeline, cost, and deliverables.
Closed scope
Everything is defined and detailed before the project starts. Scope is fixed, so time and cost flex to fit what was planned. It's the natural approach for waterfall: more predictable, but rigid in the face of change. A typical example is migrating a legacy ERP to a new platform, where business rules have already been mapped and tested for years.
Open scope
Time and resources stay fixed, and scope adjusts along the way. It's the logic behind Scrum, Kanban, and Shape Up: value delivered incrementally, with room to correct course as the project moves forward. A common example is launching an MVP that gains new features every sprint, guided by real market response.
Best programming languages for software development
Once methodology and scope are settled, what's left is the technical engine behind the project: the languages and frameworks chosen to build it. A programming language is what the code is written in, and a framework is a ready-made structure that speeds up the work, with common tasks already solved. The right choice follows the type of project defined in earlier sections, not a developer's personal preference.
| Language | Common use | Associated frameworks |
|---|---|---|
| JavaScript / TypeScript | Web applications, front end and back end | React, Node, Next.js |
| Kotlin / Swift | Native apps for Android and iOS | Jetpack, SwiftUI |
| Python | Automation, data, and AI | Django, Flask |
| Java | Large-scale enterprise systems | Spring |
| C# | Enterprise systems in the Microsoft ecosystem | .NET |
Each language carries a context that explains why it was chosen, not a vendor's fad. JavaScript and TypeScript dominate the web because they run both in the browser and on the server, backed by a mature ecosystem in React and Node. Kotlin and Swift are the official languages for Android and iOS, respectively, delivering the best possible performance in native apps. Python became the standard for automation and data science thanks to its simple syntax and the sheer number of ready-made AI libraries. Java and C# show up in large enterprise systems, where strong typing and market maturity matter more than prototyping speed.
How much does custom software development cost in Brazil
We've reached the question every manager asks before shopping around for a vendor: how much does custom software development cost in Brazil? The honest answer is that it depends.
Still, a few factors account for most of the variation. Scope and complexity outweigh any other variable, since a few screens and simple rules cost far less than a system with multiple integrations. The number of platforms also enters the equation, because supporting web, iOS, and Android at once multiplies the effort. And vendor experience carries a price: a seasoned team delivers with less rework, which offsets a higher hourly rate on the final bill.
R$ 50k to 150k
Small-scale projects: an MVP, a simple app, or a system with few integrations.
R$ 150k to 400k
Mid-size projects: platforms with multiple user profiles and external integrations.
Above R$ 500k
Large-scale projects: complex enterprise systems with high scale and strict security requirements.
In-house development, SaaS, or outsourcing: which path to choose
With steps, methodology, and cost clearer now, what's left is deciding who builds the software: your own team, a market SaaS, or a partner for outsourcing software development. Each path trades control for speed in a different way, and total cost of ownership rarely shows up in the initial proposal.
| Criteria | In-house development | SaaS | Outsourcing |
|---|---|---|---|
| Control | Full, but requires your own management | Low, dependent on the vendor | High, with a specialized partner |
| Speed of adoption | Slow, depends on hiring | Immediate | Fast, squad already formed |
| Customization | Full | Limited | Full, built to spec |
| Total cost of ownership | Payroll, turnover, training, and support add up over the years | Predictable subscription, but grows with users and extra modules | On-demand investment, no fixed payroll or hiring cost |
In-house development looks cheaper on paper, but it carries costs that only show up later: recruiting, training, turnover, and the ongoing support a piece of software never stops needing. SaaS eliminates those team-management costs, but the bill grows along with the number of users and modules, and limited customization becomes a ceiling on your business's growth.
When the software is a commodity, a support process any competitor also uses, SaaS tends to solve it with less friction. When the software is your competitive edge, building it to spec through a specialized IT outsourcing partner, rather than a custom software development company's off-the-shelf product, tends to pay off more. You get access to a dedicated development squad and a mature delivery methodology, with the flexibility to adjust the team as the project evolves, without having to build and sustain your own team from scratch.
Frequently asked questions about the software development life cycle
How much does custom software development cost in Brazil?
It varies by scope and complexity. Small projects usually start around R$ 50,000, while complex enterprise systems can go beyond R$ 500,000.
How long does it take to build software from scratch?
A simple MVP can be ready in two to four months. Mid-size systems usually take six months to a year, and complex projects go beyond that timeline.
What's the difference between software, web, and mobile development?
Software development is the broad term. Web and mobile are specific tracks within it: web delivers browser-based applications, mobile delivers native apps for iOS or Android.
Is it better to build in-house or hire a specialized consultancy?
It depends on how strategic the software is and how much you want to invest in keeping a permanent team. When it's a competitive edge, a specialized consultancy usually delivers faster and with less risk.
Which development methodologies are most used today?
Scrum and Kanban dominate agile projects, waterfall still shows up in closed-scope projects, and Shape Up is gaining ground among teams that want predictability without a traditional backlog.
Move your software project forward with Agence
Once you understand the steps, the methodologies, and the costs, the real decision is who builds it with you. Agence combines its own methodology with dedicated squads to turn that plan into a working system, without the risks of building a team from scratch or relying on a generic SaaS.

