HOCO B2B
Ways of working

Change requests and decisions

The cahier's scope clause turned into a process: what counts as a change, how a request becomes a written decision, how the plan is updated, how the decision register works, and when HOCO signs.

The scope clause

The validation sheet of the cahier (p. 2) ends with this clause:

« Toute fonctionnalité non décrite ou non validée dans le présent cahier des charges fera l’objet d’une analyse complémentaire, d’un chiffrage séparé ou d’une planification dans une version ultérieure. »

Any feature that is not described or not validated in the cahier is analysed separately, priced separately, or planned for a later version. The team applies it literally, and to both sides: nothing is added silently, and nothing described is dropped silently.

What is in scope is the cahier as signed on the validation sheet, plus what HOCO validates afterwards: the PRD and SRS baseline at the cadrage workshop (PRJ-03), each surface's designs after its feedback round, and the decisions in the register. The V1/V2 split follows cahier §14.1/§14.2 and the scope page. Team decisions already in the plan — the reseller web (RWA-01) and the product decisions of the team (for example after-sales and returns in V1) — are part of the baseline presented to HOCO at the cadrage workshop, not change requests.

What is a change request

SituationChange request?Handled by
A new feature, screen, field, report, business rule or integration not in the cahier or the validated baselineYesThis process
Changing a validated design after its feedback roundYesThis process
Changing a decided item of the registerYes — a new decision supersedes itThis process
Moving a V2 item into V1, or a V1 item out of itYesThis process
A new external service, account, subscription or cost (cahier §11, INT-07)YesThis process
Behaviour that contradicts the SRS or the contractNo — a bugBugs
A detail left open inside described scope (wording, field order, a default value)No — a clarificationAnis decides and logs it in the register
Internal technical choices (libraries, structure, hosting recipe)NoAn ADR on the architecture page

Grey-zone rule: a "clarification" whose answer adds more than half a day to a task's estimate is a change request.

How a request becomes a decision

Capture. Whoever hears the request — in a review, a call, a WhatsApp message — answers « C'est noté — nous revenons vers vous avec l'impact » and tells Anis. Never "yes", never "it's small". Within 1 working day Anis opens a GitHub issue in hoco, label change-request, titled CR-007 — <short title>.

Analyse — within 3 working days. Imad and Akram estimate their parts. The analysis lists the requirement ids, screens, operations and tasks affected; the effort per person (classic and optimized, as in the planning method); the plan impact computed by the scheduler on a branch copy of tasks.json — which milestones move and by how much; the cost impact, priced separately as the scope clause says; the risks.

Present the options at the next client review, or by e-mail when a task is waiting: A. add it now — the plan moves and the cost is quoted; B. swap it for V1 scope of equal effort — the plan holds; C. plan it in V2 or a later version; D. decline.

Decide. HOCO's sponsor decides in writing (e-mail). A priced option needs the signed quote or amendment before work starts.

Apply. Specs first (requirements.json with a new id and its release, screens.json, endpoints.json), then tasks.json and the pages, in a PR docs(plan): apply CR-007 — <title>. The register records the decision. The new milestone dates — read from the scheduler — go to HOCO in the next client review and the recap e-mail.

Close. The CR issue links the decision e-mail, the register entry and the PRs.

Change-request template

# CR-007 — <short title>
Requested by: <name, role at HOCO> · Received: YYYY-MM-DD via <review | call | WhatsApp | e-mail>
Status: Open | Analysed | Decided | Applied | Declined · Owner: Anis

## Request
What HOCO asks for, in their words (French quote).
## Reason
The business need behind it.
## Impact on scope
Requirements added or changed (ids, V1/V2), screens, operations, apps (BO, RA, RW, DA, API).
## Impact on plan
Tasks added or changed, effort per person (optimized days), milestones moved — computed by the scheduler.
## Impact on cost
Priced separately: <amount or "to quote">.
## Risks
## Options
A. Add now · B. Swap with <V1 item> · C. Plan in V2 · D. Decline
## Recommendation
## Decision
Option <X>, decided by <name> on YYYY-MM-DD — reference: e-mail "<subject>". Register: D-xx.

Updating the plan

The plan is changed like code, and only through tasks.json:

