// Essay — A Deployment Playbook, Applied to Microsoft Copilot
// UNLISTED preview route (pending author confirmation of the "applied to Copilot,
// not a Copilot case study" framing). Not linked from Writing until cleared.
function EssayCopilotPlaybook() {
  const { go } = useRoute();
  const [progress, setProgress] = React.useState(0);
  const [activeSection, setActiveSection] = React.useState('i');
  const articleRef = React.useRef(null);

  const sections = [
    { id: 'i',         numeral: 'I',   title: 'Use-case identification' },
    { id: 'ii',        numeral: 'II',  title: 'Data-access governance' },
    { id: 'iii',       numeral: 'III', title: 'Pilot-to-scale cadence' },
    { id: 'iv',        numeral: 'IV',  title: 'Adoption metric design' },
    { id: 'v',         numeral: 'V',   title: 'Value-realisation tracking' },
    { id: 'checklist', numeral: '·',   title: 'The deployment checklist' },
  ];

  React.useEffect(() => {
    const onScroll = () => {
      const el = articleRef.current;
      if (!el) return;
      const top = el.getBoundingClientRect().top;
      const height = el.scrollHeight - window.innerHeight;
      const scrolled = Math.min(1, Math.max(0, (-top) / height));
      setProgress(scrolled);
      for (let i = sections.length - 1; i >= 0; i--) {
        const s = document.getElementById('sec-' + sections[i].id);
        if (s && s.getBoundingClientRect().top < 120) { setActiveSection(sections[i].id); break; }
      }
    };
    window.addEventListener('scroll', onScroll, { passive: true });
    onScroll();
    return () => window.removeEventListener('scroll', onScroll);
  }, []);

  return (
    <main ref={articleRef} className="mx-auto max-w-[1320px] px-6 md:px-10 pt-10 md:pt-16 pb-20">
      <div className="rule-bottom pb-4 flex items-center justify-between smallcaps text-muted">
        <span>Essay</span>
        <span className="hidden md:inline">A deployment playbook, applied to Microsoft Copilot</span>
        <span className="tabular">June 2026</span>
      </div>

      <header className="mt-10 md:mt-16 grid md:grid-cols-12 gap-6 md:gap-10">
        <div className="md:col-span-2">
          <div className="smallcaps text-muted">Essay</div>
        </div>
        <div className="md:col-span-10">
          <h1 className="font-display font-semibold tracking-tight text-balance leading-[1.06]
                         text-[36px] sm:text-[44px] md:text-[58px]">
            A deployment playbook, applied to Microsoft Copilot.
          </h1>
          <p className="mt-5 font-display text-[20px] md:text-[23px] leading-[1.4] max-w-[52ch] text-ink2">
            Why buying the licence is procurement, and everything after it is the deployment.
          </p>
          <div className="mt-8 smallcaps text-muted">
            By <span className="text-ink">Prathyusha Vemula</span> · June 2026 · 11 min read
          </div>
        </div>
      </header>

      <div className="mt-16 grid md:grid-cols-12 gap-6 md:gap-10">
        <aside className="md:col-span-3 order-2 md:order-1">
          <div className="md:sticky md:top-28">
            <div className="smallcaps text-muted">Contents</div>
            <ol className="mt-4 space-y-3">
              {sections.map(s => (
                <li key={s.id}>
                  <a href={`#sec-${s.id}`} className={`flex items-baseline gap-3 transition-colors ${activeSection === s.id ? 'text-sienna' : 'text-ink2 hover:text-ink'}`}>
                    <span className="font-display text-sm w-7 text-right tabular">{s.numeral}</span>
                    <span className="leading-tight">{s.title}</span>
                  </a>
                </li>
              ))}
            </ol>
            <div className="mt-10 rule-top pt-5">
              <div className="smallcaps text-muted">Progress</div>
              <div className="mt-3 h-[2px] bg-ink/10 relative">
                <div className="absolute left-0 top-0 h-full bg-sienna transition-all duration-200" style={{ width: `${Math.round(progress * 100)}%` }} />
              </div>
              <div className="mt-2 tabular text-xs text-muted">{Math.round(progress * 100)}%</div>
            </div>
            <div className="mt-10 rule-top pt-5">
              <div className="smallcaps text-muted">Counter-arguments</div>
              <p className="mt-2 text-sm text-ink2 leading-relaxed">
                Replies welcome at <a className="link-underline text-ink" href="mailto:vemula.prathyusha@gmail.com">vemula.prathyusha@gmail.com</a>. The next revision cites disagreements that landed.
              </p>
            </div>
          </div>
        </aside>

        <article className="md:col-span-9 order-1 md:order-2">
          <div className="measure flow font-display text-[20px] md:text-[21px] leading-[1.65] text-ink">

            {/* Prologue */}
            <div className="mb-12 flow">
              <div className="smallcaps text-sienna">For leaders deciding whether to roll out Copilot</div>
              <p className="mt-4 font-display text-[24px] md:text-[28px] leading-[1.35] text-ink2">
                An enterprise buys Microsoft Copilot licences and calls that a deployment. It is not.
              </p>
              <p className="mt-8">
                Buying the licences is the easy half. The deployment is the work that comes after the contract is signed. You choose which workflows Copilot is allowed to touch. You govern the data it can reach. You run a pilot that tells you how people will actually behave at scale, then design for adoption. And at the end you check whether the workflow you bought it to improve has moved at all.
              </p>
              <p>
                Most of the disappointment with Copilot traces back to skipping that second half. The product installs in days. Changing the behaviour it was bought to produce takes a programme, and a programme is slow. Treat the install as the finish line, and twelve months on the rollout has one story to tell. A lot of licences show active, sitting over a workflow that still runs the way it always did.
              </p>
              <p>
                What follows is the discipline I would apply to a Copilot deployment in a regulated enterprise. None of it is Microsoft-specific. The same delivery discipline sat behind three deployments I have run: a GenAI Agent Assist rollout across 1,000+ banking associates, where average handle time dropped 30% on average; a GenAI HR assistant that went to production and cut escalations by roughly 40%; and a six-component agentic FinCrime workflow at a Tier-1 bank. Copilot is a different product. The work that decides whether it lands is the same.
              </p>
              <PullQuote>
                Buying the licence is the easy half. The deployment is everything that happens after the contract is signed.
              </PullQuote>
              <p>
                The five sections below follow the order the work happens in: use-case identification, data-access governance, pilot-to-scale cadence, adoption metric design, value-realisation tracking. The last section folds all of it into a one-page checklist.
              </p>
            </div>

            {/* I */}
            <h2 id="sec-i" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">I · Use-case identification</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Pick the one workflow with a measured, owned metric Copilot can move.</span>
            </h2>
            <p className="mt-6">
              "Where could Copilot help" is an unbounded question, and it gives you an unbounded rollout. Copilot can draft an email, summarise a meeting, search a document library. Almost any knowledge-worker task returns a plausible answer, and that is the trap. When every answer looks plausible, a deployment runs a year without ever reaching a verdict.
            </p>
            <p>
              The question that produces a deployment is narrower. Which workflow has a metric that is already measured, owned by a named person, and slow or costly enough that moving it matters to that person? All three conditions have to hold at once. Without a baseline there is nothing to compare against once Copilot is in, so the workflow cannot be evaluated. A metric with no owner loses its defender the moment the rollout starts competing for attention. And a metric that is already healthy is rarely worth the cost of changing, however well Copilot performs.
            </p>
            <p>
              In the GenAI Agent Assist programme the workflow was contact-centre call handling, the metric was average handle time, and the owner was the operations leader whose targets depended on it. That is why the result was legible. Handle time dropped 30% on average across the deployment and 40% on the strongest single deployment. The person who owned that number could say so out loud. Copilot faces the same test. A meeting-summary use case demos beautifully and then goes nowhere once it ships, because no executive owns a "meeting summary quality" number. Tie it instead to proposal turnaround time, or first-response time on a service queue. Now there is an owner, a baseline, and a verdict waiting at the end of it.
            </p>
            <p>
              Two or three such workflows in the first wave is plenty. Switching Copilot on broadly, so "everyone can find their own use", feels generous, and it is the most reliable way I know to end up with a rollout and no measurable result. Let breadth wait until the first workflows have produced evidence.
            </p>

            {/* II */}
            <h2 id="sec-ii" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">II · Data-access governance</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Copilot inherits whatever permission model you already have. If access is loose, it will quietly surface everything that was over-shared.</span>
            </h2>
            <p className="mt-6">
              Copilot does not bring a new security model with it. It reads what the signed-in user is already permitted to read across the Microsoft 365 estate, and it makes that reach usable in a way that clicking through folders never did. A document mis-shared to a wide group used to be technically accessible but buried, because nobody could find it. Now a user types a question and that document comes back as the answer. The exposure was always there. Copilot just removes the obscurity that had been quietly standing in for security.
            </p>
            <p>
              Data-access governance therefore belongs before the rollout. Think of the salary file in a mislabelled SharePoint library, the board pack in an over-permissioned Teams site, the folder of legal documents shared with "everyone in the company" three reorganisations ago. None of these are Copilot's fault. Every one of them surfaces the week Copilot goes live. Enable it first and audit permissions later, and you have chosen to discover your over-sharing through your own employees. That is the most expensive way there is to learn your permissions are wrong.
            </p>
            <p>
              The governance work before any pilot has a defined shape:
            </p>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li><strong>Audit permissions</strong> on the content Copilot will index, sensitive sites and libraries first.</li>
              <li><strong>Apply Microsoft Purview</strong> (Microsoft's governance and compliance suite) sensitivity labels and data-loss-prevention (DLP) policies, so confidential content is governed by classification rather than by who set up a folder.</li>
              <li><strong>Confirm the data boundary for your tenant.</strong> Microsoft documents Copilot processing within the Microsoft 365 service boundary, but the real behaviour shifts with connected agents, web grounding (when Copilot draws on public web data) and Graph connectors (which pull in third-party content). Verify it against your settings and write it into the rollout brief.</li>
              <li><strong>Decide retention, eDiscovery, and audit-log access.</strong> Copilot prompts and responses are records (legal-hold and litigation-search reach them), subject to your tenant's retention and audit configuration; decide who can see interaction history.</li>
            </ul>
            <p className="mt-6">
              In a regulated industry these are hard constraints. They belong in the room before the first workflow decision is made, while there is still time to act on them.
            </p>
            <p>
              Hold governance, people, and the customer together from the first decision. Lining them up one after another is what breaks. Governance left as a post-rollout review fails slowly, and the slow failures are the expensive ones. Settle it up front and the rest of the deployment is safe to run.
            </p>

            {/* III */}
            <h2 id="sec-iii" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">III · Pilot-to-scale cadence</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Run a pilot that predicts how the median employee will behave at scale.</span>
            </h2>
            <p className="mt-6">
              Most Copilot pilots are quietly designed to succeed. They recruit the enthusiasts, the people who asked for access in the first place, give them a few weeks, and write down what they say. The enthusiasts report that Copilot is useful, the pilot is called a success, and the organisation scales. Only then does it meet the median employee, who behaves nothing like the volunteer who shaped the result. Staff a pilot with enthusiasts and it tells you, faithfully, how enthusiasts behave. Most of your users are someone else entirely.
            </p>
            <p>
              A pilot that actually predicts scale is built the other way round. Choose the cohort to look like the eventual population: a deliberate mix of roles and tenure. It has to include people who never asked for Copilot and feel no pull towards it. Run it long enough to get past the novelty weeks, when curiosity inflates the usage numbers, and into the stretch where settled habit is all that remains. Then measure the specific workflow metric from section I. "Did you find Copilot useful?" only measures mood. "Did proposal turnaround time on this team drop?" measures what scaling will actually produce.
            </p>
            <p>
              The pilot also has to surface the failure modes that scale will amplify:
            </p>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Where Copilot returned a confident answer built on an out-of-date document, because the search index lagged behind the source of truth, and what that cost.</li>
              <li>Which permission problems appeared the moment a real cohort asked real questions.</li>
              <li>Where the workflow needed redesign, because Copilot inside an unchanged process often just speeds up a step that should not have existed.</li>
            </ul>
            <p className="mt-6">
              A pilot that drags these into the open earns its keep. A clean success slide gets contradicted at scale anyway, just later and in front of more people.
            </p>
            <p>
              After that, the cadence is deliberate. The first cohort gives you evidence and a redesigned workflow. The second wave tests whether that holds for a wider, less motivated group. Every wave has a decision gate: proceed, adjust, or stop. The metric makes that call. The enthusiasm in the room does not.
            </p>

            {/* IV */}
            <h2 id="sec-iv" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">IV · Adoption metric design</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Adoption is workflow change. Design the metric to detect it, beyond an active-licence count.</span>
            </h2>
            <p className="mt-6">
              The easiest Copilot metric to pull is the count of active licences, and it is the one most likely to mislead you. An active licence tells you a person opened Copilot. It tells you nothing about whether their work changed. Report adoption as active licences and you are really measuring whether the software got switched on, then treating that as the outcome you paid for.
            </p>
            <p>
              If adoption means workflow change, the metric has to be built to catch workflow change. Take the GenAI HR assistant deployment, which reached production. The real signal there was the roughly 40% drop in escalations. That was a measured result, and proof the workflow had genuinely shifted: questions that used to become tickets were now getting resolved at the assistant. None of that showed up in the count of employees who had opened it. The escalation number qualifies as an adoption metric because it tracks the behaviour the deployment set out to change.
            </p>
            <p>
              For Copilot, the number worth watching is a gap. Count everyone who has touched Copilot at all, then count the people for whom the target workflow now actually runs differently because Copilot is in it. A healthy deployment narrows that gap wave over wave. A deployment in trouble shows it straight away. A high licence-active number sits next to a flat workflow-changed one, a population that has tried Copilot resting on a workflow that still runs the old way. That divergence is the most informative thing in the whole rollout, and anyone counting only active licences never sees it.
            </p>
            <PullQuote>
              Watch the gap between licences that are active and workflows that have actually changed. That gap is the real state of the rollout.
            </PullQuote>
            <p>
              Design the metric for the behaviour you actually want. If the goal is faster, better-grounded customer responses, then the metric is response time and response quality on that queue. Copilot prompt volume is the wrong number: it can climb happily while the customer outcome sits exactly where it was. The point of a good metric is that an empty rollout cannot hide inside it.
            </p>

            {/* V */}
            <h2 id="sec-v" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">V · Value-realisation tracking</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Connect Copilot use back to the specific workflow metric it was bought to move.</span>
            </h2>
            <p className="mt-6">
              Value realisation is the discipline of answering one question without flinching: did the workflow metric from section I actually move, and will the owner of that metric say so? Everything earlier in the playbook exists to make that question answerable. Skip the baseline and there is no answer to give. Pilot only the enthusiasts and the answer comes back distorted. Build adoption on active licences and you have answered an easier question that nobody asked.
            </p>
            <p>
              The tracking needs a baseline and a cadence. The baseline is the workflow metric measured before Copilot arrives, captured back in section I, because there is no reconstructing it after the fact. The cadence is a fixed review at 30, 90, and 180 days after each wave. Each review compares the metric against that baseline with the owner in the room. Thirty days reads the early signal. Ninety days clears the novelty period. A hundred and eighty tells you whether the change held once Copilot stopped being the new thing. Anything that shows up at 30 days and has vanished by 180 was a curiosity, not a deployment outcome.
            </p>
            <p>
              This is also where the measurement has to stay honest about second-order effects. Copilot can cut the time to draft a document and quietly add to the time spent reviewing it, simply because there are now more drafts to review. Or it speeds up one step and shoves the bottleneck a step downstream instead of removing it. Watch only the headline metric and the review will report a win the end-to-end workflow never delivered. So ask two questions. Did the metric improve? And did the gain survive contact with the rest of the process and the customer waiting at the end of it?
            </p>
            <p>
              Build value realisation in from section I and a Copilot deployment can state its result in plain words. This workflow used to run this way, it now runs that way, the named metric moved by this much, and the person who owns the metric agrees. Leave it to the end and the only thing left to wave around is a count of active licences. That is procurement reporting on itself.
            </p>

            {/* checklist */}
            <h2 id="sec-checklist" className="scroll-mt-24 mt-16">
              <span className="block smallcaps text-sienna mb-2">The deployment checklist</span>
              <span className="font-display font-semibold text-[24px] md:text-[30px] leading-[1.16] tracking-tight">Decision criteria and risk gates, organised by the five stages.</span>
            </h2>
            <p className="mt-6">
              Each gate is a question with a required answer before the stage is allowed to close.
            </p>

            <h3 className="font-display font-semibold text-xl mt-10 text-teal">Stage I · Use-case identification</h3>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Does each candidate workflow have a metric that is <strong>already measured today</strong>? If there is no baseline, the use case cannot be evaluated, so defer it.</li>
              <li>Does that metric have a <strong>named owner</strong> who is accountable for it? An unowned metric has no defender when the rollout competes for attention.</li>
              <li>Is the workflow <strong>slow or costly enough that moving the metric matters</strong> to that owner? A healthy metric is not worth the change cost.</li>
              <li>Has the first wave been <strong>scoped to two or three workflows</strong>, not "Copilot for everyone"? Breadth comes after evidence.</li>
              <li><strong>Risk gate:</strong> if no candidate workflow clears all three conditions, do not start the rollout. Find a workflow that does.</li>
            </ul>

            <h3 className="font-display font-semibold text-xl mt-10 text-teal">Stage II · Data-access governance</h3>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Have <strong>permissions been audited</strong> on the SharePoint sites, Teams, and libraries Copilot will index, sensitive content first?</li>
              <li>Are <strong>sensitivity labels applied</strong> so confidential content is governed by classification, not by folder-setup memory?</li>
              <li>Is the <strong>Microsoft 365 data boundary</strong> stated explicitly in the rollout brief, so the risk review's first question is already answered?</li>
              <li>Have <strong>retention and eDiscovery treatment</strong> for Copilot prompts and responses been decided? They are records.</li>
              <li><strong>Risk gate:</strong> no pilot begins until the permission audit on in-scope content is complete. Enabling Copilot over un-audited permissions means discovering over-sharing through your own employees.</li>
            </ul>

            <h3 className="font-display font-semibold text-xl mt-10 text-teal">Stage III · Pilot-to-scale cadence</h3>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Does the pilot cohort <strong>resemble the eventual population</strong> (a mix of roles, tenure, and technical confidence, including non-volunteers)?</li>
              <li>Does the pilot run <strong>long enough to clear the novelty period</strong> and reach habit-level usage?</li>
              <li>Is the pilot measuring the <strong>chosen workflow metric</strong>, not satisfaction?</li>
              <li>Has the pilot been used to <strong>surface failure modes</strong> (stale-document answers, permission gaps, workflows needing redesign)?</li>
              <li>Does each wave have an <strong>explicit proceed / adjust / stop gate</strong>, decided by the metric?</li>
              <li><strong>Risk gate:</strong> a pilot staffed only by enthusiasts is not a valid basis for scaling. Rebuild the cohort.</li>
            </ul>

            <h3 className="font-display font-semibold text-xl mt-10 text-teal">Stage IV · Adoption metric design</h3>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Is the adoption metric defined as <strong>workflow change</strong>, not licence-active count?</li>
              <li>Are <strong>both numbers tracked</strong> (licences active and workflows changed), and is the gap between them being watched?</li>
              <li>Is the metric designed for <strong>the behaviour the deployment wants</strong>, not a vanity number like prompt volume?</li>
              <li><strong>Risk gate:</strong> if the only adoption number being reported to leadership is active licences, the deployment does not yet know its real state. Add the workflow-changed metric before scaling further.</li>
            </ul>

            <h3 className="font-display font-semibold text-xl mt-10 text-teal">Stage V · Value-realisation tracking</h3>
            <ul className="mt-4 space-y-2 list-disc pl-6 text-ink2">
              <li>Was the <strong>workflow baseline captured before Copilot</strong>, during Stage I?</li>
              <li>Is there a <strong>fixed 30 / 90 / 180-day review</strong> against that baseline, with the metric owner present?</li>
              <li>Does the review check <strong>second-order effects</strong> (bottlenecks moved downstream, review burden created, customer outcome at the end of the workflow)?</li>
              <li>Can the deployment state its result as <strong>"this metric moved by this much, and its owner confirms it"</strong>?</li>
              <li><strong>Risk gate:</strong> a result visible at 30 days but gone at 180 is not a deployment outcome. Do not report it as one.</li>
            </ul>

            <hr className="mt-16 hairline" />

            <p className="mt-10 text-base text-muted">
              Prathyusha Vemula leads AI transformation and automation at Concentrix as Group Lead (a Senior Consultant). Her work spans agentic AI, GenAI, RPA, and Automation Centre-of-Excellence strategy across 13 years in BFSI, Telecom, FMCG, and Manufacturing. Microsoft Certified Azure AI Engineer Associate (AI-102).
            </p>
            <p className="mt-6 text-sm text-muted">
              Tags · AI Transformation · Enterprise AI Deployment · AI Adoption · Data Governance · Value Realisation · Microsoft Copilot · Microsoft 365 · Change Management · Azure AI
            </p>
          </div>

          <div className="mt-16 rule-top pt-6 flex flex-wrap items-baseline justify-between gap-4 smallcaps text-muted">
            <span className="tabular">Published · June 2026</span>
            <a className="link-underline text-ink" href="mailto:vemula.prathyusha@gmail.com">vemula.prathyusha@gmail.com</a>
            <button onClick={() => go('writing')} className="link-underline">Back to writing →</button>
          </div>
        </article>
      </div>
    </main>
  );
}

Object.assign(window, { EssayCopilotPlaybook });
