Cian-OS Playbooks Getting ready to scale
Is Your Software Ready to Scale?
In short
Software is ready to scale when it can take on more users, data, people and change without each step making it more fragile. You review it across six dimensions — architecture, security, maintainability, data, operations and AI readiness — and read each one on its own: one dimension in the red outweighs five in the green.
Growth tests software in ways day-to-day use never shows. What works with a hundred users and one developer can break with ten thousand users and five developers — and almost never for lack of servers. Software is ready to scale when it can take on more users, data, people and change without each step making it more fragile. This guide explains what that means across six concrete dimensions — the same ones our Readiness Check uses.
What scaling means for software
“Scaling” usually gets read as handling more traffic. That’s only one of four ways to grow, and rarely the first one to break:
| When this grows… | What gets tested | Dimensions that feel it most |
|---|---|---|
| Number of users | Permissions, performance, support | Security, operations |
| Volume of data | Backups, consistency, reporting | Data, architecture |
| The team building it | Shared knowledge, tests, conventions | Maintainability, AI readiness |
| Pace of change | New work not breaking old work | Architecture, maintainability, operations |
That’s why “ready to scale” isn’t a general state. It means being ready for the kind of growth that’s coming.
The six dimensions
Each dimension is reviewed with two questions. The answers don’t add up — each one tells you something different.
1. Architecture: can you change it without fear?
An architecture is ready to grow when someone else can understand its components, data and integrations, and when adding a feature doesn’t break the ones before it. The questions: is there documented architecture someone else could understand? And when something is added, what happens to what already worked?
2. Security: will today’s small risk stay small?
With few users, a password in the code or a permission checked only in the browser look like details. With more users, more data and more people with access, they become an open door to information that shouldn’t be exposed. The questions: where do API keys and passwords live? And where is it checked who can see or change each piece of data?
3. Maintainability: can it continue without the person who wrote it?
Growth almost always means more people touching the code. Without automated tests on critical flows, every change is a bet; if the knowledge lives in one person, growth runs on their calendar. The questions: are there automated tests on critical flows? And if the person who knows the code best left, could someone else continue?
4. Data: would it survive a bad day?
Backups nobody has ever restored aren’t backups — they’re an assumption. And data split between the system and side spreadsheets drifts out of sync faster the more it grows. The questions: are there automated backups, and has a restore been tested? Does important data live in one clear model, without parallel copies?
5. Operations: who finds out first when something fails?
If users notice before monitoring does, every new user is also a new incident reporter. And a manual deployment that depends on one person limits how often — and how safely — the system can change. The questions: how do you find out something failed in production? And how is a new version deployed?
6. AI readiness: is generated code reviewed and understood?
This dimension doesn’t ask whether the product uses AI. It asks whether the team can use AI to build without piling up risk: whether an engineer reviews every AI-generated change, and whether there’s documented context — rules, conventions, decisions — that an agent or a new person could follow.
Why there’s no score
A “health” percentage would average what can’t be averaged. Backups nobody has restored aren’t offset by impeccable architecture; an exposed secret doesn’t get diluted across five healthy dimensions. That’s why the reading is qualitative — Solid, Review or Attention — and per dimension.
One dimension in “Attention” outweighs five in “Solid.”
A common case: software built fast
Building a first version with AI or no-code tools is a legitimate way — sometimes the best way — to reach real users quickly. The risk isn’t the tool; it’s what’s usually missing around it: nobody defined the architecture, nobody reviewed security, nobody wrote the tests, nobody documented the decisions. While the app is an experiment, those gaps go unnoticed. Once it starts carrying the business, they’re the first thing to review before growing.
An illustrative example
A services company (an illustrative example, not a client) has a booking app built in a few weeks, with three hundred customers, and is preparing to open in two more cities. Its reading by dimension:
| Dimension | What they found | Reading |
|---|---|---|
| Architecture | Nobody documented it, but changes rarely break anything | Review |
| Security | Permissions are checked in the browser | Attention |
| Maintainability | No tests; one person understands the code | Attention |
| Data | Automated backups, never restored | Review |
| Operations | They hear about failures from customers | Attention |
| AI readiness | Some code was AI-generated and is reviewed sometimes | Review |
Three dimensions in “Attention,” and none of them gets fixed with more servers. Before opening the new cities, the right move is a code review to confirm whether those signals are what they look like — and in what order to address them.
When a questionnaire isn’t enough
These questions give you an indicative reading, not a diagnosis. A questionnaire can’t confirm the real state of the code; it can only show you where to look. When dimensions land in “Attention,” the next step is a technical review of the code and infrastructure, with verified findings and remediation priorities.
Common mistakes
- Equating scaling with traffic and checking only the servers.
- Averaging dimensions and concluding “we’re fine overall.”
- Trusting backups without ever having restored one.
- Adding developers to code with no tests and no documented context.
- Hearing about failures from customers and treating it as normal.
- Speeding up with AI without human review of every change.
- Putting off the review until after growth, when fixing costs more and affects more people.
Practical tool · Checklist
Scale-readiness checklist
The same six dimensions and twelve questions as the Readiness Check. In each row, mark the column that describes where you are today. Don’t add or average: read each dimension on its own.
01 · Architecture
| Question | Solid | Review | Attention |
|---|---|---|---|
| Is there documented architecture (components, data, integrations) someone else could understand? | Yes, documented and current | Partial or outdated | No, or I don’t know |
| When a feature is added, what happens to what already worked? | Things rarely break | Sometimes there are unexpected side effects | Other parts break often |
| Next step | Keep architecture decisions documented as the product grows. | Document components, data and integrations before accelerating. | Define a target architecture before adding more features. |
02 · Security
| Question | Solid | Review | Attention |
|---|---|---|---|
| Where do API keys and passwords live? | Environment variables or a secrets manager, outside the code | Mixed: some may be in the code | In the code, or I don’t know |
| Where is it checked who can see or change each piece of data? | On the server, on every operation | Partly server, partly browser | In the browser, or I don’t know |
| Next step | Keep periodic security reviews in your delivery process. | Review secrets and permissions handling before adding users. | Prioritize a security review: secrets and permissions are the most common risk in fast-built apps. |
03 · Maintainability
| Question | Solid | Review | Attention |
|---|---|---|---|
| Do you have automated tests on critical flows? | Yes, and they run on every change | Some, with unclear coverage | No |
| If the person who knows the code best left, could someone else continue? | Yes, easily | With difficulty | No |
| Next step | Protect test coverage on the flows that change most. | Add tests to critical flows and document knowledge that lives with one person. | Reduce single-person dependency and build a minimal test net before changing more code. |
04 · Data
| Question | Solid | Review | Attention |
|---|---|---|---|
| Do you have automated backups — and have you tested restoring them? | Yes, automated with tested restores | Automated, but never tested a restore | No, or I don’t know |
| Does important data live in one clear model, without copies or side spreadsheets? | Yes, one clear model | Partly: some duplication or manual steps | No, data is scattered |
| Next step | Schedule periodic restore tests. | Run a full restore test and consolidate duplicated data. | Secure tested, automated backups before any other change. |
05 · Operations
| Question | Solid | Review | Attention |
|---|---|---|---|
| How do you find out something failed in production? | Automated monitoring and alerts | We check logs when someone reports it | Users tell us |
| How is a new version deployed? | Automated, with rollback | Documented manual process | Manual, and it depends on one person |
| Next step | Make sure alerts reach someone who can act, in time. | Automate deployment and add monitoring to critical flows. | Put monitoring and a repeatable deployment in place: today your users are your alerting. |
06 · AI readiness
| Question | Solid | Review | Attention |
|---|---|---|---|
| If some code was AI-generated, does an engineer review every change? | Yes, every change is reviewed | Partially | No, or we don’t know |
| Is there documented context (rules, conventions, decisions) an AI agent or a new engineer could follow? | Yes, it lives in the repository | Partial | No |
| Next step | Your foundation supports accelerating with AI; keep human review on every change. | Document rules and conventions before accelerating with AI agents. | Establish human review and documented context before generating more code with AI. |
How to read the result
- Any dimension in “Attention”
- These are signals, not a diagnosis — but they warrant a technical review before you keep investing in growth. A questionnaire can’t confirm the real state of the code; a review can.
- Only “Review”
- Nothing serious is visible, but nothing can be ruled out either. Clarify those dimensions before you add users, data or people.
- All “Solid”
- The next step depends less on fixing the platform and more on what you want to achieve with it.
- Why there’s no score
- One dimension in “Attention” outweighs five in “Solid”: backups nobody has ever restored aren’t offset by good architecture.
How it connects to Cian-OS
The six dimensions cut across three Cian-OS systems: Foundation (architecture, data and security decided before accelerating), Verify (tests, review and evidence that what was built does what it should) and Operate (observing, protecting and evolving the system in production). They’re the same ones the Readiness Check uses.
Readiness Check
The same six dimensions, in a few-minute questionnaire with a reading per dimension. If signals of concern show up, the Software Readiness Assessment confirms them by reviewing your code.