BuilderVault
Build-your-own PMO blueprint

Stage gates and lifecycle control

Move projects through standard delivery stages with clear entry criteria, exit criteria, approvals, and evidence.

Finished outcome: A gate portal for initiation, planning, build, test, launch, closeout, and benefits review.

Business problem

A PMO does not need heavyweight software to enforce lifecycle discipline. It needs visible criteria, simple evidence capture, and consistent decisions.

Core data model

  • Projects
  • Lifecycle Stages
  • Gate Criteria
  • Gate Reviews
  • Evidence Links
  • Gate Decisions

Portals and workflows to build

Gate Portal

Show each project stage, required gate evidence, approvers, and current decision state.

Power Platform build

  • project stage dashboard
  • criteria checklist
  • evidence upload/link fields
  • approval status timeline

Automations

  • gate readiness reminder
  • gate review approval
  • missing evidence notification
  • stage transition update

Reporting

  • projects by lifecycle stage
  • gate pass/fail rate
  • overdue gates
  • stage cycle time

Stage Change Portal

Control transitions between stages and capture who approved the move.

Power Platform build

  • stage change request form
  • entry and exit criteria checklist
  • approval decision panel
  • audit history

Automations

  • stage change approval
  • project team notification
  • Power BI dataset refresh trigger
  • close previous stage tasks

Reporting

  • stage movement over time
  • blocked stage changes
  • average days per stage
  • approval bottlenecks

Power BI report pages

  • Lifecycle pipeline
  • stage aging
  • gate health
  • approval bottleneck dashboard

Implementation roadmap

  • Define standard stages and gate criteria.
  • Build project/stage data model.
  • Create gate checklist and evidence capture.
  • Automate gate approval and stage changes.
  • Publish lifecycle and gate-health dashboards.

Governance notes

  • Keep gate criteria objective and auditable.
  • Allow exceptions, but require reason and approver.
  • Use stage history instead of overwriting old decisions.

Next layer down: implementation details

Table build specs

EitherProjects

Portfolio record that moves through lifecycle stages and connects to controls, status, and reporting.

ColumnTypeRequiredNotes
Project NameSingle line textYesPrimary reporting label.
SponsorPerson or lookupYesExecutive owner.
Project ManagerPersonYesDelivery owner.
Current StageChoice or lookupYesInitiation, Planning, Build, Test, Launch, Closeout, Benefits Review.
Overall HealthChoiceYesGreen, Yellow, Red, Not Rated.
Baseline Launch DateDateNoOriginal approved launch date.
Forecast Launch DateDateNoCurrent expected launch date.

Relationships

  • One Project has many Gate Reviews, Risks, Issues, Changes, Status Updates, and Milestones.

Recommended indexes

  • Current Stage
  • Sponsor
  • Project Manager
  • Overall Health
  • Forecast Launch Date
EitherGate Reviews

Approval record for moving a project from one stage to the next.

ColumnTypeRequiredNotes
ProjectLookupYesParent project.
StageChoice or lookupYesStage being reviewed.
Review StatusChoiceYesDraft, Submitted, Approved, Approved with Exception, Rejected.
ApproverPersonYesDecision maker for the gate.
Exception ReasonMultiple lines textNoRequired when approved with exception.

Relationships

  • One Gate Review has many Evidence Links and Gate Decisions.

Recommended indexes

  • Project
  • Stage
  • Review Status
  • Approver
  • Decision Date

Recommended fields

  • Project: Project ID, Name, Sponsor, Project Manager, Current Stage, Health, Start Date, Target Launch Date, Baseline Launch Date, Stage Changed Date.
  • Gate Criteria: Stage, Criterion, Required Evidence Type, Owner Role, Required Flag, Sort Order.
  • Gate Review: Project, Stage, Review Status, Submitted By, Submitted Date, Decision, Decision Date, Approver, Exception Reason.
  • Evidence Link: Gate Review, Criterion, Evidence URL, Evidence Notes, Submitted By, Submitted Date.

Screens to build

  • Project lifecycle dashboard showing current stage, gate readiness, stage age, and blocked criteria.
  • Gate checklist screen with required criteria, evidence link, owner, and completion state.
  • Gate approval screen with decision, comments, exception flag, and next-stage target.
  • Audit timeline showing every stage change, approver, exception, and date.

Power Apps screen blueprints

Project manager and PMO leadProject Lifecycle Dashboard Screen

Show stage, gate readiness, missing evidence, and stage aging for a project.

Layout

  • Project header with health and stage
  • Horizontal lifecycle tracker
  • Gate readiness cards
  • Open exceptions and actions
  • Submit gate review button

Controls

  • cmpLifecycleTracker
  • galGateCriteria
  • galMissingEvidence
  • lblStageAge
  • btnSubmitGate

Formula notes

  • Gate submit enabled when all required criteria have evidence
  • Stage age uses DateDiff(StageChangedDate, Today())
  • Exception badge appears when gate has approved exception

Data sources

  • Projects
  • Gate Criteria
  • Gate Reviews
  • Evidence Links
Project managerGate Evidence Screen

Attach links, documents, and notes against each gate criterion.

Layout

  • Criteria list
  • Evidence details panel
  • Upload or link controls
  • Save evidence command bar

Controls

  • galCriteria
  • txtEvidenceUrl
  • txtEvidenceNotes
  • attEvidence
  • btnSaveEvidence
  • btnMarkCriterionReady

Formula notes

  • Evidence URL or attachment required for required criteria
  • Patch evidence rows by selected criterion
  • Refresh readiness summary after save

Data sources

  • Gate Criteria
  • Evidence Links
  • Gate Reviews
