Helios Energy backlog¶
Helios Energy installs residential solar panels in southern Europe. Sales runs on Salesforce, and the delivery crews track every installation in a custom app called Helios Delivery.
The delivery team works in three-week iterations. Every story below is real work
for the Helios Delivery app, and every one of them is a lab in this course.
| Story | Level | Title | Owner | Branch |
|---|---|---|---|---|
| US-014 | 1 | Show the crew how many panels a job needs | You | features/US-014-panels-required |
| US-016 | 1 | Let the crew leave notes on an installation | You | features/US-016-crew-notes |
| US-017 | 2 | Record who signed an installation off | Romain Panda | training/mate-us-017-sign-off |
| US-018 | 2 | Cap the crew size a planner can assign | Mariia Pyvovarchuk | training/mate-us-018-crew-capacity |
| US-019 | 2 | Generate a quote PDF from an opportunity | Romain Panda | training/mate-us-019-quote-pdf |
| US-052 | 3 | The Installation layout in two columns | Mariia Pyvovarchuk | training/mate-us-052-layout-columns |
| US-020 | 3 | Refactor InstallationScheduler | Mariia Pyvovarchuk | training/mate-us-020-apex-refactor |
| US-021 | 2 | Warn the planner when a crew is too small | You | features/US-021-crew-size-warning |
| US-024 | 2 | Crew size becomes mandatory | You | features/US-024-crew-size-required |
| US-026 | 2 | Crew capacity reference data and nightly recalculation | You | features/US-026-crew-capacity-data |
| US-027 | 2 | Check several installations against panel availability at once | You | features/US-027-schedule-by-availability |
| US-033 | 2 | Crews can read the panel batch cost | You | features/US-033-batch-cost-visibility |
| US-034 | 2 | Flat roofs need a crew of at least three | You | features/US-034-crew-override |
| US-038 | 2 | Tidy the Installation layout | You | features/US-038-installation-notes-tidy |
| US-041 | 2 | Installation handover checklist | You | features/US-041-handover-checklist |
| US-045 | 3 | Cancelled installations can no longer be back-dated | Romain Panda | fix/US-045-installation-date-hotfix |
| US-046 | 3 | Needs Reinspection status, added in production by an admin | You | retrofit/US-046-needs-reinspection |
| US-055 | 3 | Install Date says which day it means | Romain Panda | training/mate-us-055-install-date-help |
| US-056 | 3 | Show the panels each crew member has to lay | Romain Panda | training/mate-us-056-crew-workload |
The stories in full¶
US-014 - Show the crew how many panels a job needs¶
Owner: You
Branch: features/US-014-panels-required
Lab: 1.3
As a delivery crew member, I want to see the number of panels required on the installation record, so that I load the right quantity on the van.
Acceptance criteria:
- A Panels Required field exists on Installation
- It is visible to the crew permission set
- Planners can fill it in
- It appears on the Installation record page
US-016 - Let the crew leave notes on an installation¶
Owner: You
Branch: features/US-016-crew-notes
Lab: 1.7
As a delivery crew member, I want a free text notes field and a list view of the installations still open, so that I hand over cleanly to the next shift.
Acceptance criteria:
- A Crew Notes field exists on Installation
- An Open Installations list view exists, for every user
- The crew permission set grants the field
US-017 - Record who signed an installation off¶
Owner: Romain Panda
Branch: training/mate-us-017-sign-off
Lab: 2.1
As a delivery manager, I want the name of whoever signed the installation off, so that I can call them when the customer rings back.
Acceptance criteria:
- The field is on the layout
- Managers can read and write it
US-018 - Cap the crew size a planner can assign¶
Owner: Mariia Pyvovarchuk
Branch: training/mate-us-018-crew-capacity
Lab: 2.7
As a planner, I want the assignment flow to refuse a crew larger than the installation allows, so that we stop over-staffing small jobs.
Acceptance criteria:
- Installation_Assign_Crew checks the cap
- Planners can override it
US-019 - Generate a quote PDF from an opportunity¶
Owner: Romain Panda
Branch: training/mate-us-019-quote-pdf
Lab: 2.9
As a sales rep, I want a button that generates the quote PDF, so that I stop rebuilding it in a spreadsheet.
Acceptance criteria:
- The permission is granted to managers
US-052 - The Installation layout in two columns¶
Owner: Mariia Pyvovarchuk
Branch: training/mate-us-052-layout-columns
Lab: 3.2
As a planner, I want the Information section of an installation to use both of its columns, so that I see the whole installation without scrolling.
Acceptance criteria:
- The crew capacity cap is in the second column of the Information section
- Every field that was on the layout is still on it
US-020 - Refactor InstallationScheduler¶
Owner: Mariia Pyvovarchuk
Branch: training/mate-us-020-apex-refactor
Lab: 3.4
As a developer, I want the scheduler split into testable methods, so that we stop being afraid of it.
Acceptance criteria:
- Behaviour unchanged
- Coverage above the threshold
US-021 - Warn the planner when a crew is too small¶
Owner: You
Branch: features/US-021-crew-size-warning
Lab: 2.2
As a planner, I want one warning on the installation when the assigned crew is smaller than the panels need, so that I fix it before the van leaves, and not a new task every time I save.
Acceptance criteria:
- The existing Installation Crew Warning flow compares the crew with the panels
- The warning is sent once
US-024 - Crew size becomes mandatory¶
Owner: You
Branch: features/US-024-crew-size-required
Lab: 2.3
As a planner, I want Crew Size to be mandatory on every installation, so that no job is scheduled without a crew.
Acceptance criteria:
- Crew Size is required
- Existing records are backfilled with the default of 2, by a batch that holds on any volume
US-026 - Crew capacity reference data and nightly recalculation¶
Owner: You
Branch: features/US-026-crew-capacity-data
Lab: 2.4
As a planner, I want capacity rules per crew type and a nightly job that recalculates them, so that the planning board is right every morning and I get a summary of it in my inbox.
Acceptance criteria:
- 12 Crew Capacity records exist in every org
- The batch is scheduled nightly
- The planner receives the morning summary email
US-027 - Check several installations against panel availability at once¶
Owner: You
Branch: features/US-027-schedule-by-availability
Lab: 2.5
As a planner, I want to check a list of installations against panel availability in one go, so that I can fill a week of planning without opening every record.
Acceptance criteria:
- InstallationScheduler returns the installations that can take a crew on a given day
- Coverage stays above the threshold
US-033 - Crews can read the panel batch cost¶
Owner: You
Branch: features/US-033-batch-cost-visibility
Lab: 2.6
As a delivery crew member, I want to see the cost of the batch I am installing, so that I report damage with the right value.
Acceptance criteria:
- The crew can read Panel Batch Cost
US-034 - Flat roofs need a crew of at least three¶
Owner: You
Branch: features/US-034-crew-override
Lab: 2.7
As a planner, I want the assignment flow to put at least three people on a flat roof, so that the ballast is carried safely.
Acceptance criteria:
- Installation_Assign_Crew raises the crew on flat roofs
- Mariia's crew cap from US-018 still wins when the two disagree
US-038 - Tidy the Installation layout¶
Owner: You
Branch: features/US-038-installation-notes-tidy
Lab: 2.8
As a planner, I want Crew Size above Install Date on the installation layout, so that I see the staffing before the date.
Acceptance criteria:
- Crew Size sits above Install Date on the Installation layout
US-041 - Installation handover checklist¶
Owner: You
Branch: features/US-041-handover-checklist
Lab: 2.9
As a planner, I want a handover checklist on the installation with its reference items, so that a job is only closed when the checklist is complete.
Acceptance criteria:
- A Handover_Item__c object exists
- 10 reference checklist items are loaded in every org
- The existing close check also blocks on an incomplete checklist
US-045 - Cancelled installations can no longer be back-dated¶
Owner: Romain Panda
Branch: fix/US-045-installation-date-hotfix
Lab: 3.7
As a planner, I want to back-date an installation I cancel to the day it was called off, so that the week can be closed.
Acceptance criteria:
- Cancelled installations are exempt from the date rule, like completed ones
- The rule still refuses to move a planned installation into the past
US-046 - Needs Reinspection status, added in production by an admin¶
Owner: You
Branch: retrofit/US-046-needs-reinspection
Lab: 3.7
As the release manager, I want the status an admin added in production to be in the repository, so that the next release does not take it away from the planners.
Acceptance criteria:
- Needs Reinspection is a value of Installation__c.Status__c on integration
- Nothing else from production came with it
US-055 - Install Date says which day it means¶
Owner: Romain Panda
Branch: training/mate-us-055-install-date-help
Lab: 3.10
As a crew lead, I want Install Date to say whether it is the day we go on site or the day the panels arrive, so that nobody drives to an empty site.
Acceptance criteria:
- Install Date has a help text naming the day it means
US-056 - Show the panels each crew member has to lay¶
Owner: Romain Panda
Branch: training/mate-us-056-crew-workload
Lab: 3.3
As a planner, I want to see how many panels each person of the crew has to lay, so that I stop working it out in my head.
Acceptance criteria:
- A Crew Workload formula on Installation
- On the layout, readable by managers
The team¶
| Who | Role |
|---|---|
| Victor Squeeker | Release manager. Left the company between Level 2 and Level 3, which is why the pipeline is yours now. |
| Mariia Pyvovarchuk | Senior contributor. Merges before you do, on the files you touched. |
| Romain Panda | Contributor, works on the quoting side of the app. |
| You | New joiner in Level 1, trusted contributor in Level 2, release manager in Level 3. |