159 lines
5.1 KiB
YAML
159 lines
5.1 KiB
YAML
# A building contractor's needs, as a portal needs spec: a small to
|
|||
|
|
# mid-sized firm doing surveys, design and rehabilitation, run by a few
|
||
|
|
# project managers with its own crew and a ring of subcontractors.
|
||
|
|
#
|
||
|
|
# This file is a target, not a description: there are no pages behind
|
||
|
|
# it yet, so `question_lint` fails every need. The trainer's job is to
|
||
|
|
# write the pages, aggregates.yaml and desks that turn it green, then
|
||
|
|
# word them until the personas route right.
|
||
|
|
#
|
||
|
|
# Groups (Kanidm): project_managers, hse, crew, subcontractors.
|
||
|
|
# Everyone else arrives anonymous.
|
||
|
|
#
|
||
|
|
# What the sector demands of the flows, and why the budgets are what
|
||
|
|
# they are:
|
||
|
|
# - Winning work is a pipeline, not an inbox: a lead is surveyed, then
|
||
|
|
# quoted, then won or lost. "answered" is not an outcome.
|
||
|
|
# - A subcontractor must be vetted before they set foot on site
|
||
|
|
# (company registration, trade approval, insurance, tax standing,
|
||
|
|
# site ID cards for their people). Documents go missing; the state
|
||
|
|
# machine has to say so and let them come back.
|
||
|
|
# - Deviation and near-miss reporting only works when it costs the
|
||
|
|
# reporter seconds. Three required fields, one submission, from a
|
||
|
|
# phone, and the safety officer owns closing it.
|
||
|
|
# - People move between firms constantly; onboarding a worker is the
|
||
|
|
# same shape as onboarding a subcontractor, one size smaller.
|
||
|
|
needs:
|
||
|
|
- id: win-survey-work
|
||
|
|
who: a building owner or housing board with a problem in their building
|
||
|
|
wants: someone qualified to look at it and say what it takes
|
||
|
|
lands_in: leads
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [won, lost]
|
||
|
|
max_steps: 2
|
||
|
|
max_fields: 5
|
||
|
|
|
||
|
|
- id: win-design-work
|
||
|
|
who: an owner who knows what they want built or changed
|
||
|
|
wants: drawings, a permit application, and a price
|
||
|
|
lands_in: leads
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [won, lost]
|
||
|
|
max_steps: 2
|
||
|
|
max_fields: 6
|
||
|
|
|
||
|
|
- id: vet-subcontractor
|
||
|
|
who: a trade firm that wants to work for us
|
||
|
|
wants: to be approved once, and then be asked
|
||
|
|
lands_in: subcontractors
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [approved, rejected]
|
||
|
|
max_steps: 2
|
||
|
|
max_fields: 7
|
||
|
|
|
||
|
|
- id: request-bids
|
||
|
|
who: a project manager with a job to staff
|
||
|
|
wants: approved subcontractors to see it and answer
|
||
|
|
enters: /jobs/post
|
||
|
|
enters_as: project_managers
|
||
|
|
lands_in: job_requests
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [awarded, withdrawn]
|
||
|
|
max_steps: 1
|
||
|
|
max_fields: 5
|
||
|
|
|
||
|
|
- id: answer-bid
|
||
|
|
who: an approved subcontractor
|
||
|
|
wants: to say yes to a job, with a price and a start date
|
||
|
|
enters: /jobs
|
||
|
|
enters_as: subcontractors
|
||
|
|
lands_in: bids
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [accepted, declined]
|
||
|
|
max_steps: 2
|
||
|
|
max_fields: 3
|
||
|
|
|
||
|
|
- id: hire-crew
|
||
|
|
who: a tradesperson looking for work
|
||
|
|
wants: to be considered, without writing a letter
|
||
|
|
lands_in: applicants
|
||
|
|
handled_by: project_managers
|
||
|
|
done_when: [hired, declined]
|
||
|
|
max_steps: 2
|
||
|
|
max_fields: 4
|
||
|
|
|
||
|
|
- id: report-deviation
|
||
|
|
who: anyone on site - crew or a subcontractor's people
|
||
|
|
wants: to report a hazard, a near miss or a defect before they forget
|
||
|
|
enters: /site
|
||
|
|
enters_as: crew
|
||
|
|
lands_in: deviations
|
||
|
|
handled_by: hse
|
||
|
|
done_when: [closed]
|
||
|
|
max_steps: 1
|
||
|
|
max_fields: 3
|
||
|
|
|
||
|
|
personas:
|
||
|
|
- id: housing-board-damp
|
||
|
|
need: win-survey-work
|
||
|
|
text: >
|
||
|
|
I chair the board of a housing cooperative from the seventies.
|
||
|
|
Two ground-floor flats have damp in the walls and we don't know
|
||
|
|
if it's drainage or the facade. We need someone to tell us.
|
||
|
|
|
||
|
|
- id: buyer-before-purchase
|
||
|
|
need: win-survey-work
|
||
|
|
text: >
|
||
|
|
We are about to buy an old timber house. Before we sign we want
|
||
|
|
a professional to go through it and tell us what is wrong with it.
|
||
|
|
|
||
|
|
- id: attic-conversion
|
||
|
|
need: win-design-work
|
||
|
|
text: >
|
||
|
|
We want to turn our attic into two bedrooms and a bathroom. We
|
||
|
|
need drawings and someone who handles the application to the
|
||
|
|
municipality.
|
||
|
|
|
||
|
|
- id: shop-to-flat
|
||
|
|
need: win-design-work
|
||
|
|
text: >
|
||
|
|
I own a former shop on the ground floor and want to make it a
|
||
|
|
flat. I have no idea what is allowed. Can you sort that out and
|
||
|
|
give me a price?
|
||
|
|
|
||
|
|
- id: electrician-firm
|
||
|
|
need: vet-subcontractor
|
||
|
|
text: >
|
||
|
|
We are a four-person electrical firm, fully certified. We would
|
||
|
|
like to get on your list so you call us when you need
|
||
|
|
electricians.
|
||
|
|
|
||
|
|
- id: scaffolder
|
||
|
|
need: vet-subcontractor
|
||
|
|
text: >
|
||
|
|
I run a scaffolding company. How do I get to do jobs for you?
|
||
|
|
|
||
|
|
- id: carpenter-jobseeker
|
||
|
|
need: hire-crew
|
||
|
|
text: >
|
||
|
|
I'm a certified carpenter with eight years on rehabilitation
|
||
|
|
jobs. Are you hiring?
|
||
|
|
|
||
|
|
- id: apprentice
|
||
|
|
need: hire-crew
|
||
|
|
text: >
|
||
|
|
I finish vocational school this spring and need an
|
||
|
|
apprenticeship as a bricklayer.
|
||
|
|
|
||
|
|
- id: loose-railing
|
||
|
|
need: report-deviation
|
||
|
|
text: >
|
||
|
|
The railing on the third level of the scaffold on the north
|
||
|
|
side is loose. Nobody got hurt but someone will.
|
||
|
|
|
||
|
|
- id: wrong-membrane
|
||
|
|
need: report-deviation
|
||
|
|
text: >
|
||
|
|
The bathroom membrane delivered today is not the one in the
|
||
|
|
specification. We stopped work on it.
|