Web TechnologiesCourse and practice

Beyond the demo

Why a working demo is only a small part of the job, how far to trust an estimate before you announce a date, and how much reliability to pay for, depending on what is at stake.

6 parts · about 8 min

Present Cheat sheet

A demo shows the path where everything goes right

You lead a team of eight in the claims department of an insurance broker. Over the weekend, Hugo, one of your team, used an AI agent to build a working app. Monday's demo is impressive. "It's 90% done," he says. "We could launch next week."

A demo shows the happy path: the right user, the right input, a good connection, on the builder's laptop. A real product has to handle everything else, and that's where most of the work is:

  • Odd cases and errors: two people booking the same thing, a file that's too big, a connection that drops.
  • Security and access rules: who can see what, and how the tool knows who's who.
  • Personal data: what's kept, for how long, and who can reach it.
  • Tests on real devices and with real users, not only on Hugo's laptop.
  • Running it: hosting, backups, support, updates, and someone who is responsible for it.

Programmers have long repeated a joke attributed to Tom Cargill, of Bell Labs: the first 90% of the work takes 90% of the time, and the last 10% takes the other 90%. A weekend demo is often that first 90%. And "the agent can do the rest in another weekend" is rarely true, because the rest is decisions, checks and tests with real people.

What a demo shows, and the rest of the work that a real product needs1. Everything goes right 2. Errors and odd cases 2. Security and access 2. Personal data 3. Tests with real users 3. Hosting and backups 3. Support and updatesWhat the demo showsWhat a real product also needsEverything goes rightThe right user, the rightinput and a good connectionErrors and odd casesTwo people book the sameroom at the same timeSecurity and accessEach client sees only theirown filesPersonal dataWhat is kept, for how long,and who can see itTests with real usersOn many phones, not only onthe builder's laptopHosting and backupsThe tool stays online andits data stays safeSupport and updatesSomeone answers questionsand fixes problems

Swipe sideways to see the whole figure.

Figure 1

Cheat sheet

Demodémo
a showing of a tool at work, on a path chosen so that everything goes right.
Happy pathcas nominal
the path through a tool where the user does everything right and nothing fails.
Prototypeprototype
a first working version of a tool, made quickly to try an idea before building it properly.
Edge casecas limite
a difficult value to test a tool with, such as zero, a decimal, a negative number or an empty field.
Access rulesdroits d'accès
rules that decide who can see or change each piece of data, such as each client seeing only their own files.
90-90 rulerègle des 90-90
a programmers' joke that the first 90% of the work takes 90% of the time, and the last 10% takes the other 90%.
AI agentagent d'IA
a program that reads and writes a project's files and runs commands, following your requests in a chat.

Who uses it, and what is at stake

How much is left depends on who uses the tool and what's at stake. So size it for the case.

  • An app where the 40 people in your office book meeting rooms: internal and low-stakes, since the worst case is a double-booked room. What's left is logging in with company accounts, a week of tests with a few colleagues, and someone who looks after it. That's days, not months. Agree to a pilot next week, then open it to everyone a week or two later.
  • A portal where clients log in, upload the documents for their claims and pay their fees: here the demo is a small part. It needs secure logins, rules so that each client only ever sees their own claims, safe payments, a security review, GDPR checks and support. That's weeks to months, with professionals. Involve whoever handles security and the GDPR before any client data goes in.
  • A mobile app where clients follow their claims: two platforms, developer accounts with Apple and Google, their review of every version, a real connection to the claims system, and updates whenever iOS or Android changes. That's weeks to months, then a yearly cost. First ask whether a page that works well on phones would give clients the same thing.

Don't simply say no, and don't throw the demo away. Thank Hugo, and keep his prototype: a working prototype is the clearest brief you can give a developer, and it saves weeks of explaining. Then name who looks after the tool once it's live, because "Hugo's weekend project" can't be a company service.

The same applies to your portfolio. The agent may build its first version in an afternoon. What's left is small, because the stakes are low: your real texts and photos, a check on a phone, a form that really reaches your inbox, and a domain name. That's days, not months.

Cheat sheet

Pilotpilote, phase pilote
a first period when a small group of real users tries a tool, before everyone gets it.
Internal tooloutil interne
an app built only for a company's own staff, such as a dashboard or a booking tool for the team.
Security reviewaudit de sécurité
a check by a specialist who looks for ways an attacker could reach accounts or data.
GDPRRGPD
the European law on personal data, which applies as soon as a site collects a name or an email.
App store reviewvalidation sur les stores
the check that Apple and Google make on each new version of an app before it appears in their stores.
Prototypeprototype
a first working version of a tool, made quickly to try an idea before building it properly.

