Back to top
← Selected work

Case study 02

Enterprise Demand Management

A governance workflow used by more than 45,000 people, redesigned so each role sees only the part of it they own.

Role
Technical Lead, UX Design
Scope
Discovery · Flow · Experience · Interface
Users
45,000+
Platform
Power Apps · SharePoint · Power Automate
Sector
Enterprise IT services
A laptop on a wooden desk in a sunlit room, running the demand workflow: an approver moves from the overview to their approvals, opens a demand and approves it. The phone beside the laptop is switched off.

(Context)

A governance workflow,at company scale.

An internal enterprise platform for demand management. Someone raises a demand, the system routes it to the approver who owns that decision, and an approved demand becomes a service request in a downstream system.

More than 45,000 people used it, in seven roles, on Power Apps, SharePoint and Power Automate. I led the UX design, from the workflow through to the interface.

(The problem)

45,000+ people.One experience for all of them.

RequesterApproverExceptionCU L2CU L3CU L4SR Initiator

A single demand could travel through seven hands before it closed.

Governance was not the thing to fix. Every approval level existed for a reason, and none of them could go. The structure was the problem: one interface served every role, so the information architecture followed the system’s shape rather than the person’s task, and each person had to work out which part of it was theirs.

  1. 01RequesterRaises the demand.
  2. 02System assignmentRoutes it to the right approver.
  3. 03ApproverHolds the decision.
  4. 04DecisionFour ways out, not one.

Four stages, in a straight line. That version of the workflow fits on a slide, and it is the version almost nobody experiences.

(Usability impact)

What that cost the people using it.

  • 01

    Relevance was the reader’s job

    Every role opened the same navigation and the same record, so deciding what mattered came before the task could start.

  • 02

    Actions were harder to find

    The ways a demand can leave an approver’s hands sat among fields that approver never filled in.

  • 03

    The process had to be learned first

    You had to understand how the governance worked before the product made sense. Recall was doing the work that recognition should have done.

  • 04

    Every handoff was a place to wait

    A demand could move through several people and multiple approval levels, and each one added somewhere for it to sit.

ApproveRejectRefer backExceptionRequesterSystem assignmentApproverDecisionSR initiatorExternal systemEndCU L2ReviewCU L3ReviewCU L4Final level
  1. Requester
  2. System assignment
  3. Approver
  4. Decision
    • ApproveSR initiator → External system
    • Refer backReturns to requester
    • RejectEnds
    • ExceptionCU L2 → CU L3 → CU L4
Admin
Override and reassign at any stage
Automation layer
Assignment · notifications · reminders · SLA · reassignment · exception

Approve is one of four outcomes. Refer back returns the demand to the requester, reject closes it, and an exception climbs a three-level review ladder. Every one of those paths is a different screen for a different person, which is the whole design problem in one picture.

The problem was not the interface’s complexity.It was the distance between the system’s structure and the person’s context.

(Design goal)

What success had to look like.

No target number was set for the redesign. The goals were about the experience; the measure came afterwards.

  • 01

    Show each role its own work

    Open the product and see the demands you are responsible for, not the whole system.

  • 02

    Put the decision where the information is

    Whatever a person has to decide should sit with the record they are deciding on.

  • 03

    Let the system carry the deadlines

    Routing, reminders and SLA are the system’s job, not something a person has to remember.

(UX strategy)

Understand the system,then the people in it.

  • 01

    Workflow mapping

    The demand end to end: every stage, every branch, every person it passes through.

  • 02

    User research

    Talking to people in each role, and looking at how they actually moved a demand along.

  • 03

    Personas and roles

    Each role written down as a persona: its goal, its context, and what it needs to act.

  • 04

    Information architecture

    Testing whether navigation and the record were organised around the task or around the system’s modules.

  • 05

    Task-flow analysis

    Walking the core tasks to find the steps, screens and decisions that were not earning their place.

  • 06

    Synthesis

    Findings agreed with the engineering team and stakeholders, then ordered by what to change first.

(Personas and contexts)

Different personas.Different contexts.

Seven roles use this workflow, and each one arrives with a different goal, a different amount of context and a different next action. A requester wants to know where their demand stands. An approver has a decision in front of them. An SR initiator needs the approved demand and the fields to raise the service request.

That is the whole design problem: the same product, for people whose work has almost nothing in common.

  1. Persona
  2. Goal
  3. Context
  4. Task
  5. Information
  6. Action

(Findings)

The same experience was trying to serve everyone.

  • 01

    Information overload

    One record, every field, for every role. The interface asked each person to filter it themselves.

  • 02

    Role and context mismatch

    The structure followed the system’s modules. People arrived with a task.

  • 03

    Dependence on system knowledge

    Confidence came from knowing the process already, which is a poor thing for a product to require.

  • 04

    Too many handoffs

    A demand could move through several people and multiple approval levels before it closed.

(Design principle)

Design around the person, not the system.

The system knew what role you had.The experience should too.