Gate approverGate Approval Screen

Decide whether a project can move to the next lifecycle stage.

Layout

  • Project and stage summary
  • Evidence checklist read-only view
  • Decision section
  • Exception reason panel
  • Approval history

Controls

  • galEvidenceReview
  • cmbGateDecision
  • txtGateComments
  • txtExceptionReason
  • btnSubmitGateDecision

Formula notes

  • Exception reason required for Approved with Exception
  • Approved decision updates Project.CurrentStage
  • Rejected decision keeps stage and creates remediation action

Data sources

  • Projects
  • Gate Reviews
  • Evidence Links
  • Actions

Dataverse solution component map

Create this as BV PMO Stage Gates using publisher prefix bvpmogate.

Tables

  • bv_project
  • bv_lifecyclestage
  • bv_gatecriterion
  • bv_gatereview
  • bv_evidencelink
  • bv_gateexception

Choices

  • bv_lifecyclestagechoice
  • bv_gatereviewstatus
  • bv_gatedecision
  • bv_evidencetype

Apps

  • Project Lifecycle Dashboard
  • Gate Evidence App
  • Gate Approval Portal

Cloud flows

  • Gate - Generate Criteria
  • Gate - Submit Review
  • Gate - Approval Decision
  • Gate - Stage Change Notification

Security roles

  • Gate Project Manager
  • Gate Approver
  • Gate PMO Admin
  • Gate Executive Viewer

Environment variables

  • Gate Review Team Email
  • Gate Exception Owner
  • Lifecycle Stage Config URL
  • Power BI Refresh Flow URL

Dashboards

  • Lifecycle Pipeline
  • Stage Aging
  • Gate Exceptions
  • Approval Bottlenecks

Power Fx snippets

btnSubmitGate.DisplayModeEnable submit gate review only when evidence is ready
Formula / code
If(
    CountRows(
        Filter(
            galGateCriteria.AllItems,
            Required = true && IsBlank('Evidence URL')
        )
    ) = 0,
    DisplayMode.Edit,
    DisplayMode.Disabled
)

Implementation notes

  • Use a generated checklist row per project and stage.
  • If attachments are used instead of URLs, check attachment count instead.
btnSubmitGateDecision.OnSelectApprove gate and move project stage
Formula / code
IfError(
    Patch(
        'Gate Reviews',
        varGateReview,
        {
            Decision: cmbGateDecision.Selected,
            'Decision Date': Now(),
            Comments: txtGateComments.Text
        }
    );
    If(
        cmbGateDecision.Selected.Value in ["Approved", "Approved with Exception"],
        Patch(Projects, varCurrentProject, { 'Current Stage': cmbNextStage.Selected, 'Stage Changed Date': Today() })
    ),
    Notify("Gate decision could not be saved.", NotificationType.Error),
    Notify("Gate decision saved.", NotificationType.Success)
);

Implementation notes

  • Gate approval and project stage update should be treated as one business transaction.
  • Create an action item when the decision is approved with exception.

Power Automate flow pseudo-steps

FlowGate - Generate Criteria

Trigger: When Project Current Stage changes.

Workflow map

List active Gate Criteria for the new stage. ->
Create project-specific checklist rows. ->
Assign evidence owners. ->
Notify project manager that stage checklist is ready.

Useful expressions

  • triggerOutputs()?['body/CurrentStage/Value']
  • items('Apply_to_each_criterion')?['Required']
FlowGate - Approval Decision

Trigger: When Gate Review status changes to Submitted.

Workflow map

Collect evidence links. ->
Start approval for gate approver. ->
Update Gate Review decision and decision date. ->
If approved, update Project Current Stage. ->
If approved with exception, create exception action.

Useful expressions

  • @equals(triggerOutputs()?['body/ReviewStatus/Value'], 'Submitted')
  • @or(equals(variables('Decision'), 'Approved'), equals(variables('Decision'), 'Approved with Exception'))

Status model

  • Stage In Progress
  • Gate Prep
  • Gate Submitted
  • Gate Approved
  • Gate Approved with Exception
  • Gate Rejected
  • Stage Changed

Permissions

  • Project managers update evidence and submit gate reviews.
  • Gate approvers decide assigned gate reviews but do not edit submitted evidence.
  • PMO admins maintain gate criteria and exception rules.
  • Executives view stage health and exception trends.

Workflow map

Project enters lifecycle stage ->
Generate stage criteria checklist ->
Project team attaches evidence ->
Submit gate review ->
Approver decides gate ->
Record exception if needed ->
Move project to next stage

Workflow logic

  • When a project enters a stage, create gate checklist rows from the criteria template.
  • When required evidence is complete, enable submit-for-gate-review.
  • On gate submission, route approval based on project size, risk, or stage.
  • On approval, update current stage, lock prior evidence, and notify the project team.

Power BI measures and calculations

  • Projects by Stage = COUNTROWS('Projects') grouped by Current Stage
  • Average Stage Age = AVERAGEX('Projects', DATEDIFF('Projects'[Stage Changed Date], TODAY(), DAY))
  • Gate Exception Rate = DIVIDE([Gate Approved With Exception], [Gate Decisions])
  • Overdue Gate Count = COUNTROWS(FILTER('Gate Reviews', 'Gate Reviews'[Due Date] < TODAY() && 'Gate Reviews'[Review Status] <> "Approved"))

MVP build sequence

  • Define five to seven lifecycle stages and no more than ten criteria per stage.
  • Create template criteria and generated project checklist rows.
  • Build the project lifecycle dashboard and gate checklist screen.
  • Add gate approval and stage-change automation.
  • Publish stage aging, gate status, and exception reporting.

Starter template downloads