# 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.