Building a complex platform — a SaaS, an internal tool, a management system — is an exercise in managing uncertainty. You do not know exactly how long it will take, you do not know all the problems you will encounter, and initial specifications always change when reality shows up. The question is: how do you manage that without the project spiraling out of control?
At Villelabs we use Shape Up to build complex platforms. It is not the only way to do it, but it is the one that has worked best for us. Here is how.
The concept of appetite
In Shape Up we do not estimate how long a project will take. Instead, we define how much we are willing to invest: the appetite. It is a subtle but fundamental shift.
When you say "this feature will take 6 weeks," you start negotiating time. When you say "we are giving this feature 2 weeks," you start negotiating scope. And negotiating scope is exactly what you need when building something complex, because it forces you to separate the essential from the nice-to-have.
For a typical SaaS platform, we divide development into 2-week cycles. Each cycle has a clear appetite and a defined deliverable. The first cycle might be "authentication + basic dashboard." The second "the main user flow." The third "integrations with external APIs." Each one is independent and each one delivers value.
Shaping: the invisible work that makes the difference
Before the development team starts working, the project goes through a shaping phase. This is not a 50-page requirements document. It is a process where we define:
- The real problem we are solving (not the solution the client imagines, but the problem behind that solution).
- The boundaries of the cycle: what is in scope and what is explicitly out.
- The technical risks that could make the cycle fail. If we identify a big risk, we tackle it first.
- Rough sketches of the solution: not pixel-perfect wireframes, but flow diagrams and whiteboard sketches that give direction without limiting the team's creativity.
Shaping takes between half a day and two days per cycle. It seems short, but that time prevents weeks of rework.