How long does it take to build and launch a two-client software system?
“Two clients” does not determine a schedule. First identify which two applications, their roles and different functions, shared business and backend, and release channels. A consumer app plus merchant app, app plus administration, iOS plus Android, and mini-program plus web reuse different work. Wavesteam will not apply a generic six-to-ten-week estimate before the system is defined.
A consumer app and administration can share services while having different permissions, bulk operations, and audit. A cross-platform iOS and Android build may reuse code, but payment, push, permission, device capability, compatibility, and submission remain platform work. Consumer and provider apps may share components yet implement two complete workflows. Page count does not reveal these differences.
When planning milestones, resources, and acceptance, also compare How long does a first release take when it is inspired by a mature product? and How long does a custom app usually take to reach its first release?; the linked guidance adds context that should be considered in the same decision.
| Combination | Shared | Independent | Often omitted |
|---|---|---|---|
| Consumer app + admin | Data model, services, design rules | Mobile UX, operating permissions, bulk and audit | Exception handling and support tools |
| Consumer + merchant/provider | Accounts, order master, messaging | Onboarding, acceptance, fulfilment, settlement, states | Cross-client state and disputes |
| iOS + Android | Product rules, API, some cross-platform code | System permissions, SDKs, compatibility, stores | Native differences and two reviews |
| Mini-program + web | Backend, content, some UI logic | Login, payment, sharing, browser/platform constraints | Degradation where capabilities differ |
Before estimation, confirm roles and core tasks, inclusion and exclusion per client, shared design, administration and support, interfaces and migration, payment and messaging, device compatibility, security and performance, accounts and qualifications, and client decision timing. Break the core flow into product, UI, frontend, backend, test, and release work, then identify dependency and genuine parallelism.
Calendar time comes from the critical path, not the number two. Wavesteam first builds a cross-client vertical slice—for example, a user creates an order, a provider acts, and operations can intervene—so login, permission, state, notice, and data work together. Its interface and rule findings update the remaining estimate. Later milestones provide runnable versions, tests, blockers, and forecasts.
The Scrum Guide supports usable increments and inspection, while DORA research informs delivery and stability. Neither provides a standard duration. The contractual baseline identifies scope, team, and dependency assumptions and changes when those facts change; overtime does not absorb unlimited additions.
Code completion is not release. Entity-owned accounts, filing or sector evidence, privacy declarations, payment merchant configuration, screenshots, and review accounts may sit on the critical path. Store timing belongs to Apple, Google, a domestic market, or WeChat and cannot be reduced to one assumed number. The release plan separates evidence preparation, submission, remedy, and staged deployment.
To accelerate the first release, reduce roles, regions, rules, and low-frequency exceptions while preserving one complete loop. Do not defer all administration or testing. Release gates include both clients' core tasks, permission isolation, data consistency, serious defects, monitoring, backup and rollback, and customer-support handling. If one client comes later, define compatible data and interfaces without implementing it early.
Wavesteam's formal schedule states a likely range and risk range, critical dependencies, client input deadlines, and re-estimation points. A committed date follows confirmed scope, representative data, supplier interfaces, and team configuration. Before then, we can explain the work class and largest unknowns without presenting false precision.