An estimate is a guess

You're a freelance project manager for a small travel agency. The marketing manager wants to announce a date in next month's newsletter, so you ask the developer how long the next piece of work will take.

An estimate is a guess. How good a guess depends on how familiar the work is. For work the developer has done many times, it's a good guess. For anything new, unclear, or dependent on another company's system, the real time can be several times the estimate. The parts that nobody understands yet are the unknowns.

  • "Two days to add a contact form. I've built dozens just like it." This estimate is reliable. Give a date about a week away, which leaves room for testing and the usual small surprises.
  • "About two weeks to connect the site to our partner's booking system, if their documentation is good. I haven't seen it yet." It could take two weeks or two months. Don't announce a date yet. Ask the developer to spend two or three days reading the documentation and trying one connection. This short investigation clears the biggest unknown. Then ask for a range.
  • "An afternoon. The AI agent can translate the whole site into English." The translation itself is quick. What isn't quick: a fluent speaker who checks it, the legal pages, the emails and error messages, text inside images, and every future change, now made in two languages. Give a date a week or two away, and tell the marketing manager that the English site is also a small ongoing cost.
How sure an estimate is depends on how familiar the work is1. A contact form: the developer said “Two days. I've built dozens of them.” Familiar work, so the estimate is reliable. 2. A partner's booking system: the developer said “Two weeks, if their documentation is good.” Nobody has read their documentation yet, so it may take several times longer. 3. Translating the site with AI: the developer said “An afternoon.” The translation is quick, but checking it takes a week or two. After that, every change must be made in two languages.What the developer saidHow long it may really takeHalf a day2 days1 week2 weeks1 month2 monthsA contact form“Two days. I've built dozens of them.”Familiar work, so the estimate is reliable.A partner's booking system“Two weeks, if their documentation is good.”Nobody has read their documentation yet, so it may take several times longer.Translating the site with AI“An afternoon.”The translation is quick, but checking it takes a week or two.After that, every change must be made in two languages.

Swipe sideways to see the whole figure.

Figure 2

Cheat sheet

Estimateestimation
an approximate price or duration, given early, which can still change.
Unknowninconnue
a part of the work that nobody understands yet, such as another company's system, which makes an estimate uncertain.
Investigationétude préalable, spike
a short piece of work, often a few days, to clear the biggest unknown before estimating the rest.
Documentationdocumentation
the written guide to a system or a service, which explains how other software can connect to it.
Rangefourchette
a low and a high figure, such as €3,000 to €6,000, given instead of one exact number.

A date is a promise

Don't give the developer's estimate to marketing as the date. The developer gave you a guess for the work going well. A date in a newsletter is a promise to customers, so it has to allow for the work not going well.

Ask two questions. What's the range: the best case, the likely case and the worst case? And what does it depend on? Then match the date you announce to the risk. For familiar work, add a small margin. For work with a big unknown, clear the unknown first. Or announce without a precise date, such as "this spring" rather than "on 3 April". If marketing can't wait, give the pessimistic end of the range.

Once a date is public, protect it by cutting what's included, not by moving it. For example, launch the booking connection for one destination first, and add the others later. The writer Douglas Hofstadter described the problem in a law that carries his name: it always takes longer than you expect, even when you take Hofstadter's law into account.

Cheat sheet

Estimateestimation
an approximate price or duration, given early, which can still change.
Rangefourchette
a low and a high figure, such as €3,000 to €6,000, given instead of one exact number.
Deadlineéchéance
the date when the work must be finished or the site must be online.
Scopepérimètre
everything a version of the project includes, written down so that everyone agrees on it.
Hofstadter's lawloi de Hofstadter
the rule that work always takes longer than you expect, even when you take this rule into account.

How much reliability to buy

You've just been hired as a digital manager. The hosting company calls with an offer. For €800 a month, it offers monitoring day and night, an engineer on call at night, and a promise of 99.99% availability instead of the current 99.9%. "Most of our serious clients take it," says the salesperson.