git switch -c docs/cr-007-plan
# edit apps/docs/content/plan/tasks.json: optimized/effort, deps, release, team, or a new task
pnpm --filter @hoco/docs schedule      # prints the new calendar, warns on unknown dependencies
pnpm docs:generate                     # regenerates the team-task pages
pnpm --filter @hoco/docs check-mdx     # every page still compiles
git add apps/docs/content/plan/tasks.json apps/docs/content/docs/team-tasks
git commit -m "docs(plan): apply CR-007 — export invoices to Excel"
  • The plan change is its own commit, so the plan's history reads cleanly (planning method).
  • A new task takes the next free id of its prefix (SRV, DSH, MRA…); ids of removed tasks are never reused.
  • Dates are never edited, and an estimate is never shrunk to keep a date. The levers are real ones: scope, sequence, owner, capacity (If dates slip).
  • Imad and Akram review a plan PR that touches their lanes. Once merged, the docs deploy publishes the new timeline, and Anis notes the change on the Progress page.

The decision register

The register is the open decisions page. A decision not written there did not happen.

FieldContent
IdD-xx, never reused (iOS, for example, is D-10)
QuestionOne sentence, with the requirement ids it affects
OptionsWhat was considered
DefaultWhat the team does if no decision arrives in time
Needed byA task id — the plan gives the date
OwnerWho decides: a named person at HOCO, or the team
StatusOpen · Decided · Superseded
DecisionThe text, the date, who decided, the source (e-mail, meeting notes)
ImpactRequirements, screens, operations and tasks changed

Rules:

  • Anyone opens an entry (through Anis) as soon as a question blocks or will block a task.
  • Every open decision has a default. When its needed-by task starts without an answer, the default applies, HOCO is told in writing, and changing it later is a change request.
  • Decisions are taken in writing only; the entry quotes its source.
  • Nothing is deleted. A new entry supersedes an old one and links back.
  • The register is read at the Sunday planning (what is due this week) and at each client review (what HOCO must decide).
  • Technical decisions of the team are ADRs on the architecture page; they are not HOCO's to sign.

Sign-off moments

MomentDocumentSigned or validated byTask → milestoneUnblocks
Cadrage validatedThe cahier's validation sheet (p. 2): client and provider approvalsHOCO's authorised representative; Anis for the providerPRJ-03 → Cadrage validated — validation sheet signedThe database schema (SRV-02)
Screen inventoryThe screen inventoryThe team; shared with HOCODES-05 → Screen inventory frozenScreen design
Designs, per surfaceValidation e-mail per surface (v1.0, then v1.1 after the feedback round)HOCO's project leadValidation sessions, then DES-22Later design changes become CRs
API contract v1— internalAnis and ImadSRV-03 → API contract v1 published (OpenAPI + mock server)The mobile track
AcceptanceThe PV de recetteHOCO's authorised representativeQA-02 → Acceptance report (PV de recette) signedProduction go-live
Pilot go / no-goA written decision based on the pilot KPIsHOCO's sponsor and AnisLCH-03, LCH-03B → Pilot go / no-goGeneralisation
Generalisation completeHandover of the support and maintenance proceduresHOCO and AnisLCH-05 → Generalisation completeThe maintenance contract and the warranty period (cahier §13.4)
V2 scopeCR decisions and the V2 version planHOCO's sponsorBefore SRV-29The V2 build

The PV is signed when the priority scenarios of cahier §12 pass, the blocking defects are fixed, and the open Majors are listed as reserves with their fix versions (acceptance rule, acceptance scenarios). Signed documents are kept as PDFs in the project's shared folder and referenced from the register entry of the moment they close.

3-month frame: design → development → deployment — deadline 17 Jan 2027.

DateMilestoneTargetReached when these tasks end
18 Oct 2026Cadrage validated — validation sheet signed—PRJ-03
18 Oct 2026API contract v1 published (OpenAPI + mock server)—SRV-03
19 Oct 2026Server V1 feature-complete—SRV-26, SRV-40
21 Oct 2026Design system v1 ready (tokens + components)—DES-04
22 Oct 2026Screen inventory frozen—DES-05
29 Oct 2026Reseller app designs ready for client review—DES-10
05 Nov 2026Delegate app designs ready for client review—DES-14
08 Nov 2026Mobile foundations ready—MOB-11
12 Nov 2026Back-office designs ready for client review—DES-19
16 Nov 2026Design handoff complete—DES-21
03 Dec 2026Back-office and reseller web V1 feature-complete—DSH-12, WEB-05, WEB-06
15 Dec 2026Mobile apps V1 feature-complete—MDA-12
22 Dec 2026Staging integration complete—MOB-14, SRV-28
28 Dec 2026Acceptance report (PV de recette) signed—QA-02
29 Dec 2026Production go-liveon time — 17 Jan 2027LCH-01
30 Dec 2026Pilot startson time — 17 Jan 2027LCH-02
14 Jan 2027Pilot go / no-go—LCH-03, LCH-03B
21 Jan 2027Generalisation complete—LCH-05
22 Feb 2027V2 delivered—SRV-38, DSH-21, MDA-20, WEB-20, DQA-12

On this page