(Solution and architecture)

One workflow.Four experiences.

Before

One navigation, every module, the same record for everyone.

After

The role sets the navigation, the record shows the stage, and the actions belong to the decision in front of you.

  • 01 · Requester

    Sees what they need.

    Raise a demand, then track where it sits. Nothing about approval mechanics they will never touch.

    The overview as a requester sees it: cards for active requests and requests awaiting a response, recent demands, and a navigation with only Overview, My Requests and Support.
  • 02 · Approver

    Sees what they need to decide.

    The record, the history, and the four actions (approve, refer back, reject, raise an exception), grouped around the decision itself.

    Recording: an approver goes from the overview to My Approvals, scrolls the queue, opens a demand, reads through it, and approves it.
  • 03 · Admin

    Sees what they need to manage.

    Queue health, reassignment, and the override path when a demand stalls where it shouldn’t.

    The overview as an admin sees it: total active demands, escalations today and pending configuration, with the full administration navigation: users and roles, skill clusters, escalation matrix and more.
  • 04 · SR Initiator

    Sees what they need to execute.

    The approved demand and the fields required to raise the service request downstream. Nothing upstream.

    The overview as an SR initiator sees it: the SR queue and approved demands waiting for a service request, with a navigation reduced to Overview, SR Queue and Support.

Same product. Same governance. Different context.

(Interaction design)

Designing the decision,not the form.

The interface, annotated

Recording: an approver scrolls a demand's review page (request details, validation checks, approval progress and activity), then refers it back, choosing a reason and writing a comment.
The decision panel beside a demand: the SLA countdown, then Approve, Refer Back, Exception and Reject grouped together, with the demand's status above and its exception state below.
  1. 01

    Context

    The form surfaces the information relevant to the current stage, not all thirty fields at once.

  2. 02

    Decision

    Approval actions are grouped around the decision the user actually has to make.

  3. 03

    History

    Previous actions stay visible instead of disappearing into the workflow.

  4. 04

    Validation

    Anything that blocks the next action is surfaced before the user commits to it.

  5. 05

    Role

    The experience changes depending on what the person needs to accomplish.

What the system remembers, so nobody has to

  • 01

    Auto assignment

    Routes on rules, not on memory.

  • 02

    Notifications

    Tells the next person it is theirs.

  • 03

    Reminders

    Before the clock runs out.

  • 04

    SLA tracking

    The clock is the system’s job.

  • 05

    Reassignment

    When someone is out or wrong.

  • 06

    Exception workflow

    Escalates without a phone call.

  • 07

    Auto-rejection

    After a configured SLA.

I designed the experience around the automation: what it should surface, when it should interrupt, and what it should never ask a person to remember. The flows themselves were built in Power Automate by the engineering team.

Recording: a demand's approval progress (submitted, automatically assigned, in review, with exception and final approval still ahead), then its activity log of user, automatic and system events.

One set of parts, reused by every view

Underneath the screens is one design system: brand colour, tokens, type and components defined once, then reused by every role’s view and every state a demand can be in.

Brand colours: primary blue, technology blue, technology purple, deep purple, technology cyan, deep navy and white, each with its token and the job it does.
Colour
The type hierarchy: page title, section title, field label and value, table header and value, status, metadata, helper and error text, each with its size, weight and family.
Type hierarchy
Status indicators: a badge for every demand state, priority badges, SLA badges and progress bars.
Status
Approval components: a demand's full lifecycle as a timeline, approval cards with SLA countdowns, and the decision panel.
Workflow components

(Validation)

Prototype. Test. Refine.

The role views and the decision screens were prototyped and reviewed with stakeholders and the engineering team, then tested with employees working through their own tasks.

Each round came back to the same three questions: what does this role need to see, what decision is being made here, and what should the system remember so that nobody has to.

  1. Prototype
  2. Test
  3. Observe
  4. Refine

(Outcome)

Scale unchanged.Experience rebuilt.

45K+
Active users
7
Roles, each with its own view
7%
Improvement in adoption
1
Connected workflow
  • 01

    For the people using it

    Each role opens the product on its own work, and the decision sits with the record it belongs to.

  • 02

    In the product

    One connected workflow, a view per role, and an automation layer that does the routing, the reminders and the clock.

  • 03

    Measured

    Adoption improved by 7%. It is the one number this project measured, so it is the only one here.


From a shared enterprise portal to an experience that understands who is using it.

(My role)

I wasn’t handed a screen to design.

I worked across the problem: understanding the workflow, shaping the experience, designing the interfaces, and working through how the product could actually operate in production.

  1. UX strategy
  2. Information architecture
  3. Interaction design
  4. UI design
  5. Prototyping
  6. Validation
  7. Design system

(Takeaway)

What this one taught me.

Enterprise software rarely fails because it cannot do enough.It fails when it leaves every person to work out which part of it is theirs.

One complicated system down.

What’s next?


© 2026 Upendra Rangoju