Decide by comparing two figures: what an hour of failure would cost you, and what the protection costs. €800 a month is €9,600 a year. Translate the promise too. 99.9% availability still allows about 9 hours offline a year, and 99.99% about one hour. So the offer buys, at most, about eight fewer hours of downtime a year. Ask what the provider pays if it breaks its promise: usually a small credit, not your lost sales.

  • A small history museum, where tickets are sold at the door: an hour offline, or even a day, costs almost nothing, because visitors find the opening hours on a map app or by phone. Decline.
  • An online shop selling €3 million a year, a third of it in the six weeks before Christmas: €1 million in six weeks is about €1,000 an hour, and more in the evening. One hour down in December can cost more than a month of the offer. Take it, at least for the season. Have the site tested under heavy traffic before November, and stop all changes in December.
  • A festival that sells 30,000 tickets on one morning: the risk is in the first hour of the sale, when traffic is many times its usual level. An engineer on call at night won't stop the site from collapsing at 10 a.m. Sell through a ticketing platform built for rushes, with a virtual queue, or test the site under that load beforehand.

The salesperson sizes the offer to their own revenue, not to your risk. Start with the cheap measures every site needs: an alert when the site goes down, sent to a shared address, and a recent backup.

What an hour offline costs, month by month, for three sites, and an offer with the same price all year1. A small history museum: an hour offline costs almost nothing all year. 2. An online shop: about €1,000 an hour in the six weeks before Christmas. 3. A music festival: one morning, when the tickets go on sale, carries most of the risk. 4. The hosting company's offer: the same protection, at €800, every month.JanFebMarAprMayJunJulAugSepOctNovDecA small history museumTickets are sold at the doorAn hour offline costs almost nothingAn online shopA third of its sales come in six weeksAbout €1,000 an hour before ChristmasA music festival30,000 tickets go on sale one morningOne morning carries most of the riskThe hosting company's offer€800 a month, all yearThe same protection, at the same price, every month of the year

Swipe sideways to see the whole figure.

Figure 3

Cheat sheet

Availabilitydisponibilité
the share of the time that a site works, such as 99.9%, which still allows about 9 hours offline a year.
Downtimeindisponibilité
the time during which a site doesn't work for its visitors.
SLASLA, engagement de service
a provider's written promise about availability and response times, which says what it pays if it fails.
Service creditavoir
a small refund that a provider gives when it breaks its promise, usually much less than your lost sales.
On callastreinte
being ready to answer and fix problems outside working hours, such as at night.
Peakpic d'activité
the short period when a site has many more visitors or sales than usual, such as the weeks before Christmas.
Load testtest de charge
a test that sends the traffic of many visitors to a site at once, to check that it holds before a busy day.
Code freezegel des mises en production
a period, such as December for a shop, when nobody puts new changes online.
Virtual queuefile d'attente virtuelle
a waiting page that lets visitors into a busy site a few at a time, as for concert tickets.
Uptime monitoringmonitoring, supervision
a service that checks a site every few minutes and alerts you when it stops answering.

What to ask

Ask these questions when someone shows you a demo, gives you an estimate, or sells you reliability.

After a demo, ask what it leaves out: odd cases and errors, access rules, personal data, payments, tests on real phones with real users, hosting, backups and support. Ask who uses the tool, because that sets what's at stake, and who will look after it once it's live. Then decide on a realistic timeframe: a pilot soon, or an estimate in weeks or months.

For an estimate, ask for the range and what it depends on. Ask whether the developer has done this before, and what nobody has looked at yet. Clear the biggest unknown before you announce anything.

For reliability, ask what an hour offline would cost you, and when: every day, in a busy season, or on one morning. Ask how many hours offline the provider's promise allows, and what it pays when it fails. Then buy the protection that matches the risk.

Cheat sheet

Demodémo
a showing of a tool at work, on a path chosen so that everything goes right.
Pilotpilote, phase pilote
a first period when a small group of real users tries a tool, before everyone gets it.
Rangefourchette
a low and a high figure, such as €3,000 to €6,000, given instead of one exact number.
Unknowninconnue
a part of the work that nobody understands yet, such as another company's system, which makes an estimate uncertain.
Availabilitydisponibilité
the share of the time that a site works, such as 99.9%, which still allows about 9 hours offline a year.
Service creditavoir
a small refund that a provider gives when it breaks its promise, usually much less than your lost sales.

Practise this strand

These questions put you in the situations this lesson describes. You answer in your own words, and you get a level, feedback and a full answer.