<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Workshop Notes — Keno Vigil</title>
    <link>https://thinkkeno.com/notes/</link>
    <atom:link href="https://thinkkeno.com/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Notes from the workshop of forward motion: product leadership, confidence systems, physical AI, endurance, and building Keel.</description>
    <language>en-us</language>
    <item>
      <title>Agentic Software Engineering: What Changes When Agents Do the Implementation</title>
      <link>https://thinkkeno.com/agentic-software-engineering/</link>
      <guid>https://thinkkeno.com/agentic-software-engineering/</guid>
      <pubDate>Mon, 07 Sep 2026 08:37:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Agentic software engineering is what changes when an AI system doesn&#39;t just suggest code but runs the loop itself: reading a task, writing the implementation, running it, checking the result, and deciding what to do next, with a person setting the boundaries instead of typing every line. As of September 2026, the shift isn&#39;t about the model getting smarter. It&#39;s about four jobs moving to a different owner: the spec has to be precise enough for a machine to execute without asking a follow-up question, someone has to orchestrate which agent does what and in what order, verification has to happen on code nobody personally wrote, and accountability for what ships still has to land on a person, not the tool that typed it.&lt;/p&gt;
&lt;h2&gt;What is agentic software engineering?&lt;/h2&gt;
&lt;p&gt;Agentic software engineering is the practice of building software where an AI system runs an autonomous loop, deciding an action, executing it, checking the result, and repeating, to implement code rather than only suggesting it one line at a time. A person still defines the task, the constraints, and what counts as done.&lt;/p&gt;
&lt;p&gt;The clearest definition I&#39;ve found for what actually counts as &amp;quot;agentic&amp;quot; comes from Simon Willison, a developer well known for tracking this space closely: an agent is a system that runs a loop of deciding an action, taking it, and checking the result, repeating until the job is done or it gives up. That loop, not the size of the model behind it, is what separates an agentic coding tool from an autocomplete-flavored assistant. Tools like GitHub Copilot started on the assistant end of that line, finishing a line you were already typing. Tools like Cursor and Claude Code can sit further along it, taking a task, editing multiple files, running the tests, and iterating on the failures without you approving every intermediate step. This is the mechanism behind the shift I wrote about in &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;Will AI Replace Software Engineers in 2026?&lt;/a&gt;: it&#39;s not that a smarter model replaces the engineer, it&#39;s that the loop moves from human-typed to agent-run, and the job becomes running that loop well.&lt;/p&gt;
&lt;h2&gt;How is agentic software engineering different from AI-assisted development?&lt;/h2&gt;
&lt;p&gt;AI-assisted development keeps a person driving: they write most of the code and use AI for suggestions, boilerplate, or explanations, staying in the editor the whole time. Agentic software engineering hands the driving to the agent for a bounded task, and the person&#39;s job moves to setting up that task and checking the result.&lt;/p&gt;
&lt;p&gt;Here&#39;s the comparison I actually walk a team through when someone asks whether we&#39;re &amp;quot;doing AI&amp;quot; or &amp;quot;doing agents,&amp;quot; because the two get treated as the same thing and they aren&#39;t:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;AI-assisted development&lt;/th&gt;
&lt;th&gt;Agentic software engineering&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Who writes each line of code&lt;/td&gt;
&lt;td&gt;The developer, with suggestions from the tool&lt;/td&gt;
&lt;td&gt;The agent, inside boundaries the developer set&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where your attention goes&lt;/td&gt;
&lt;td&gt;The code as it&#39;s typed&lt;/td&gt;
&lt;td&gt;The task definition and the finished diff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What has to be specified upfront&lt;/td&gt;
&lt;td&gt;Not much: you can course-correct line by line&lt;/td&gt;
&lt;td&gt;Acceptance criteria and edge cases, before the agent starts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How a mistake surfaces&lt;/td&gt;
&lt;td&gt;Usually right away, mid-keystroke&lt;/td&gt;
&lt;td&gt;After the agent finishes, in review or in tests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who is accountable for what ships&lt;/td&gt;
&lt;td&gt;The developer, by default&lt;/td&gt;
&lt;td&gt;The developer, by explicit decision, named rather than assumed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Neither column is the &amp;quot;better&amp;quot; way to build software. In my experience, most real work still sits in the assisted column, and it should: a lot of engineering is small, contextual, and faster to just type than to specify. The agentic column earns its keep on bounded, well-defined tasks, a migration script, a test suite for an existing module, a defined feature with a clear spec, where the cost of writing a precise task description is lower than the cost of typing the implementation by hand.&lt;/p&gt;
&lt;h2&gt;What changes about specification when an agent writes the implementation?&lt;/h2&gt;
&lt;p&gt;A spec written for a human engineer can lean on shared context and a follow-up conversation to fill gaps. A spec handed to an agent has to state the acceptance criteria, edge cases, and constraints up front, because the agent will execute exactly what&#39;s written rather than pause to ask a clarifying question the way a teammate would.&lt;/p&gt;
&lt;p&gt;I&#39;ve watched this go wrong the same way more than once: a task description that would have been perfectly fine handed to a mid-level engineer, because that engineer would ask &amp;quot;wait, what should happen if the input is empty?&amp;quot; before writing a line, produces confidently wrong code from an agent that just picks an answer and moves on. The gap isn&#39;t intelligence. It&#39;s that a person absorbs a hallway conversation&#39;s worth of unstated context, and an agent only has what&#39;s in the prompt and the repository in front of it. The honest fix is unglamorous: write down the edge cases, the acceptance criteria, and the definition of done before the agent starts, the same discipline behind test-first and behavior-first specification, just enforced earlier and more literally than it used to be.&lt;/p&gt;
&lt;h2&gt;Who orchestrates the work once an agent is doing the typing?&lt;/h2&gt;
&lt;p&gt;Orchestration becomes a named job once agents do the implementation: someone has to decide which task goes to which agent, in what order, and what happens when one agent&#39;s output feeds the next step. That job used to live implicitly in whoever picked up the ticket; with agents it has to be explicit or the work stalls or duplicates.&lt;/p&gt;
&lt;p&gt;One thing nobody talks about enough: a single agent working one task at a time doesn&#39;t need much orchestration, you just wait for it to finish. The job shows up the moment more than one task is in flight, because agents don&#39;t naturally know that the database migration another agent is writing needs to land before the feature branch that depends on it. On a small team, this can be one person&#39;s judgment call, made explicitly instead of assumed. On a larger one, it starts to look like planning work that used to be distributed across a team&#39;s shared understanding of the codebase, now concentrated into whoever is sequencing the agents. The same bounded-pilot discipline I laid out in &lt;a href=&quot;/ai-adoption-framework/&quot;&gt;an AI adoption framework&lt;/a&gt;, start small, prove workflow fit, then scale, is the safest way I&#39;ve found to hand a team its first orchestration job instead of turning every agent loose on the backlog at once.&lt;/p&gt;
&lt;h2&gt;How do you verify code that no person on the team actually wrote?&lt;/h2&gt;
&lt;p&gt;You verify it the same way you&#39;d verify code from a contractor you&#39;ve never met: tests that actually exercise the behavior, a human review focused on the decisions rather than the syntax, and running it against real data before it reaches production. The agent&#39;s confidence in its own output is not evidence; the tests and the review are.&lt;/p&gt;
&lt;p&gt;The honest answer is that this shifts what review time is for. Reviewing a human teammate&#39;s pull request, you&#39;re often catching style, naming, and small logic slips, because you trust they understood the problem the way the team understands it. Reviewing an agent&#39;s diff, the style is usually fine and consistent; what needs checking is whether it solved the right problem, handled the edge cases the spec actually named, and didn&#39;t quietly change behavior somewhere the diff doesn&#39;t draw your eye to. That&#39;s a different skill than line-by-line code review, closer to auditing a decision than proofreading a paragraph.&lt;/p&gt;
&lt;h2&gt;Who is accountable when an agentic system ships a bug?&lt;/h2&gt;
&lt;p&gt;The person who approved the change is accountable, the same as if they had merged a junior engineer&#39;s pull request without reading it. An agent can draft the fix, but a name has to be attached to the decision to ship it, or accountability quietly disappears the moment something breaks in production.&lt;/p&gt;
&lt;p&gt;I spent years leading engineering through acquisitions inside a regulated clinical research organization, where &amp;quot;who approved this and on what evidence&amp;quot; wasn&#39;t a philosophical question, it was an audit question with a real answer expected. That habit is the one I&#39;d bring into agentic work before any other: the agent can write the code, but the merge, the deploy, and the decision to trust the tests still belong to a person whose name is on the approval. It depends, but in every version I&#39;ve seen work, the team that kept a clear, boring answer to &amp;quot;who approved this&amp;quot; was the one that could actually use agents for more of the implementation over time, not less, because nobody was quietly hoping the tool would absorb the blame if something went wrong.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>AI Product Strategy: Start With the Decision, Not the Model</title>
      <link>https://thinkkeno.com/ai-product-strategy/</link>
      <guid>https://thinkkeno.com/ai-product-strategy/</guid>
      <pubDate>Fri, 04 Sep 2026 08:39:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;An AI product strategy is the portfolio-level decision about where AI investment can build a durable advantage in a product, and where it&#39;s a commodity everyone can buy the same way, made before any single feature or rollout gets funded. As of September 2026, after 15 years leading product and engineering teams, including through eight acquisitions inside a regulated clinical research organization, I keep seeing companies confuse this with a features list: a slide of things AI could do, ranked by how impressive the demo looks. That&#39;s not a strategy. A strategy says which parts of the roadmap AI is even allowed to touch this year, and why those parts and not the others, before anyone opens a chat window to check what&#39;s possible.&lt;/p&gt;
&lt;h2&gt;What is AI product strategy?&lt;/h2&gt;
&lt;p&gt;AI product strategy is the decision about which parts of a product roadmap deserve AI investment, and which don&#39;t, made at the portfolio level before any single feature is scoped. It answers where AI can build a durable advantage versus where it&#39;s a commodity anyone with API access can copy by next quarter.&lt;/p&gt;
&lt;p&gt;I&#39;ve sat through this pitch a dozen ways over eight acquisitions and as many product reviews: a target company or an internal team has a list of things AI could plausibly help with, and the strategy conversation stops at ranking the list. What&#39;s usually missing is the harder question underneath: which of these would still matter if a competitor stood up the same model in a weekend? A roadmap has room for both kinds of ideas. Conflating them is how a company spends its differentiation budget on something anyone can buy off the shelf, and calls the receipt a strategy.&lt;/p&gt;
&lt;h2&gt;How is AI product strategy different from an AI adoption framework?&lt;/h2&gt;
&lt;p&gt;An AI product strategy decides whether AI belongs on the roadmap at all and where. An AI adoption framework decides how a tool that&#39;s already been chosen moves from a bounded pilot to full rollout inside one team. Strategy picks the arena. Adoption runs the sequence once you&#39;re standing in it.&lt;/p&gt;
&lt;p&gt;I wrote the five-stage version of that sequence, readiness, a bounded pilot, workflow fit, evidence, scale, in &lt;a href=&quot;/ai-adoption-framework/&quot;&gt;an AI adoption framework&lt;/a&gt;. That framework assumes the arena question is already settled: someone has decided this team, this workflow, is worth testing a tool against. Strategy is the layer above it. It&#39;s where a company decides which two or three workflows across the whole roadmap are even candidates for that framework this year, and which aren&#39;t, no matter how enthusiastic the internal pitch is. Skip straight to adoption without a strategy first, and a company ends up running five bounded pilots in five unrelated corners of the business, none of them chosen because they mattered more than the ones that never got tried.&lt;/p&gt;
&lt;h2&gt;How is AI product strategy different from AI product discovery?&lt;/h2&gt;
&lt;p&gt;AI product discovery tests one feature-level decision: whether a real user pain, real data, an acceptable risk, and workflow fit line up for a specific idea. AI product strategy decides which decisions are even worth putting through that test, and in what order, based on where the company already holds an advantage a competitor can&#39;t copy quickly.&lt;/p&gt;
&lt;p&gt;I laid out the four discovery checks, pain, data, risk, workflow fit, in &lt;a href=&quot;/ai-product-discovery/&quot;&gt;AI product discovery&lt;/a&gt;. Every one of those checks assumes you already know which feature you&#39;re testing. Strategy is what decides that queue. Without it, discovery turns into first-come-first-served: whoever pitches loudest gets tested first, and the team spends a quarter validating something that was never going to be defensible even if every check passed. Strategy doesn&#39;t replace discovery. It decides which ideas earn a discovery cycle before a model ever gets picked.&lt;/p&gt;
&lt;h2&gt;Where does AI actually create a durable advantage in a product?&lt;/h2&gt;
&lt;p&gt;A durable advantage shows up where a company holds data, a workflow, or a cost of being wrong that a competitor can&#39;t replicate by calling the same API: proprietary usage data that compounds over time, a workflow embedded deep enough that removing it breaks real work, or hard-won practice managing a failure mode a newcomer hasn&#39;t seen yet. Generic model capability, alone, is not an advantage.&lt;/p&gt;
&lt;p&gt;This is close to what investors call an economic moat, the term Warren Buffett made famous for judging which businesses can defend their profits once everyone can see how they&#39;re made. The same test applies to a single AI feature, at a smaller scale. Here&#39;s the version I actually walk a roadmap through:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Commodity capability&lt;/th&gt;
&lt;th&gt;Defensible position&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data&lt;/td&gt;
&lt;td&gt;Public or generic training data; a competitor&#39;s model performs about the same&lt;/td&gt;
&lt;td&gt;Proprietary usage data that compounds with every real customer interaction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow depth&lt;/td&gt;
&lt;td&gt;A bolt-on feature, easy to switch off or replace&lt;/td&gt;
&lt;td&gt;Embedded deep enough that removing it breaks a real, daily workflow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost of a wrong answer&lt;/td&gt;
&lt;td&gt;Low; a bad output is quietly ignored or redone&lt;/td&gt;
&lt;td&gt;High, and already understood, from a company with years of practice managing that exact failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speed to copy&lt;/td&gt;
&lt;td&gt;A competitor ships something similar within a quarter&lt;/td&gt;
&lt;td&gt;Requires years of the same data or workflow position to replicate, not just the same model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I ran this test constantly across acquisitions, usually against the target&#39;s own AI slide: which of these four rows was actually true for the feature in front of me, versus which ones the pitch assumed were true because the demo was impressive. That&#39;s an inference I&#39;ve drawn from watching the same pattern repeat across a specific, regulated industry, not a law that holds everywhere AI touches a product. But inside it, a capability that scores commodity on all four rows isn&#39;t a bad idea. It&#39;s just not a strategy. It&#39;s a feature, and it should be scoped, built, and shipped as one, quickly, because a slow build of something anyone can copy is the worst use of a differentiation budget.&lt;/p&gt;
&lt;h2&gt;How do you sequence an AI product strategy across a roadmap?&lt;/h2&gt;
&lt;p&gt;Sequence it top-down: strategy picks the two or three workflows on the roadmap that score highest for durable advantage, discovery tests the specific decision inside each one, and an adoption framework rolls out whichever tool passes that test. Running the steps in the other order is how companies adopt tools for problems discovery never validated, in workflows strategy never chose.&lt;/p&gt;
&lt;p&gt;None of this makes the individual pitches wrong. A team asking to prototype a support-ticket summarizer, a smarter search feature, or a drafting assistant is usually right that the underlying capability works. The question a strategy is supposed to answer, before any of those pitches gets a discovery cycle, is why this one and not the four others sitting in the same backlog. In my experience the honest answer is almost always about data, workflow depth, or the cost of getting it wrong, and only rarely about which idea got the best applause in the room where it was pitched.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>AI Product Discovery: Find the Decision Worth Improving</title>
      <link>https://thinkkeno.com/ai-product-discovery/</link>
      <guid>https://thinkkeno.com/ai-product-discovery/</guid>
      <pubDate>Tue, 01 Sep 2026 08:36:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;AI product discovery is the work of finding the one decision worth improving with AI, before anyone touches a model: a real user pain, data that actually exists to support the fix, the risk if the system gets it wrong, and whether the fix fits how people already work. As of September 2026, after 15 years leading product and engineering teams, including through eight acquisitions inside a regulated clinical research organization, I&#39;ve watched teams start with the model and work backward to a problem that fits it. That&#39;s discovery in reverse. The model is the last decision in this process, not the first, and skipping ahead to it is why so many AI features ship that nobody asked for.&lt;/p&gt;
&lt;h2&gt;What is AI product discovery?&lt;/h2&gt;
&lt;p&gt;AI product discovery is the work of testing whether an AI feature is worth building before you build it: confirm a real user pain exists, check that the data to support it exists, weigh the risk of a wrong answer, and test workflow fit. The model comes after those four checks pass, not before.&lt;/p&gt;
&lt;p&gt;I&#39;ve sat in enough of these meetings to know the order usually runs backward. Someone has access to a model, or a mandate to &amp;quot;do something with AI,&amp;quot; and the search starts from there: what could we point this at? That question always finds an answer, because almost any workflow can be described in a way that makes AI sound relevant to it. The four checks below exist to stop that search early, before a team spends a quarter building a feature that was really a solution looking for its problem.&lt;/p&gt;
&lt;h2&gt;How do you find the user pain worth solving with AI?&lt;/h2&gt;
&lt;p&gt;Find a pain someone already works around today, by hand, often enough that they can describe the workaround without thinking. If the honest answer to &amp;quot;why this matters&amp;quot; is &amp;quot;a competitor has it&amp;quot; or &amp;quot;it would be impressive,&amp;quot; the pain isn&#39;t real yet, whatever the model can do.&lt;/p&gt;
&lt;p&gt;This is the same discipline behind Eric Ries&#39;s build-measure-learn loop: you&#39;re not allowed to build until you can state, in advance, what you&#39;d need to see to know you were wrong. During the acquisitions I led product through, the target companies almost never lacked ideas for what AI could do. What they lacked was a person who could name, specifically, the task they currently do by hand that they&#39;d stop doing tomorrow if a machine did it for them. When I found that person, the project had a shape. When I couldn&#39;t find them, I&#39;d usually stumbled onto a feature someone wanted to have, not a problem anyone wanted solved.&lt;/p&gt;
&lt;h2&gt;How do you know if the data exists to support an AI feature?&lt;/h2&gt;
&lt;p&gt;Pull a real sample the feature would run on and read it yourself before writing a spec. If you can&#39;t find enough labeled, representative examples of the exact case you&#39;re building for, the data problem is the actual project, not a footnote to the AI project.&lt;/p&gt;
&lt;p&gt;This step gets skipped more than any other, because it&#39;s the least fun one. It&#39;s easier to sketch the feature than to spend an afternoon reading two hundred real support tickets or clinical notes and asking whether they actually contain the signal you&#39;re assuming is in there. In a regulated environment, this check gets harder, not easier: the data that would make the feature good is often the data with the most restrictions on who can see it and how it can be used, and &amp;quot;we&#39;ll figure out access later&amp;quot; is how a promising pilot dies in month four instead of week one.&lt;/p&gt;
&lt;h2&gt;What risks do you need to test before you pick a model?&lt;/h2&gt;
&lt;p&gt;Test what a wrong answer costs and who sees it first. A wrong suggestion in a private draft is cheap. A wrong answer sent straight to a customer, or one a person can&#39;t easily check, is expensive, and the model choice changes completely depending on which one you&#39;re building.&lt;/p&gt;
&lt;p&gt;I wrote about this same reversibility test in &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;decision-making under pressure&lt;/a&gt;: a decision that&#39;s cheap to undo deserves less ceremony before you take it, and one that&#39;s expensive to undo deserves more. An AI feature is a decision, made by software, at scale, usually faster than any one person could make it by hand. That&#39;s the whole appeal, and it&#39;s also the whole risk. Before picking a model, I want to know exactly where a human still checks the output, and what happens the first week that check gets skipped because the queue is long and the model has been right ninety times in a row.&lt;/p&gt;
&lt;p&gt;Here&#39;s the table I actually walk through before any model gets named:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Check&lt;/th&gt;
&lt;th&gt;Question it answers&lt;/th&gt;
&lt;th&gt;What a pass looks like&lt;/th&gt;
&lt;th&gt;What happens if you skip it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User pain&lt;/td&gt;
&lt;td&gt;Is there a real, named workaround today?&lt;/td&gt;
&lt;td&gt;One person describes it without prompting&lt;/td&gt;
&lt;td&gt;The feature gets built and quietly ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data&lt;/td&gt;
&lt;td&gt;Does the signal actually exist in real examples?&lt;/td&gt;
&lt;td&gt;A read sample confirms it, before the spec is written&lt;/td&gt;
&lt;td&gt;The data problem surfaces mid-build, as a delay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Risk&lt;/td&gt;
&lt;td&gt;What does a wrong answer cost, and who sees it first?&lt;/td&gt;
&lt;td&gt;The blast radius is named and someone owns the check&lt;/td&gt;
&lt;td&gt;A bad output reaches a customer with nobody watching&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow fit&lt;/td&gt;
&lt;td&gt;Is the full loop faster than what it replaces?&lt;/td&gt;
&lt;td&gt;Prompting, checking, and fixing together beat the old way&lt;/td&gt;
&lt;td&gt;The model adds a task instead of removing one&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The same table doubles as the proof a &lt;a href=&quot;/what-is-poc-in-software-development/&quot;&gt;proof of concept&lt;/a&gt; is supposed to produce: not a demo of what the model can do, but an answer to the one question that decides whether it&#39;s worth building at all.&lt;/p&gt;
&lt;h2&gt;How do you test workflow fit before committing to a model?&lt;/h2&gt;
&lt;p&gt;Time the whole loop a person actually runs: prompting, checking, correcting, and redoing the work when the model is wrong. If that full loop is slower than what it replaces, the feature doesn&#39;t fit yet, no matter how good a single output looks in a demo.&lt;/p&gt;
&lt;p&gt;I wrote the same test into an &lt;a href=&quot;/ai-adoption-framework/&quot;&gt;AI adoption framework&lt;/a&gt; at the rollout stage, and it applies just as hard here, one step earlier. A model that drafts something in ten seconds but needs twenty minutes of correction hasn&#39;t saved the twenty minutes it looks like it saved in a demo. It&#39;s added a new task, checking the model&#39;s work, on top of the old one. The only honest way to know is to hand the loop, start to finish, to the person who&#39;d actually run it, and time it against what they do now.&lt;/p&gt;
&lt;p&gt;None of this is a case against building with AI. It&#39;s a case against letting the model pick the project. The four checks above are slower than opening a chat window and asking what&#39;s possible, and that&#39;s the point: they cost an afternoon or a week, and they&#39;re supposed to. The alternative costs a quarter, on a feature that was never solving anyone&#39;s actual problem, and that bill always comes due later than the checks would have.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>What a Robotics Software Engineer Actually Builds</title>
      <link>https://thinkkeno.com/robotics-software-engineer/</link>
      <guid>https://thinkkeno.com/robotics-software-engineer/</guid>
      <pubDate>Mon, 31 Aug 2026 08:38:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;A robotics software engineer builds the software that turns a sensor reading into a physical action: perception code that makes sense of what a camera or sensor reports, planning and decision code that turns that read into a choice, and control code that turns the choice into a specific motor command, on a deadline the real world sets, not a sprint calendar. As of August 2026, after 15 years leading software and product teams, and years of turning motors, sensors, and LEGO mechanisms into small robots on my own bench, the pattern I keep running into is this: robotics software engineering is regular software engineering with one constraint stacked on top. The code has to be right close to the first time, because a motor doesn&#39;t wait for a retry.&lt;/p&gt;
&lt;h2&gt;What does a robotics software engineer actually build?&lt;/h2&gt;
&lt;p&gt;A robotics software engineer builds three connected layers: perception code that interprets sensor data, planning and decision code that turns that read into a choice, and control code that turns the choice into an exact motor command. The job is the software chain between what the robot senses and what it does.&lt;/p&gt;
&lt;p&gt;That&#39;s a wider job description than it sounds. Perception alone can mean reading a distance sensor or making sense of a noisy camera feed. Planning can mean picking a next move on a fixed rulebook or weighing several options against a goal. Control can mean a simple loop that nudges a motor toward a target, or a tuned system that keeps a whole machine stable while it moves. What ties the three together isn&#39;t the specific code. It&#39;s that each layer only matters because the one after it eventually has to move something.&lt;/p&gt;
&lt;p&gt;I&#39;ve spent more of my career leading software and product teams than building robots for a living. But I build small ones on my own bench, out of LEGO, motors, and sensors, and the honesty of that loop is what pulled me toward this work. A wheel turns or it doesn&#39;t. A sensor sees the object or it doesn&#39;t. An arm reaches the thing or misses it completely. Most software I&#39;ve shipped in 15 years gets to be wrong in private first: a bad build fails in CI, a bad release gets a hotfix. A robot&#39;s mistake happens in front of you, in real time, on a table.&lt;/p&gt;
&lt;h2&gt;Where does the software-to-hardware boundary actually sit?&lt;/h2&gt;
&lt;p&gt;The boundary sits at the last software decision before a physical action happens: the moment a planning decision becomes a specific motor command sent to real hardware. Everything upstream is still ordinary, forgiving software. Everything at that line gets one real-time shot before the robot has already moved.&lt;/p&gt;
&lt;p&gt;Above that line, the work looks a lot like the software career most robotics engineers came from. You write a perception module, you write tests, you fix a bug, you rerun it. Nothing physical happens yet. Below the line is a different discipline: a control loop running on a fixed clock, a motor driver with real current limits, a mechanism with backlash and friction that doesn&#39;t match the model in your head. I wrote about this same gap between deciding and acting, at a much faster pace, in &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;Decision-Making Under Pressure&lt;/a&gt;: the closer a decision sits to an irreversible action, the less room there is to be wrong and fix it later. Robotics puts that principle into hardware. A planning bug is a bad plan. A control bug at the wrong moment is a robot arm hitting something it shouldn&#39;t.&lt;/p&gt;
&lt;h2&gt;What does the robotics software stack look like, layer by layer?&lt;/h2&gt;
&lt;p&gt;It runs perception, then planning and decision, then control, then actuation and drivers, with simulation and testing tooling wrapped around all four. Each layer hands a narrower, more time-sensitive decision to the one below it, until the last layer is a voltage on a wire.&lt;/p&gt;
&lt;p&gt;Here&#39;s the version I actually think in when I&#39;m debugging my own bench setup:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;What breaks if it&#39;s wrong&lt;/th&gt;
&lt;th&gt;Side of the hardware boundary&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Perception&lt;/td&gt;
&lt;td&gt;Turns raw sensor data into a model of the world: distance, position, what&#39;s in view&lt;/td&gt;
&lt;td&gt;The robot acts on a world that isn&#39;t the real one&lt;/td&gt;
&lt;td&gt;Software&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Planning &amp;amp; decision&lt;/td&gt;
&lt;td&gt;Picks a goal or next move from what perception reports&lt;/td&gt;
&lt;td&gt;The robot does something technically safe but pointless, or the wrong thing entirely&lt;/td&gt;
&lt;td&gt;Software&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Control&lt;/td&gt;
&lt;td&gt;Turns a decision into a specific, timed motor command&lt;/td&gt;
&lt;td&gt;The motion overshoots, oscillates, or arrives too late to matter&lt;/td&gt;
&lt;td&gt;The boundary itself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Actuation &amp;amp; drivers&lt;/td&gt;
&lt;td&gt;Delivers that command to a real motor, servo, or actuator&lt;/td&gt;
&lt;td&gt;The robot stalls, strips a gear, or draws more current than the hardware allows&lt;/td&gt;
&lt;td&gt;Hardware&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simulation &amp;amp; testing&lt;/td&gt;
&lt;td&gt;Runs the stack above against a modeled or replayed environment before it touches real hardware&lt;/td&gt;
&lt;td&gt;Bugs that were cheap to catch in simulation get expensive to catch on the bench&lt;/td&gt;
&lt;td&gt;Wraps the whole stack&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Most robotics teams don&#39;t write the driver and messaging layer underneath all of this from scratch. They build on ROS, the open-source Robot Operating System project, the same way most web teams build on a framework instead of hand-rolling their own HTTP server. It doesn&#39;t remove the layers above. It just means you&#39;re not also reinventing how a motor command gets from one process to another.&lt;/p&gt;
&lt;h2&gt;What does a robotics software engineer need to know that a web engineer doesn&#39;t?&lt;/h2&gt;
&lt;p&gt;Real-time constraints, basic control theory, and how to debug a system where the bug might be a sensor, a wire, or a timing race instead of a line of code. The iteration loop is slower and more physical, and a fix isn&#39;t verified until the hardware actually does the right thing.&lt;/p&gt;
&lt;p&gt;The real-time part surprises people who come from web or product software. A web request that&#39;s 200 milliseconds late is a bad metric. A control loop that&#39;s 200 milliseconds late can be a robot that&#39;s already moved past where the correction still helps. That changes how you write code: you start caring about worst-case timing, not just average timing, because the average is not what gets you in trouble.&lt;/p&gt;
&lt;p&gt;The debugging part is its own skill. In most software, a wrong answer means a wrong line of code. On a robot, a wrong answer might mean a wrong line of code, a loose connector, a sensor reading drift, a battery sagging under load, or a mechanism that doesn&#39;t move the way the CAD model says it should. I&#39;ve lost more evenings than I&#39;d like to a &amp;quot;software bug&amp;quot; that turned out to be a servo horn that had slipped half a spline on its shaft. You learn to hold your own code as a suspect, not the culprit, until the hardware clears it.&lt;/p&gt;
&lt;h2&gt;Is robotics software engineering a good next step from regular software engineering?&lt;/h2&gt;
&lt;p&gt;Yes, if you like the software-to-hardware boundary more than you dislike a slower iteration loop. The core skill, systems thinking under uncertainty, is the same skill regular software engineering already builds. What&#39;s new is real-time constraints, physical testing, and code that only gets one shot.&lt;/p&gt;
&lt;p&gt;I wrote about what&#39;s changing inside regular software work in &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;Will AI Replace Software Engineers in 2026?&lt;/a&gt;: the parts of the job that are pure typing are getting automated fast, and the parts that require ownership and judgment aren&#39;t going anywhere. Robotics leans hard into that second category, because a model can draft a control loop, but it can&#39;t stand next to the bench and tell you the arm just clipped the table because the coordinate frame was off by one joint. Somebody has to own that, in the room, with the hardware in front of them.&lt;/p&gt;
&lt;p&gt;The honest tradeoff is speed. Software iteration is nearly free. Hardware iteration costs a rebuild, a re-flash, sometimes a part you have to wait on. If you&#39;re drawn to that constraint instead of annoyed by it, the transition is less about learning a new field and more about adding a layer most software careers never touch: the one where the code finally has to move something in the room with you.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>A Technical Due Diligence Checklist Built Around Questions, Not Documents</title>
      <link>https://thinkkeno.com/technical-due-diligence-checklist/</link>
      <guid>https://thinkkeno.com/technical-due-diligence-checklist/</guid>
      <pubDate>Fri, 28 Aug 2026 12:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;A technical due diligence checklist is the structured set of items an acquirer works through when examining a target&#39;s product, codebase, infrastructure, and engineering team before close. As of August 2026, having run this exercise from inside eight acquisitions, my view is that nearly every published checklist is a list of documents to request — and documents are the easy part. They describe what someone intends to be true. The checklist below has two columns per stage: what to request, which everyone already has, and what to ask, which is where the actual findings live. The full version is free to copy at the bottom.&lt;/p&gt;
&lt;h2&gt;What is a technical due diligence checklist?&lt;/h2&gt;
&lt;p&gt;A technical due diligence checklist is the structured set of items worked through when examining a target&#39;s product, codebase, infrastructure, and team before close. Most published versions are inventories of documents. The useful part is the second half: the questions that have to be asked of people, because no document answers them.&lt;/p&gt;
&lt;p&gt;Checklists are popular because diligence is frightening and a list feels like control. That is not nothing — a shared list does prevent things being dropped. But completeness against a list and understanding of a business are different achievements, and it is easy to reach the end of one while having none of the other.&lt;/p&gt;
&lt;h2&gt;Why do document-based checklists miss the important things?&lt;/h2&gt;
&lt;p&gt;Because documents describe what someone intends to be true. An architecture diagram, a roadmap, and an issue list are all statements of intent. The commit history, the on-call rotation, and what an engineer says when asked what they would fix first describe what is actually true. Only the first set gets gathered by default.&lt;/p&gt;
&lt;p&gt;The asymmetry is structural. Documents can be requested in bulk, reviewed by people who were not in the room, and produced on a schedule. Conversations require someone senior enough to interpret the answers, in a room with people who have every incentive to be reassuring. One of those scales and one does not, so the timeline eats the one that does not.&lt;/p&gt;
&lt;p&gt;Worth being clear: the request column is not optional. You do need the contracts and the P&amp;amp;L and the security posture. The argument is about which column gets cut when six weeks becomes three.&lt;/p&gt;
&lt;h2&gt;What are the seven stages of a diligence checklist?&lt;/h2&gt;
&lt;p&gt;Customer, product, technology, team, economics, risk, and integration — the same frame as &lt;a href=&quot;/before-you-buy-it/&quot;&gt;the diligence hub&lt;/a&gt;. Each stage has two columns. The order matters because each stage constrains the next.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Request&lt;/th&gt;
&lt;th&gt;The question that earns its place&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Customer&lt;/td&gt;
&lt;td&gt;Revenue by account, renewals, churn&lt;/td&gt;
&lt;td&gt;Who inside the customer championed this, and are they still there?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;Roadmap, issues, releases&lt;/td&gt;
&lt;td&gt;What does the &lt;em&gt;team&lt;/em&gt; believe the roadmap is, asked separately from leadership?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Technology&lt;/td&gt;
&lt;td&gt;Diagram, spend, dependencies&lt;/td&gt;
&lt;td&gt;Which part of this system does exactly one person understand?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team&lt;/td&gt;
&lt;td&gt;Org chart, comp, retention terms&lt;/td&gt;
&lt;td&gt;Who is staying for the money, and what is their date?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Economics&lt;/td&gt;
&lt;td&gt;P&amp;amp;L, unit economics&lt;/td&gt;
&lt;td&gt;Which work is a founder currently doing for free?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Risk&lt;/td&gt;
&lt;td&gt;Compliance, legal, key contracts&lt;/td&gt;
&lt;td&gt;What are you most worried about that has not come up in this process?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;Tooling, cadence&lt;/td&gt;
&lt;td&gt;Name the mechanism by which this product got good, in one sentence.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Two of those are worth calling out. &lt;strong&gt;&amp;quot;Who is staying for the money, and what is their date?&amp;quot;&lt;/strong&gt; gets asked far too rarely, and the answer is usually known. And the integration question is aimed at &lt;em&gt;your own side&lt;/em&gt;, before close — if nobody can name the mechanism, the integration plan is being written blind.&lt;/p&gt;
&lt;h2&gt;How do you use a diligence checklist in a compressed timeline?&lt;/h2&gt;
&lt;p&gt;Cut the request column before the ask column. Document review scales with people and can be delegated or parallelised; the conversations cannot. If there is time for only one thing, spend it talking to the engineers who will still be doing the work after close, without their leadership in the room.&lt;/p&gt;
&lt;p&gt;That last clause does real work. The same engineer gives a materially different answer to &amp;quot;what would you fix first&amp;quot; depending on who is listening, and neither answer is dishonest. One is the answer they can defend in front of their CTO. The other is the one you needed.&lt;/p&gt;
&lt;h2&gt;What should you do with the answers?&lt;/h2&gt;
&lt;p&gt;Sort them into priceable and unpriceable. Technical debt, infrastructure cost, and integration effort all get numbers and go into the model. Undocumented judgment concentrated in one or two people does not, and it is the finding most likely to determine whether the acquisition works.&lt;/p&gt;
&lt;p&gt;The failure mode is letting the unpriceable findings stay a feeling. They get described in a meeting as &amp;quot;some key-person risk,&amp;quot; everyone nods, and it never reaches the memo because there is no column for it. Write it as a sentence with a name attached and a date: &lt;em&gt;if this person leaves within a year, these three things stop working.&lt;/em&gt; That is a claim someone can disagree with, which is what makes it useful.&lt;/p&gt;
&lt;h2&gt;The checklist&lt;/h2&gt;
&lt;p&gt;Copy it, fork it, paste it into whatever you actually use. It is deliberately plain Markdown so it survives being pasted into a doc, a ticket, or a wiki.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/assets/downloads/before-you-buy-it-checklist.md&quot;&gt;Download the full checklist&lt;/a&gt;&lt;/strong&gt; — seven stages, both columns, roughly forty questions.&lt;/p&gt;
&lt;p&gt;Two rules travel with it. &lt;strong&gt;Reserve time for unstructured conversation with the people who will still be doing the work after close&lt;/strong&gt; — it is the cheapest instrument available and the first thing cut. And &lt;strong&gt;write down what you decided to leave alone, and why&lt;/strong&gt;, because a playbook without stated reasons is a list, and lists get executed by people who were not in the room when the judgment was made.&lt;/p&gt;
&lt;p&gt;If you only take one line from this: the request column tells you what the company says it is. The ask column tells you what it will be like to own.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Integration or Independence: The Decision That Damages Good Products</title>
      <link>https://thinkkeno.com/post-merger-integration/</link>
      <guid>https://thinkkeno.com/post-merger-integration/</guid>
      <pubDate>Fri, 28 Aug 2026 09:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Post-merger integration is the work of combining an acquired company&#39;s product, systems, teams, and processes with the acquirer&#39;s after a deal closes. As of August 2026, having led product through eight of these from inside the organization, I think integration damages more good products than any other decision after close — and almost always through choices that were entirely rational when they were made. Nobody wrecks an acquisition on purpose. They consolidate a tool, align a roadmap, standardise a deployment process, and eighteen months later the thing they bought is still running and no longer getting better.&lt;/p&gt;
&lt;h2&gt;What is post-merger integration?&lt;/h2&gt;
&lt;p&gt;Post-merger integration is the work of combining an acquired company&#39;s product, systems, teams, and processes with the acquirer&#39;s after a deal closes. It covers consolidating infrastructure and tooling, merging roadmaps and reporting lines, and it is where most of the value an acquisition was supposed to create is either realised or lost.&lt;/p&gt;
&lt;p&gt;It is also the stage with the least diligence attached to it. Enormous effort goes into deciding whether to buy. Comparatively little goes into deciding what to do on the Monday after, and the second decision has more effect on the outcome than the first.&lt;/p&gt;
&lt;h2&gt;Why does integration damage products that were working?&lt;/h2&gt;
&lt;p&gt;Because consolidation usually removes the mechanism that made the product good, not the product itself. Small teams decide fast because the whole system fits in a few heads and nobody needs permission. Integration replaces that with process that is correct, defensible, and slower. The product does not break; it stops improving at the rate that made it worth buying.&lt;/p&gt;
&lt;p&gt;This is the part that is genuinely hard to see coming, because every individual decision survives scrutiny. Standardising on one CI pipeline is defensible. Moving the acquired team onto the acquirer&#39;s release calendar is defensible. Requiring architecture review for changes above a certain size is defensible. Each one adds a small amount of latency and removes a small amount of autonomy, and none of them is the decision that did the damage.&lt;/p&gt;
&lt;p&gt;The damage is cumulative and nobody owns it. That is a structural problem, not a failure of judgment.&lt;/p&gt;
&lt;h2&gt;What should an M&amp;amp;A integration playbook contain?&lt;/h2&gt;
&lt;p&gt;A list of what will be consolidated, what will be left alone, and the reason for each — written before close, when the answer is still a judgment rather than a reaction. Most playbooks are inventories of systems. The useful part is the second column: what made this product valuable, and does consolidating this particular thing preserve or destroy that.&lt;/p&gt;
&lt;p&gt;Here is the frame I actually use:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Billing, identity, HR, procurement&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Consolidate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Nobody bought a company for its expense reporting. Real cost, no differentiation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security and compliance tooling&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Consolidate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;In a regulated environment this is not optional, and the acquired team usually knows it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Observability and CI&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Case by case&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cheap to consolidate, and the first place latency creeps in unnoticed.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment cadence&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Leave alone&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Almost always part of why the product was good.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Roadmap and prioritisation&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Leave alone, longest&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The moment this merges, the acquired product competes for attention against things with bigger numbers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who can talk to a customer&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Leave alone&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Proximity to the customer is frequently the entire advantage.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The column that matters is the third one. A playbook without stated reasons is a list, and lists get executed by people who were not in the room when the judgment was made.&lt;/p&gt;
&lt;h2&gt;When is consolidation genuinely worth it?&lt;/h2&gt;
&lt;p&gt;When the thing being consolidated is genuinely undifferentiated. Nobody bought a company for its expense reporting. Consolidation goes wrong when it reaches the layers where the advantage actually lived: deployment cadence, who can talk to a customer, and how a decision gets made.&lt;/p&gt;
&lt;p&gt;The test I apply is narrow and it works: &lt;strong&gt;name the mechanism.&lt;/strong&gt; Not the feature, not the team — the mechanism by which this product got good. If you cannot say it in a sentence, you are not ready to decide what to integrate, because you cannot tell which consolidations threaten it.&lt;/p&gt;
&lt;p&gt;Sometimes the mechanism is a person who answers support tickets personally. Sometimes it is a deployment process nobody would approve on paper. Sometimes it is that the whole system is small enough for one engineer to reason about end to end, which means the honest integration plan is &lt;em&gt;do not add to it&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;How do you know integration is going wrong?&lt;/h2&gt;
&lt;p&gt;Watch the decision latency, not the milestone tracker. If a change that used to take a day now takes three weeks and two approvals, the integration is succeeding on its own terms and failing on the reason for the acquisition. That signal appears months before it shows up in revenue, and almost nobody measures it.&lt;/p&gt;
&lt;p&gt;Integration programmes report on completion — systems migrated, teams onboarded, tools retired. Those are all real and all beside the point. The number that predicts whether the acquisition worked is how long it takes the acquired product to make a change, and it is trivially measurable from the moment of close if anyone thinks to start.&lt;/p&gt;
&lt;p&gt;This is the same reversibility test I use everywhere else: &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;a decision that is cheap to undo deserves less ceremony, and one that is expensive to undo deserves more&lt;/a&gt;. Most integration decisions are quietly one-way. Once a team is on the shared release train, getting them off it is a political act rather than a technical one.&lt;/p&gt;
&lt;p&gt;This is stage six of the seven in &lt;a href=&quot;/before-you-buy-it/&quot;&gt;the diligence frame&lt;/a&gt;. It is the one that runs longest, receives the least scrutiny, and does the most damage — and unlike the earlier stages, you are no longer deciding whether to buy. You are deciding whether what you bought survives being owned.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>A Personal Operating System</title>
      <link>https://thinkkeno.com/personal-operating-system/</link>
      <guid>https://thinkkeno.com/personal-operating-system/</guid>
      <pubDate>Fri, 28 Aug 2026 08:41:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;A personal operating system is a repeatable cadence, capture, orient, decide, review, for turning a head full of half-formed obligations into an honest next move. As of August 2026, after 15 years building products for people who have to decide under real stakes, and a 36-hour mountain effort at 29029 Snowbasin that stripped my own habits down to what actually holds up, I keep landing on the same four steps. Capture gets the noise out of your head and onto something you trust. Orient tells you the truth about what actually matters this week, not what feels loudest. Decide picks the smallest next move, not the whole plan. Review is the step almost everyone skips, and it&#39;s the one that keeps the other three honest.&lt;/p&gt;
&lt;h2&gt;What is a personal operating system?&lt;/h2&gt;
&lt;p&gt;A personal operating system is four repeatable steps, capture, orient, decide, review, run on a fixed cadence, that turn scattered obligations into a trustworthy next move. It isn&#39;t a single app or planner. It&#39;s the rhythm you run those tools through, whether the week is calm or on fire.&lt;/p&gt;
&lt;p&gt;The homepage of this site names a framework I use professionally: land, orient, act. It&#39;s built for the moment someone hits a product under pressure and needs to know what to do next, fast. The personal version runs slower and adds a step, because ordinary life doesn&#39;t hand you one crisis at a time. It hands you forty of them, all at once, most of them small.&lt;/p&gt;
&lt;p&gt;Capture, orient, decide, review is that four-step version. I wrote about the orient-decide-act loop in &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;Decision-Making Under Pressure&lt;/a&gt; for the moments when the clock is the enemy. This is the version for the week you&#39;re not on a mountain, when the obligations arrive quietly instead of all at once, and the risk isn&#39;t panic. It&#39;s letting things pile up until nothing gets your best attention.&lt;/p&gt;
&lt;h2&gt;Why does capture have to come before anything else?&lt;/h2&gt;
&lt;p&gt;Capture comes first because an obligation you&#39;re only holding in your head costs attention whether or not you&#39;re working on it. David Allen&#39;s Getting Things Done calls this &lt;a href=&quot;https://gettingthingsdone.com/2026/03/gtd-open-loops-3-steps-clear-your-mind-2/&quot;&gt;an open loop&lt;/a&gt;, an unresolved commitment your mind keeps rechecking. Writing it down somewhere you trust closes the loop, even before you&#39;ve decided what to do about it.&lt;/p&gt;
&lt;p&gt;I learned this the expensive way running product teams through eight acquisitions. Every reorg produced its own flood of half-finished threads: decisions waiting on someone, promises made in a hallway that never made it into a system anywhere. The ones that got dropped weren&#39;t the big ones.&lt;/p&gt;
&lt;p&gt;Nobody forgets a launch date.&lt;/p&gt;
&lt;p&gt;It was the small hallway promise that quietly turned into a broken one, because it only ever lived in someone&#39;s head.&lt;/p&gt;
&lt;p&gt;At home it looks smaller and just as real. A shoe nobody can find, a permission slip due Friday, a repair I keep meaning to get to on a boombox that&#39;s been sitting on the bench for three weeks. None of that is urgent enough to remember on its own. Capture means it goes into one place I actually check, the moment it shows up, before I&#39;ve decided what, if anything, to do about it.&lt;/p&gt;
&lt;h2&gt;How do you turn a captured list into an honest orientation?&lt;/h2&gt;
&lt;p&gt;Orientation means sorting what you captured against what&#39;s actually true this week: your real energy, your real deadlines, and what&#39;s reversible if you&#39;re wrong. It&#39;s the same honest self-check I describe in decision-making under pressure, run at a slower pace and a longer interval, against a to-do list instead of a heart rate.&lt;/p&gt;
&lt;p&gt;Pressure isn&#39;t the only thing that distorts a read on yourself. So does a full inbox. The email that arrived ten minutes ago always feels more urgent than the deadline three weeks out, even when the deadline matters more and the email doesn&#39;t. Orientation is the step where you catch that, on purpose, instead of working whatever showed up last.&lt;/p&gt;
&lt;p&gt;The habit is the same one I rehearsed on a mountain and wrote about in Decision-Making Under Pressure: an honest read of your actual state before you touch a decision. At a desk, the read is different. It&#39;s not a heart rate number. It&#39;s asking which of these ten open items would actually matter if I only got to one, and admitting the honest answer is usually a smaller item than the one making the most noise.&lt;/p&gt;
&lt;h2&gt;What does the decide step need to produce?&lt;/h2&gt;
&lt;p&gt;The decide step needs to produce one concrete next action, not a category or a vague intention. Handle onboarding isn&#39;t a decision. Draft the onboarding email, twenty minutes, before three o&#39;clock is. If the item leaving orientation can&#39;t fit that shape, it hasn&#39;t been decided. It&#39;s been renamed.&lt;/p&gt;
&lt;p&gt;This is where most systems quietly fail, and I&#39;ve watched it happen in product reviews as much as on a Tuesday morning at home. A backlog full of items like improve onboarding or deal with the garage isn&#39;t a decided list. It&#39;s a list of categories wearing a to-do list&#39;s clothes.&lt;/p&gt;
&lt;p&gt;Nobody can act on a category. Somebody can act on draft the onboarding email, twenty minutes, before three.&lt;/p&gt;
&lt;p&gt;Here&#39;s the version of the cadence I actually run, written the way I&#39;d hand it to someone else:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;What it answers&lt;/th&gt;
&lt;th&gt;Minimum cadence&lt;/th&gt;
&lt;th&gt;What breaks if you skip it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Capture&lt;/td&gt;
&lt;td&gt;What&#39;s competing for my attention right now?&lt;/td&gt;
&lt;td&gt;The moment it shows up&lt;/td&gt;
&lt;td&gt;The same worry resurfaces at 2am because nothing closed the loop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orient&lt;/td&gt;
&lt;td&gt;What&#39;s actually true about this week?&lt;/td&gt;
&lt;td&gt;Daily, five minutes&lt;/td&gt;
&lt;td&gt;You work the loudest item instead of the one that matters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decide&lt;/td&gt;
&lt;td&gt;What is the smallest next move?&lt;/td&gt;
&lt;td&gt;At orient time, per item&lt;/td&gt;
&lt;td&gt;Tasks stay vague, so they stay undone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Review&lt;/td&gt;
&lt;td&gt;Is the system still telling me the truth?&lt;/td&gt;
&lt;td&gt;Weekly, same day&lt;/td&gt;
&lt;td&gt;The system turns into a list nobody trusts, then nobody opens&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;How often should you review the system, and why do most people skip it?&lt;/h2&gt;
&lt;p&gt;Review on a fixed weekly slot, not whenever you remember to. Its only job is to catch what capture and orient missed that week. Skip it and the system doesn&#39;t fail loudly. It quietly stops being trusted, which is worse than never building one, because now you&#39;ve also lost the habit of using it.&lt;/p&gt;
&lt;p&gt;Mine happens Sunday evening, after the kids are down, fifteen minutes with the captured list from the week. I&#39;m not doing the work in that slot. I&#39;m checking whether the system told me the truth: did the important thing actually get the decide step, or did it get buried under six loud small ones again.&lt;/p&gt;
&lt;p&gt;Some weeks the honest answer is no. That&#39;s fine. The review is what tells you, instead of finding out three weeks later when something you cared about quietly missed its window.&lt;/p&gt;
&lt;p&gt;The metric I care about professionally is time-to-confidence: how long before someone under pressure knows what to do next. The personal version of that question doesn&#39;t need a mountain to matter. Most days the pressure is smaller: a full inbox, a house full of people who all need something at once, more open loops than hours in the day. Capture, orient, decide, review doesn&#39;t make any of that disappear. It makes sure the next move you take is an honest one, not the loudest one that happened to be standing closest.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>The Customer Isn&#39;t Always Right. Their Behaviour Usually Is.</title>
      <link>https://thinkkeno.com/say-do-gap/</link>
      <guid>https://thinkkeno.com/say-do-gap/</guid>
      <pubDate>Thu, 27 Aug 2026 18:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;The say-do gap is the distance between what customers tell you they want and what they actually do when it is in front of them. As of August 2026, after fifteen years building platform products in healthcare and clinical education, the sharpest lesson I have on this came from being wrong in public. Customers told us they did not want advertising. I did not want advertising either. The business shipped it anyway, and the usage data disagreed with all of us — not by proving the customers liars, but by revealing that what people say about a hypothetical and what they tolerate in practice are two different measurements of two different things. Both were true. Only one of them paid for the platform.&lt;/p&gt;
&lt;h2&gt;What is the say-do gap?&lt;/h2&gt;
&lt;p&gt;The say-do gap is the distance between what people tell you they will do and what they actually do. In product work it is the difference between survey responses, interview answers and support tickets on one side, and usage data on the other. Both are real evidence. They frequently disagree, and the disagreement is the useful part.&lt;/p&gt;
&lt;p&gt;The gap is old enough to have a founding study. In 1934, the sociologist Richard LaPiere published &lt;a href=&quot;http://psychlotron.org.uk/resources/social/AS_AQB_social_attitudes_lapiere.pdf&quot;&gt;&lt;em&gt;Attitudes vs. Actions&lt;/em&gt;&lt;/a&gt;, reporting on two years spent travelling the United States with a Chinese couple during a period of open anti-Chinese prejudice. They were refused service at &lt;strong&gt;one of 251 establishments&lt;/strong&gt;. Surveyed months afterwards, roughly &lt;strong&gt;92% of those same businesses said they would not serve Chinese guests&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The study has real problems — six months separated the visits from the survey, the people who answered were often not the people who had served them, and LaPiere himself noted his companions were affluent, Westernised and disarming. Worth saying plainly, because an article about weighing evidence should not wave through its own.&lt;/p&gt;
&lt;p&gt;But the shape of the finding survived ninety years of methodological argument, and it is the shape that matters: &lt;strong&gt;stated attitude and observed action came apart, dramatically, and the people involved were not lying.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Why does customer feedback disagree with customer behaviour?&lt;/h2&gt;
&lt;p&gt;Because they measure different things. Feedback captures what someone believes about a hypothetical, filtered through how they want to be seen. Behaviour captures what they chose when something was actually in front of them and the cost was real. Neither is dishonest. People genuinely do not know in advance what they will tolerate.&lt;/p&gt;
&lt;p&gt;Ask a clinician whether they want advertising in a reference tool they use between patients and you will get a clear answer. It is a sincere answer. It is also an answer about an imagined product, given by someone with no reason to model the economics of the thing they are being asked about, at a moment when the cost of saying no is zero.&lt;/p&gt;
&lt;p&gt;Then ship it, and the same person has a different question in front of them: &lt;em&gt;is this still the fastest way to get what I need right now?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Those are not the same question. We kept treating the first answer as a forecast of the second.&lt;/p&gt;
&lt;h2&gt;What happened when we shipped it anyway&lt;/h2&gt;
&lt;p&gt;I was against it. So was most of the product organisation, and we had the feedback to back us up. The commercial argument won, as commercial arguments do when the alternative is a platform that does not pay for itself.&lt;/p&gt;
&lt;p&gt;What I expected was a visible cost — people leaving, engagement falling, the feedback getting louder and being proven right.&lt;/p&gt;
&lt;p&gt;What happened was quieter and more uncomfortable. &lt;strong&gt;People stayed.&lt;/strong&gt; Usage held. The tool was still the fastest way to answer the question they had, and the advertising was a thing they navigated past on the way. The revenue was real, and it funded work that made the product materially better for the same people who had said they did not want it.&lt;/p&gt;
&lt;p&gt;I have thought about that for years and I still do not think the customers were wrong. They were answering the question they were asked. We were the ones who mistook a preference for a prediction.&lt;/p&gt;
&lt;h2&gt;Should you ignore what customers say?&lt;/h2&gt;
&lt;p&gt;No. Feedback is the best early signal you have about what people value and where the friction is, and it arrives long before usage data exists. The mistake is treating it as a prediction of behaviour rather than as a statement of preference. Preferences are real — they are just not the same thing as choices.&lt;/p&gt;
&lt;p&gt;Here is the frame I use now, and the reason I stopped arguing about which source to trust:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;th&gt;Strong at&lt;/th&gt;
&lt;th&gt;Silent on&lt;/th&gt;
&lt;th&gt;Fails when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What they say&lt;/td&gt;
&lt;td&gt;Why. Where the friction is. What they value.&lt;/td&gt;
&lt;td&gt;Whether they will actually change what they do.&lt;/td&gt;
&lt;td&gt;Treated as a forecast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What they do&lt;/td&gt;
&lt;td&gt;Whether. Under real conditions, with real cost.&lt;/td&gt;
&lt;td&gt;Why. What it cost them internally.&lt;/td&gt;
&lt;td&gt;Treated as approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What the business needs&lt;/td&gt;
&lt;td&gt;What the company can survive doing.&lt;/td&gt;
&lt;td&gt;What anyone actually wants.&lt;/td&gt;
&lt;td&gt;Treated as strategy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Every one of those is evidence. None of them is an answer. &lt;strong&gt;Product judgment is what you do when they point in different directions&lt;/strong&gt; — which is most of the time, and is precisely the part no framework hands you.&lt;/p&gt;
&lt;h2&gt;What is the risk of trusting behaviour over feedback?&lt;/h2&gt;
&lt;p&gt;That tolerance gets mistaken for approval. People staying does not mean they are happy. It can mean the alternative is worse, or that leaving is expensive, or that they have not yet found the thing that makes leaving easy.&lt;/p&gt;
&lt;p&gt;This is the part of the story I would emphasise if I were telling it to a room of product people, because it is the part that gets skipped. &lt;strong&gt;Behaviour tells you what someone accepted under conditions you created.&lt;/strong&gt; It does not tell you what they would choose if a better option appeared. And a better option always eventually appears.&lt;/p&gt;
&lt;p&gt;So the honest reading of what we learned is not &lt;em&gt;customers say one thing and do another, therefore discount what they say&lt;/em&gt;. It is narrower and more useful:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Feedback told us what people would prefer. Behaviour told us what they would tolerate. The distance between those two was our margin — and margin built on tolerance is borrowed, not earned.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That is a genuinely uncomfortable conclusion for a product person, because it means being right about the revenue and still carrying a debt.&lt;/p&gt;
&lt;h2&gt;How do you decide when the evidence disagrees?&lt;/h2&gt;
&lt;p&gt;Ask what each source is actually good at measuring, then ask which question you are trying to answer. Feedback is strong on why and weak on whether. Behaviour is strong on whether and silent on why. Commercial reality tells you what the business can survive. Judgment is deciding what to do when those three disagree.&lt;/p&gt;
&lt;p&gt;The practical move is small and almost nobody makes it: &lt;strong&gt;write down, before you ship, what result would change your mind.&lt;/strong&gt; Not the success metric — the disconfirming one. If engagement had fallen, how far, for how long, before we pulled it? We did not have that number, which meant that whatever happened next, we were always going to be able to tell ourselves a story where we had been right.&lt;/p&gt;
&lt;p&gt;That is the same discipline I have written about for &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;deciding under pressure&lt;/a&gt; and for &lt;a href=&quot;/ai-adoption-framework/&quot;&gt;running a bounded AI pilot&lt;/a&gt;: name the stop condition while the answer is still unknown, because afterwards it is not a decision any more, it is a narrative.&lt;/p&gt;
&lt;p&gt;Twenty years in, the frameworks I trust least are the ones that promise to resolve this for you. &lt;em&gt;Listen to your customers&lt;/em&gt; and &lt;em&gt;follow the data&lt;/em&gt; are both advice that stops working at precisely the moment you need advice — the moment the sources disagree.&lt;/p&gt;
&lt;p&gt;That moment is the job.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Before You Buy It: A Product and Technology Diligence Frame</title>
      <link>https://thinkkeno.com/before-you-buy-it/</link>
      <guid>https://thinkkeno.com/before-you-buy-it/</guid>
      <pubDate>Thu, 27 Aug 2026 09:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Technical due diligence is the examination of a target company&#39;s product, codebase, architecture, and engineering team before an acquisition closes. As of August 2026, after fifteen years building platform software in regulated healthcare and leading product through eight acquisitions from inside the organization rather than the deal team, I&#39;ve come to think diligence rarely fails for lack of data. It fails on the questions asked. The deal asks whether the asset is as described, and answers that well. The operator asks what this will be like to own on a Tuesday eighteen months from now, and almost nobody has time for that question during the window when it could still change the price.&lt;/p&gt;
&lt;h2&gt;What is technical due diligence?&lt;/h2&gt;
&lt;p&gt;Technical due diligence is the examination of a target company&#39;s product, codebase, architecture, and engineering team before an acquisition closes. It exists to price risk the financial model cannot see: what the system actually costs to run, what it will cost to integrate, and whether the people who understand it will still be there in a year.&lt;/p&gt;
&lt;p&gt;Technology due diligence and software due diligence describe the same exercise with different emphases — one leans toward architecture and infrastructure, the other toward the codebase itself. In practice the boundary matters less than who is asking. A firm running the process for a lender wants a defensible report. An operator who will inherit the system wants to know what is going to hurt.&lt;/p&gt;
&lt;p&gt;Both are legitimate. They produce different documents.&lt;/p&gt;
&lt;h2&gt;Why does technical due diligence miss what matters?&lt;/h2&gt;
&lt;p&gt;Because it usually answers the deal&#39;s questions rather than the operator&#39;s. The deal asks whether the asset is as described. The operator asks what this will be like to own on a Tuesday in eighteen months. Both are legitimate; only one of them predicts what happens after close, and the window is almost always spent on the first.&lt;/p&gt;
&lt;p&gt;The structural reason is that diligence is scoped by people who will not operate the result. That is not a criticism — it is how the incentive works. The deal team is measured on getting to a defensible close. The operators arrive afterward, inherit whatever was true, and have no mechanism to send questions backward in time.&lt;/p&gt;
&lt;p&gt;So the artifacts requested are the ones that are easy to request. An architecture diagram. A roadmap. A list of open issues. Each of those is a description of what someone intends to be true. The commit history, the on-call rotation, and what an engineer says when you ask what they&#39;d fix first are descriptions of what &lt;em&gt;is&lt;/em&gt; true. Only one set gets gathered by default.&lt;/p&gt;
&lt;h2&gt;What are the seven stages of product and technology diligence?&lt;/h2&gt;
&lt;p&gt;Customer, product, technology, team, economics, risk, and integration. The order matters, because each stage constrains the next. A technology finding means something different depending on what the customer stage revealed, and an integration plan built before the team stage is a plan resting on an assumption about who will still be there to execute it.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;The question&lt;/th&gt;
&lt;th&gt;What it looks like when skipped&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Customer&lt;/td&gt;
&lt;td&gt;Who actually uses this, and will they stay?&lt;/td&gt;
&lt;td&gt;The logo list survives; the champions who renewed it leave&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;What has been promised, to whom?&lt;/td&gt;
&lt;td&gt;Commitments surface after close, priced at zero&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Technology&lt;/td&gt;
&lt;td&gt;What will this cost to run and to change?&lt;/td&gt;
&lt;td&gt;Integration estimates built on the diagram, not the system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team&lt;/td&gt;
&lt;td&gt;Who understands this, and what happens to them at close?&lt;/td&gt;
&lt;td&gt;Retention holds bodies; the knowledge leaves anyway&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Economics&lt;/td&gt;
&lt;td&gt;Which costs are structural, and which are unpaid founder labour?&lt;/td&gt;
&lt;td&gt;Margin evaporates on contact with a real org chart&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Risk&lt;/td&gt;
&lt;td&gt;What is load-bearing that nobody wrote down?&lt;/td&gt;
&lt;td&gt;Discovered during the first incident&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;Consolidate or leave it alone?&lt;/td&gt;
&lt;td&gt;A rational decision that quietly damages the thing you bought&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I keep this frame in my head on every one of these now. The moment a diligence workstream cannot say which stage it is answering, it has usually drifted into gathering documents.&lt;/p&gt;
&lt;h2&gt;What is the difference between the deal&#39;s questions and the operator&#39;s?&lt;/h2&gt;
&lt;p&gt;The deal&#39;s questions are answerable from documents: what exists, what it earns, what it owes. The operator&#39;s questions are answerable only from conversation: what is load-bearing that nobody wrote down, what the team believes the roadmap is, and which departures would actually hurt. Documents are gathered; the other kind has to be asked for.&lt;/p&gt;
&lt;p&gt;That distinction is the whole argument of this series. It also explains why diligence quality correlates poorly with diligence volume. A four-hundred-page data room and six weeks of review can leave every operator question untouched, because none of them have a document that answers them.&lt;/p&gt;
&lt;p&gt;The practical move is small: in every diligence, reserve time for unstructured conversation with the people who will still be doing the work after close. Not a presentation. A conversation, without their leadership in the room, about what they would fix first and what they are worried about. It is the cheapest instrument available and the first thing cut when the timeline compresses.&lt;/p&gt;
&lt;h2&gt;When should you walk away from an acquisition?&lt;/h2&gt;
&lt;p&gt;When the thing being bought turns out to be a person rather than a system, and that person&#39;s incentives end at close. Technical debt is priceable. Integration cost is estimable. Undocumented judgment concentrated in one or two people who are about to become wealthy and unmanaged is the risk with no number attached to it.&lt;/p&gt;
&lt;p&gt;That is not an argument against acquiring small teams. It is an argument for knowing which one you are doing. Buying a system and buying a capability are different transactions with different failure modes, and the diligence that serves one is close to useless for the other.&lt;/p&gt;
&lt;p&gt;The same discipline shows up elsewhere in how I think about building: &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;reduce the uncertainty, establish the evidence, then make the next decision&lt;/a&gt;. An acquisition is that loop run once, expensively, with a signature at the end of it.&lt;/p&gt;
&lt;p&gt;The rest of this series takes the seven stages one at a time.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>When Do Virtual Reality Simulations in Healthcare Education Actually Help?</title>
      <link>https://thinkkeno.com/vr-simulations-in-healthcare-education/</link>
      <guid>https://thinkkeno.com/vr-simulations-in-healthcare-education/</guid>
      <pubDate>Tue, 25 Aug 2026 08:37:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Virtual reality simulations in healthcare education are immersive, headset-based scenarios built to put a learner inside a clinical moment, an OR, a patient room, a mass-casualty scene, so they can rehearse a decision with a sense of presence a screen or a mannequin can&#39;t fully replicate. As of August 2026, after years building VR healthcare education experiments and virtual patient products at WebMD and Medscape, I think the technology gets judged on the wrong question. The question isn&#39;t &amp;quot;does the VR look real.&amp;quot; It&#39;s &amp;quot;does this specific lesson need presence to land.&amp;quot; Most clinical learning goals don&#39;t. Some genuinely do. The programs that get value from VR are the ones that can tell the difference before they buy the headsets, not after.&lt;/p&gt;
&lt;h2&gt;What are virtual reality simulations in healthcare education?&lt;/h2&gt;
&lt;p&gt;Virtual reality simulations in healthcare education are immersive, headset-based scenarios that put a learner inside a clinical environment, a patient room, an OR, a disaster triage scene, so they can rehearse a decision with a sense of presence a screen or a mannequin can&#39;t fully replicate.&lt;/p&gt;
&lt;p&gt;I built products in this exact category. A VR scene isn&#39;t a video with extra steps. It puts the learner&#39;s body in the scene, their head turns and the room turns with it, their attention has to find the crashing vital sign instead of having it framed for them by a camera angle. That&#39;s the actual capability VR adds over a screen-based case: attention has to work the way it works in a real room, scattered, competing for focus, not curated.&lt;/p&gt;
&lt;p&gt;That capability is real. It&#39;s also expensive, and it&#39;s only worth the expense when the lesson specifically depends on it.&lt;/p&gt;
&lt;h2&gt;When does VR actually outperform a lower-fidelity method?&lt;/h2&gt;
&lt;p&gt;VR earns its cost when the learning goal specifically needs spatial awareness, environmental pressure, or the physical feeling of a scene, situations a branching case or a mannequin can&#39;t reproduce. For most decision-based learning, a cheaper method teaches the same lesson.&lt;/p&gt;
&lt;p&gt;Here&#39;s the table I actually use when someone asks whether a program should build in VR:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Learning goal&lt;/th&gt;
&lt;th&gt;Best-fit modality&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Clinical decision reasoning (what to order, what to rule out)&lt;/td&gt;
&lt;td&gt;Branching virtual-patient case (screen-based)&lt;/td&gt;
&lt;td&gt;The decision is in the reasoning, not the room. A screen presents it cheaper and lets you iterate content faster.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Procedural muscle memory (a specific hands-on skill)&lt;/td&gt;
&lt;td&gt;High-fidelity mannequin or task trainer&lt;/td&gt;
&lt;td&gt;The learner needs to feel the physical resistance and repeat the motion. VR controllers don&#39;t replicate that yet.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Situational awareness under environmental pressure (triage, a crashing room, competing alarms)&lt;/td&gt;
&lt;td&gt;VR&lt;/td&gt;
&lt;td&gt;The lesson is what the learner notices and prioritizes in a chaotic space. That&#39;s the one thing a screen can&#39;t stage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Communication and bedside manner&lt;/td&gt;
&lt;td&gt;Standardized patient (a trained human actor)&lt;/td&gt;
&lt;td&gt;The lesson is reading a real human&#39;s affect and responding to it. Nothing synthetic replaces that yet, VR included.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rare, high-stakes, low-frequency events (a mass-casualty scenario, an OR fire)&lt;/td&gt;
&lt;td&gt;VR&lt;/td&gt;
&lt;td&gt;Real rehearsal is impossible or unsafe to run often. VR is the only affordable way to get repetitions.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The pattern in that table: VR wins when the room itself is the teacher, spatial pressure, environmental chaos, an event too rare or dangerous to rehearse physically. It loses, on cost and speed, whenever the lesson lives in the reasoning or the relationship instead of the space.&lt;/p&gt;
&lt;h2&gt;What is instructional fit, and why does it decide whether VR works?&lt;/h2&gt;
&lt;p&gt;Instructional fit is whether the modality matches what you&#39;re actually trying to teach. VR fits goals built on presence and spatial pressure. It&#39;s a poor fit for goals built on judgment and reasoning, where the immersion adds cost without adding learning.&lt;/p&gt;
&lt;p&gt;I&#39;ve watched programs buy VR because it demos well in a stakeholder review, then discover the actual content is a straightforward decision tree that would have worked identically as a web-based case, at a fraction of the build cost and with faster content iteration. The headset didn&#39;t make the lesson worse. It just didn&#39;t make it better, and it made everything slower to update.&lt;/p&gt;
&lt;p&gt;This matches how the healthcare simulation researcher David Gaba framed the whole field in &lt;a href=&quot;https://pubmed.ncbi.nlm.nih.gov/15465951/&quot;&gt;his 2004 paper on simulation&#39;s future&lt;/a&gt;: simulation is &amp;quot;a technique, not a technology.&amp;quot; The guided experience is the thing; the equipment is whatever delivers it. That distinction has stayed contested for twenty years — a &lt;a href=&quot;https://mededu.jmir.org/2026/1/e84684&quot;&gt;2026 review in JMIR Medical Education&lt;/a&gt; revisits it directly, arguing that learner engagement, not physical realism, is what actually carries the learning.&lt;/p&gt;
&lt;p&gt;The honest test I use: write the learning objective first, in one sentence, before choosing the modality. If the sentence is about a decision, a screen usually wins. If the sentence is about a scene, VR usually wins. Picking the modality before the objective exists is how budgets end up spent on the wrong fidelity.&lt;/p&gt;
&lt;h2&gt;How does feedback design change what a VR scenario actually teaches?&lt;/h2&gt;
&lt;p&gt;A VR scene without a clear signal for what the learner&#39;s choice did teaches the room, not the decision. The feedback, a change in the scene, a debrief afterward, is what turns the immersive experience into a lesson instead of a demo.&lt;/p&gt;
&lt;p&gt;This is the same stack I&#39;ve written about for &lt;a href=&quot;/healthcare-simulation-technology/&quot;&gt;healthcare simulation technology generally&lt;/a&gt;: rehearsal only becomes learning once feedback and facilitation are attached to it. VR doesn&#39;t get an exception to that rule. It&#39;s actually more exposed to the risk, because immersion is so convincing that a learner can walk out of a VR scene feeling like they learned something, when what they actually got was a vivid experience with no signal attached to it.&lt;/p&gt;
&lt;p&gt;The fix isn&#39;t more fidelity. It&#39;s a scene that visibly responds to the choice, a deteriorating vital sign, a colleague&#39;s reaction, and a debrief afterward that connects what happened in the headset to the reasoning behind it. Presence without feedback is a very expensive memory, not a lesson.&lt;/p&gt;
&lt;h2&gt;Does the learning from a VR scenario transfer to a real patient encounter?&lt;/h2&gt;
&lt;p&gt;Sometimes, and it&#39;s the question most programs skip. Transfer depends on whether the scenario matches the real decision closely enough and whether a facilitator connects the rehearsal to the next real case afterward. Immersion alone doesn&#39;t guarantee it, and a vivid scene with no follow-up debrief often teaches nothing that survives past the headset.&lt;/p&gt;
&lt;p&gt;Presence and transfer aren&#39;t the same thing. A learner can feel completely present in a VR OR and still fail to apply the lesson three weeks later on the actual unit, because nobody closed the loop between the scenario and the next real decision. That&#39;s a facilitation problem, not a hardware problem, and no amount of visual fidelity fixes it.&lt;/p&gt;
&lt;p&gt;Before scaling a VR program, I&#39;d test the smallest version of the loop first: one scenario, a real debrief, and a before-and-after check on the learner&#39;s confidence and decision-making on a follow-up case. If that small loop doesn&#39;t move the number, more realistic hardware won&#39;t fix it, it&#39;ll just make the same non-result more expensive.&lt;/p&gt;
&lt;p&gt;The same discipline applies here that I&#39;ve written about for &lt;a href=&quot;/ai-ux-patterns/&quot;&gt;AI product interfaces&lt;/a&gt;: the interface, headset or otherwise, isn&#39;t the product. What the learner trusts themselves to do differently afterward is the product. VR is one way to build that. It&#39;s not the only way, and it&#39;s rarely the cheapest one.&lt;/p&gt;
&lt;p&gt;I&#39;m not offering clinical guidance here, and none of this is that. It&#39;s a product and instructional-design view from someone who spent years shipping this category, and where a claim goes beyond my own build history, I&#39;ve kept it qualitative rather than attaching a number I can&#39;t stand behind.&lt;/p&gt;
&lt;p&gt;The headset is a delivery mechanism. Whether it was the right one was always a question about the lesson, not the technology.&lt;/p&gt;
&lt;p&gt;I write more about the fifteen years of specific programs behind these calls &lt;a href=&quot;/about/&quot;&gt;on the About page&lt;/a&gt;.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>An AI Adoption Framework That Starts With Trust</title>
      <link>https://thinkkeno.com/ai-adoption-framework/</link>
      <guid>https://thinkkeno.com/ai-adoption-framework/</guid>
      <pubDate>Sun, 23 Aug 2026 03:43:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;An AI adoption framework is the sequence you run before an AI tool touches real work: confirm readiness, run a bounded pilot, test workflow fit, collect evidence, then decide whether to scale it or kill it. As of August 2026, after 15 years leading product and engineering teams through eight acquisitions inside a regulated clinical research organization, I&#39;ve watched most AI rollouts skip straight to the last step. Someone buys the license, mandates the tool company-wide, and calls adoption a seat count. That&#39;s backward. Trust isn&#39;t a feature you switch on with a license key. It&#39;s something a small group earns with the tool, in a contained space, before anyone extends it to people who never got to watch it fail safely first.&lt;/p&gt;
&lt;h2&gt;What is an AI adoption framework?&lt;/h2&gt;
&lt;p&gt;An AI adoption framework is a five-stage sequence, readiness, a bounded pilot, workflow fit, evidence, and a scale decision, that a team runs before rolling an AI tool out past the people who tested it. Each stage has to pass before the next one starts; skipping ahead is where most rollouts go wrong.&lt;/p&gt;
&lt;p&gt;I think of this the same way Everett Rogers described technology diffusion in &lt;a href=&quot;https://en.wikipedia.org/wiki/Diffusion_of_innovations&quot;&gt;Diffusion of Innovations&lt;/a&gt; back in 1962: adoption moves through a curve, not a switch. A small group tries something first, under conditions everyone agrees to watch closely, and the rest of the organization follows only if that group&#39;s experience holds up. Most AI rollouts I&#39;ve watched treat adoption as a procurement event instead. The tool clears legal and security review, someone announces it in an all-hands, and the curve gets skipped entirely. The framework below is my attempt to put the curve back in, deliberately, instead of hoping it happens on its own.&lt;/p&gt;
&lt;h2&gt;What does readiness mean before you adopt an AI tool?&lt;/h2&gt;
&lt;p&gt;Readiness means you can name the specific workflow problem the tool is supposed to fix, and someone in that workflow agrees it&#39;s a real problem. If the honest answer to &amp;quot;why are we doing this&amp;quot; is &amp;quot;competitors are doing it&amp;quot; or &amp;quot;the budget exists,&amp;quot; the team isn&#39;t ready yet, whatever the tool can do.&lt;/p&gt;
&lt;p&gt;I&#39;ve sat in enough vendor demos to know a capable tool and a ready team are different questions. During the run of acquisitions I led product through, the technology being folded in was rarely the hard part. The hard part was whether the people inheriting it could name what problem it solved for them specifically, not for the org chart. When nobody in the room could answer that in one sentence, the rollout stalled no matter how good the demo looked, and it should have. A tool without a named problem doesn&#39;t get adopted. It gets tolerated until someone quietly stops using it.&lt;/p&gt;
&lt;h2&gt;Why should the first rollout be a bounded pilot, not a launch?&lt;/h2&gt;
&lt;p&gt;A bounded pilot limits the blast radius of being wrong: one team, one workflow, real work, with a stop condition set in advance. A launch mandates the tool for everyone before anyone has proven it earns the trust it&#39;s asking for, so the first bad output lands on people who never chose to test it.&lt;/p&gt;
&lt;p&gt;This is the same discipline behind a good &lt;a href=&quot;/what-is-poc-in-software-development/&quot;&gt;proof of concept&lt;/a&gt;: the pilot exists to answer one question, not to be a smaller version of the eventual rollout. Pick the team with the clearest workflow problem, give them a real stop condition, &amp;quot;if error rate crosses X or the team asks to stop, we stop&amp;quot;, and write it down before the pilot starts, not after something goes wrong. &lt;a href=&quot;https://www.gartner.com/en/research/methodologies/gartner-hype-cycle&quot;&gt;Gartner&#39;s hype cycle&lt;/a&gt; names the failure mode this guards against: the trough after inflated early expectations, when a company-wide mandate meets its first bad week and trust collapses everywhere at once instead of in one contained place.&lt;/p&gt;
&lt;h2&gt;How do you test whether an AI tool actually fits the workflow?&lt;/h2&gt;
&lt;p&gt;Test fit by timing the whole loop, not just the AI&#39;s output: prompting, checking, correcting, and redoing the work when the tool is wrong. If that full loop takes longer than the manual version did, the tool doesn&#39;t fit yet, no matter how good a single output looks in a demo.&lt;/p&gt;
&lt;p&gt;This is the same failure mode I wrote about in &lt;a href=&quot;/ai-ux-patterns/&quot;&gt;AI UX patterns&lt;/a&gt;: a system that looks fast in a demo but hides the real cost in the checking step. A tool that drafts a first pass in ten seconds but needs twenty minutes of correction hasn&#39;t saved anyone twenty minutes; it&#39;s added a new task on top of the old one. Workflow fit isn&#39;t measured by what the tool produces. It&#39;s measured by what the person using it has to do before they&#39;ll actually trust the output enough to ship it.&lt;/p&gt;
&lt;h2&gt;What evidence do you need before you scale an AI pilot?&lt;/h2&gt;
&lt;p&gt;You need evidence measured against the workflow&#39;s real baseline, not against no tool at all: time saved per task, error rate compared to the manual process, and whether the pilot team would keep using it without being told to. An anecdote from the loudest advocate isn&#39;t evidence.&lt;/p&gt;
&lt;p&gt;Here&#39;s the table I actually use when I&#39;m deciding whether a pilot has earned the next stage:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Question it answers&lt;/th&gt;
&lt;th&gt;What a pass looks like&lt;/th&gt;
&lt;th&gt;What happens if it fails&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Readiness&lt;/td&gt;
&lt;td&gt;Is there a named problem, not just a tool budget?&lt;/td&gt;
&lt;td&gt;One team can state the problem in a sentence&lt;/td&gt;
&lt;td&gt;The rollout stalls or gets ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bounded pilot&lt;/td&gt;
&lt;td&gt;Can this be tested without touching every user?&lt;/td&gt;
&lt;td&gt;One team, real work, a written stop condition&lt;/td&gt;
&lt;td&gt;A bad output reaches people who never opted in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow fit&lt;/td&gt;
&lt;td&gt;Does the full loop save time, checking included?&lt;/td&gt;
&lt;td&gt;The loop is faster than the manual version&lt;/td&gt;
&lt;td&gt;The tool adds a task instead of replacing one&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidence&lt;/td&gt;
&lt;td&gt;Do we have numbers, or just enthusiasm?&lt;/td&gt;
&lt;td&gt;Time, error rate, and voluntary continued use&lt;/td&gt;
&lt;td&gt;The scale decision is really a guess&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scale decision&lt;/td&gt;
&lt;td&gt;Does the evidence hold past one team?&lt;/td&gt;
&lt;td&gt;A second team gets the same result&lt;/td&gt;
&lt;td&gt;Scale amplifies a fluke instead of a fix&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The cost of skipping this stage shows up in the aggregate numbers. &lt;a href=&quot;https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/&quot;&gt;MIT&#39;s Project NANDA found&lt;/a&gt; that about 95% of enterprise generative AI pilots delivered no measurable P&amp;amp;L impact, against $30–40 billion in spending, and attributed the gap not to model quality but to workflow integration and the absence of a defined outcome before the build started. That is a description of stages one through four being skipped at scale.&lt;/p&gt;
&lt;p&gt;Skipping the evidence stage is the mistake I see most, because it&#39;s the one stage that costs patience instead of budget. Everyone can find money for a pilot. Fewer people are willing to wait the extra month it takes to know if it actually worked.&lt;/p&gt;
&lt;h2&gt;When should you scale a pilot, and when should you kill it?&lt;/h2&gt;
&lt;p&gt;Scale when the evidence holds across more than one team and a failure inside it is cheap to catch and fix. Kill it when the pilot only worked because of one person&#39;s judgment, or when a failure would be expensive or hard to reverse once it&#39;s everyone&#39;s default.&lt;/p&gt;
&lt;p&gt;This is the same reversibility test I laid out in &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;decision-making under pressure&lt;/a&gt;: a decision that&#39;s cheap to undo deserves less ceremony before you take it, and a decision that&#39;s expensive to undo deserves more, whatever stage of the framework you&#39;re in. An AI pilot that only worked because the one person running it happened to know exactly when to override it isn&#39;t ready to scale. It&#39;s a skilled person doing skilled work, with a tool as a prop. Scaling that removes the one thing that made it safe.&lt;/p&gt;
&lt;p&gt;The framework above isn&#39;t a gate to slow AI down for its own sake. It&#39;s the same sequence I&#39;d want run before adopting any new system inside a regulated workflow, AI or not, because trust has never been a checkbox you clear once. It&#39;s a small group&#39;s experience, extended to a bigger group only after the small group&#39;s experience holds. Most rollouts fail for the boring reason that nobody wrote the stop condition down. The ones that work are the ones that were willing to stay small until the evidence said otherwise.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>AI UX Patterns Worth Building Around</title>
      <link>https://thinkkeno.com/ai-ux-patterns/</link>
      <guid>https://thinkkeno.com/ai-ux-patterns/</guid>
      <pubDate>Sat, 22 Aug 2026 08:35:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;AI UX patterns are the small set of interface decisions, showing a preview before an action runs, making that action reversible, showing where an answer came from, and knowing when to hand off to a person, that decide whether someone trusts an AI product enough to keep using it. As of August 2026, after 15 years building products, including clinical simulation and platform tools where trust had to be earned before intelligence was even useful, I&#39;ve stopped believing the pattern that matters is how the interface looks. The chat bubble, the typing dots, the sparkle icon: none of that is the product. The product is whether a user can tell, in the moment, what the system is about to do and how far they can trust it.&lt;/p&gt;
&lt;h2&gt;What are AI UX patterns?&lt;/h2&gt;
&lt;p&gt;AI UX patterns are the interface decisions that determine whether someone trusts an AI feature enough to keep using it: showing a preview before an action runs, making that action reversible, showing where an answer came from, and knowing when to hand off to a person instead of acting alone.&lt;/p&gt;
&lt;p&gt;Most write-ups of AI UX patterns list surface conventions: streaming text, loading skeletons, a regenerate button. Those are fine details, but they&#39;re not what earns trust. The homepage of this site names the metric I actually design against: time-to-confidence. Not &amp;quot;does the AI work,&amp;quot; but how long before the person in front of it knows what to do next. Surface conventions barely move that number. Structural guarantees do.&lt;/p&gt;
&lt;h2&gt;Why does a preview shorten time-to-confidence?&lt;/h2&gt;
&lt;p&gt;A preview turns a guess into a check. Instead of trusting the system&#39;s judgment about what it&#39;s about to do, the user trusts their own judgment about what they&#39;re looking at, which is a shorter, more reliable path to feeling safe enough to proceed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.github.com/en/copilot/concepts/code-review&quot;&gt;GitHub Copilot&#39;s code review&lt;/a&gt; is the clearest version of this I&#39;ve used. It doesn&#39;t ask you to trust the model&#39;s intent. It shows you the exact lines it wants to change and lets you read them like you&#39;d read any other diff. That&#39;s a smaller cognitive step than &amp;quot;trust the AI,&amp;quot; and smaller steps are what actually get taken under real deadline pressure. It&#39;s the same principle behind a well-built virtual patient case: the learner isn&#39;t asked to trust that the scenario is realistic. They&#39;re shown the exact vitals and history in front of them and asked to read those, the way they&#39;d read a real chart.&lt;/p&gt;
&lt;h2&gt;Why does reversibility matter more than accuracy in an AI product?&lt;/h2&gt;
&lt;p&gt;Accuracy is an average over many uses. Reversibility is a guarantee about this one use. A system that&#39;s wrong 2% of the time but easy to undo feels safer than one that&#39;s wrong 0.5% of the time and hard to walk back, because the user only ever experiences one outcome at a time.&lt;/p&gt;
&lt;p&gt;This is the same math I wrote about in &lt;a href=&quot;/decision-making-under-pressure/&quot;&gt;decision-making under pressure&lt;/a&gt;: whether a move is reversible changes how much scrutiny it deserves before you take it. AI interfaces that skip a reversible design because the model is &amp;quot;usually right&amp;quot; are betting the whole relationship on an average the user never gets to see. One bad, un-undoable action erases a dozen good ones. ChatGPT&#39;s edit-and-regenerate pattern works for the same reason Copilot&#39;s diff does: it treats every output as a draft with a visible undo, not a final answer.&lt;/p&gt;
&lt;h2&gt;What does provenance actually mean in an AI interface?&lt;/h2&gt;
&lt;p&gt;Provenance means the interface shows where an answer came from, a document, a calculation, a model guess, and how confident the system is in it, instead of presenting every output in the same flat, authoritative tone regardless of how solid the ground under it actually is.&lt;/p&gt;
&lt;p&gt;Most AI interfaces flatten this on purpose, because a single confident voice reads as more polished. That&#39;s backward for anything with real stakes. I built &lt;a href=&quot;/healthcare-simulation-technology/&quot;&gt;healthcare simulation&lt;/a&gt; products on the premise that a learner has to know the difference between a fact and a model&#39;s best guess, because in the field that difference is the whole job. An interface that can&#39;t tell the user &amp;quot;this came from the source document&amp;quot; versus &amp;quot;this is the model&#39;s inference&amp;quot; isn&#39;t being simple. It&#39;s hiding the one signal a careful user actually needs.&lt;/p&gt;
&lt;h2&gt;When should an AI product escalate to a human instead of acting alone?&lt;/h2&gt;
&lt;p&gt;Escalate when the stakes are real and the system&#39;s own confidence is low, or when the action can&#39;t be cheaply undone. The boundary has to be visible before the moment it&#39;s needed, not discovered by the user after the system already acted past it.&lt;/p&gt;
&lt;p&gt;Intercom&#39;s &lt;a href=&quot;https://www.intercom.com/help/en/articles/8205718-fin-ai-agent-outcomes&quot;&gt;Fin support agent&lt;/a&gt; is a decent public example: it answers routine questions on its own and hands off to a person when a query falls outside what it&#39;s confident about, and it tells the user that&#39;s happening. Intercom publishes the resolution and handoff outcomes as first-class metrics, which is itself the tell — a vendor treating the escalation boundary as a number worth reporting is a vendor that designed one. The failure mode I&#39;ve watched more often is the opposite: a system with no visible boundary at all, so the user only learns where the edge was after it got crossed badly. Here&#39;s the table I actually use when I&#39;m reviewing an AI feature before it ships, whether it&#39;s a product I&#39;m building or one I&#39;m just using:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pattern&lt;/th&gt;
&lt;th&gt;What it protects&lt;/th&gt;
&lt;th&gt;Failure mode without it&lt;/th&gt;
&lt;th&gt;One way to build it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Preview&lt;/td&gt;
&lt;td&gt;The user&#39;s sense of control&lt;/td&gt;
&lt;td&gt;The action feels like it happened &lt;em&gt;to&lt;/em&gt; them&lt;/td&gt;
&lt;td&gt;Show the exact diff, write, or message before it commits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reversibility&lt;/td&gt;
&lt;td&gt;Trust after a wrong answer&lt;/td&gt;
&lt;td&gt;One bad action erases many good ones&lt;/td&gt;
&lt;td&gt;A visible undo, not a support ticket, for at least 30 seconds after&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Provenance&lt;/td&gt;
&lt;td&gt;Judgment about how much to trust an answer&lt;/td&gt;
&lt;td&gt;Every output reads equally authoritative&lt;/td&gt;
&lt;td&gt;Tag each claim: sourced, calculated, or inferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Escalation&lt;/td&gt;
&lt;td&gt;Safety at the edge of the system&#39;s competence&lt;/td&gt;
&lt;td&gt;The user discovers the boundary after it&#39;s crossed&lt;/td&gt;
&lt;td&gt;A named handoff to a person, offered before confidence drops too far&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;None of these rows are hard to build. What&#39;s hard is deciding, before launch, which stakes are high enough to earn them. A low-stakes feature, a tone suggestion in a draft email, doesn&#39;t need an escalation path. A feature that writes into a patient record or a financial ledger needs all four rows, and it needs them visible, not buried in a settings page nobody opens.&lt;/p&gt;
&lt;p&gt;The pattern I&#39;d push back on if I heard myself arguing it five years ago: that a good enough model eventually makes these guardrails optional. It doesn&#39;t. The guardrails aren&#39;t a hedge against a weak model. They&#39;re the part of the interface that lets a person keep their own judgment in the loop, which is the actual reason anyone trusts a tool enough to keep using it past the first try.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Decision-Making Under Pressure</title>
      <link>https://thinkkeno.com/decision-making-under-pressure/</link>
      <guid>https://thinkkeno.com/decision-making-under-pressure/</guid>
      <pubDate>Thu, 20 Aug 2026 22:20:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Decision-making under pressure is the discipline of choosing your next move before you have full information, while stress is actively narrowing what you can see. As of August 2026, after 15 years building products for people who have to decide under real stakes, in healthcare education and regulated platforms, and 36 hours into a mountain in Utah, I keep landing on the same finding. The failure point is almost never the decide step. It&#39;s the orient step: the moment you have to read your own state honestly before choosing anything. Most advice skips straight from noticing a problem to picking an answer. The systems that hold up under real pressure force an honest orient first, every time, on purpose, before the decide step gets anywhere near the wheel.&lt;/p&gt;
&lt;h2&gt;What does decision-making under pressure actually require?&lt;/h2&gt;
&lt;p&gt;Decision-making under pressure requires three things in order: an honest read of your own state, a next move sized to what you can verify right now, and the discipline to act on that move instead of the plan you made before the pressure changed the picture. Skip the honest read and the rest doesn&#39;t matter.&lt;/p&gt;
&lt;p&gt;The homepage of this site names the metric I actually care about as a product person: time-to-confidence. How long before someone under pressure knows what to do next? Not the full plan. The next move.&lt;/p&gt;
&lt;p&gt;That&#39;s a narrower question than it sounds. Most decision frameworks I&#39;ve seen in product work are built for the calm room: gather data, weigh options, decide. Under real pressure, that sequence collapses. There isn&#39;t time to gather, and the data you have is already partial. What survives the collapse is a habit, not a spreadsheet.&lt;/p&gt;
&lt;h2&gt;Why does pressure distort decisions that calm analysis would get right?&lt;/h2&gt;
&lt;p&gt;Pressure narrows attention to the loudest signal in the room, which is rarely the most important one. Under real stress, working memory shrinks and the mind reaches for the first plausible option instead of the best one. That&#39;s not a character flaw. Gary Klein&#39;s &lt;a href=&quot;https://en.wikipedia.org/wiki/Recognition-primed_decision&quot;&gt;recognition-primed decision model&lt;/a&gt;, built from field studies of fireground commanders, trauma nurses, and other people who decide fast for a living, describes it as how expertise actually works: experts recognize a workable option and pressure-test that one, rather than generating alternatives and comparing them. It&#39;s what the decision system does when the clock is running out.&lt;/p&gt;
&lt;p&gt;US Air Force colonel John Boyd built his &lt;a href=&quot;https://en.wikipedia.org/wiki/OODA_loop&quot;&gt;OODA loop&lt;/a&gt;, observe, orient, decide, act, around exactly this problem in the early 1970s: in combat, the pilot who cycled through that loop faster and more honestly won, not the pilot with the better plan going in. The insight generalizes past cockpits. Speed alone doesn&#39;t help. An honest orient step, run fast, is what helps.&lt;/p&gt;
&lt;p&gt;I learned this on a mountain, not in a product review. Twenty minutes into a 36-hour climb in Utah, my watch read 163 beats per minute, a number I recognized as unsustainable for the fourteen hours still ahead of me. The instinct under pressure was to keep pace with the line of climbers around me. I&#39;d already diagnosed the man ahead of me as pushing too hard before I&#39;d looked at my own number. That&#39;s the tell: pressure makes you a sharp observer of everyone except yourself.&lt;/p&gt;
&lt;h2&gt;What is the orient-decide-act system for high-pressure moments?&lt;/h2&gt;
&lt;p&gt;Orient means naming your actual state and the actual stakes, out loud if you can, before you touch a decision. Decide means picking the smallest next move that matches what you just named, not the whole plan. Act means doing that one move, then orienting again. It&#39;s a loop, not a single choice.&lt;/p&gt;
&lt;p&gt;The move that actually works under pressure depends on two things: how much the decision costs to get wrong, and how easy it is to reverse. I use a version of this table when I&#39;m coaching a team through a launch decision or working out my own next move under a hard deadline:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stakes&lt;/th&gt;
&lt;th&gt;Reversible?&lt;/th&gt;
&lt;th&gt;What to spend on &amp;quot;orient&amp;quot;&lt;/th&gt;
&lt;th&gt;Right move&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Almost nothing&lt;/td&gt;
&lt;td&gt;Decide fast, act, check the result&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;A little&lt;/td&gt;
&lt;td&gt;Decide fast, but name the one-way part out loud first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Enough to see the real risk&lt;/td&gt;
&lt;td&gt;Decide fast, act, revisit on a short clock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;As much as the situation allows&lt;/td&gt;
&lt;td&gt;Slow the clock on purpose before deciding&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Most bad decisions under pressure happen in that bottom-right box, treated like the top-left one. The stakes are real and the move can&#39;t be undone, but pressure makes it feel exactly like every other fast call that day. Naming which box you&#39;re actually in is the orient step. It takes seconds. It&#39;s also the step people skip first.&lt;/p&gt;
&lt;h2&gt;How do you practice decision-making under pressure before you need it?&lt;/h2&gt;
&lt;p&gt;You rehearse the orient step specifically, in a setting where a wrong call costs little: a simulation, a low-stakes deadline, a hard training day. The goal isn&#39;t to memorize answers. It&#39;s to make the habit of an honest self-check automatic before you&#39;re somewhere that habit is expensive to be missing.&lt;/p&gt;
&lt;p&gt;This is the same argument I make about &lt;a href=&quot;/healthcare-simulation-technology/&quot;&gt;healthcare simulation technology&lt;/a&gt;: the equipment isn&#39;t the point, the rehearsal is. A clinician who has run a scenario forty times isn&#39;t smarter in the moment. They&#39;ve already automated the orient step, so the decide step has room to work. The mountain taught me the same lesson with worse graphics. Stepping off the line at minute twenty wasn&#39;t a dramatic act of willpower. It was a rehearsed habit, built on easier days, firing on a hard one. I wrote the full account of that climb in &lt;a href=&quot;/the-sorting/&quot;&gt;The Sorting&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;When should you slow down instead of deciding fast?&lt;/h2&gt;
&lt;p&gt;Slow down when the move is hard to reverse and the stakes are real. Speed is free when you can undo a bad call cheaply. It gets expensive fast on a one-way decision, and pressure is exactly when people default to fast, because fast feels like competence.&lt;/p&gt;
&lt;p&gt;That&#39;s the part I&#39;d push back on if I heard myself giving this advice five years ago. Fast isn&#39;t the virtue. An honest orient step, at whatever speed the situation actually allows, is the virtue. Sometimes that&#39;s half a second on a trail. Sometimes it&#39;s a day you buy yourself before a launch decision you can&#39;t take back. The system doesn&#39;t change. What changes is how much time the stakes earn you to run it.&lt;/p&gt;
&lt;p&gt;I build this into how I think about product work now: reduce the problem until the next move is possible, then take it. Pressure doesn&#39;t remove that next move. It just makes people forget to look for it.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>What Is POC in Software Development?</title>
      <link>https://thinkkeno.com/what-is-poc-in-software-development/</link>
      <guid>https://thinkkeno.com/what-is-poc-in-software-development/</guid>
      <pubDate>Wed, 19 Aug 2026 08:35:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;A POC, or proof of concept, is a small technical exercise built to answer one question: can this specific approach actually work? As of August 2026, after 15 years shipping platform software in regulated industries like healthcare, where &amp;quot;can this even work&amp;quot; had to be answered before anyone signed off on a budget, I still see teams confuse a POC with a small version of the finished product. It isn&#39;t sold, shown to real users, or judged on polish. It&#39;s built to remove one specific kind of doubt: technical feasibility, not market demand. Get that distinction wrong, and you either burn a quarter proving something nobody was worried about, or you skip the proof entirely and find out the hard way, mid-build, that the approach doesn&#39;t scale.&lt;/p&gt;
&lt;h2&gt;What is a POC in software development?&lt;/h2&gt;
&lt;p&gt;A POC, or proof of concept, is a small technical exercise built to answer one question: can this specific approach actually work? It isn&#39;t sold, shown to real users, or judged on polish. It exists to remove technical doubt before anyone commits budget or a team to building the real thing.&lt;/p&gt;
&lt;p&gt;Here&#39;s what I keep coming back to: a POC answers exactly one question, and the discipline is picking that question correctly. &amp;quot;Can we sync this legacy database to a modern API without corrupting records&amp;quot; is a POC question. &amp;quot;Will customers pay for this&amp;quot; is not.&lt;/p&gt;
&lt;p&gt;I&#39;ve watched engineers spend three weeks polishing a POC&#39;s error handling and logging. None of that mattered. The only thing that mattered was whether the core mechanism worked, and every hour spent past that answer was an hour taken from somewhere else.&lt;/p&gt;
&lt;h2&gt;Why do teams build a proof of concept?&lt;/h2&gt;
&lt;p&gt;Teams build a POC when the biggest risk isn&#39;t whether users want something, it&#39;s whether the technology can deliver it at all. A POC answers that question cheaply, with throwaway code, before an engineering team spends months building on an assumption that turns out to be false.&lt;/p&gt;
&lt;p&gt;In regulated platform work, that risk shows up constantly. Can this integration meet the audit trail requirements. Can this model run inference fast enough on the hardware a clinic actually owns, not the hardware a vendor demo used. Those are expensive questions to get wrong after the real build starts.&lt;/p&gt;
&lt;p&gt;A POC is deliberately disposable. I&#39;ve written POC code I knew would never see a production repository, because keeping it clean would have cost time the exercise didn&#39;t need. The only deliverable is the answer: yes, this works, or no, it doesn&#39;t, and here&#39;s why.&lt;/p&gt;
&lt;h2&gt;How is a POC different from an MVP?&lt;/h2&gt;
&lt;p&gt;A POC proves an approach is technically possible. An MVP proves people want the resulting product. A POC can be ugly, single-purpose, and thrown away. An MVP has to be a real product real users can actually use, because it&#39;s answering a demand question, not a feasibility one.&lt;/p&gt;
&lt;p&gt;I wrote about this distinction in more depth in &lt;a href=&quot;/what-is-mvp-in-software-development/&quot;&gt;what an MVP actually is&lt;/a&gt;, but the short version is that these two terms answer different risks, and treating them as interchangeable stages of the same ladder is how teams lose months. A POC that works doesn&#39;t mean users want it. An MVP that users like doesn&#39;t mean the underlying approach will hold up at scale.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Proof of Concept&lt;/th&gt;
&lt;th&gt;Prototype&lt;/th&gt;
&lt;th&gt;MVP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Question it answers&lt;/td&gt;
&lt;td&gt;Can this be built?&lt;/td&gt;
&lt;td&gt;What should this look and feel like?&lt;/td&gt;
&lt;td&gt;Do people want this?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shown to real users?&lt;/td&gt;
&lt;td&gt;Rarely&lt;/td&gt;
&lt;td&gt;Sometimes, for feedback&lt;/td&gt;
&lt;td&gt;Yes, always&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built to last?&lt;/td&gt;
&lt;td&gt;No, throwaway&lt;/td&gt;
&lt;td&gt;No, throwaway&lt;/td&gt;
&lt;td&gt;Yes, real product&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Success measured by&lt;/td&gt;
&lt;td&gt;Technical proof&lt;/td&gt;
&lt;td&gt;Clarity of the flow&lt;/td&gt;
&lt;td&gt;Real user behavior&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I keep a version of this table in my head on every new platform effort. The moment a team can&#39;t say which column they&#39;re in, that&#39;s the moment the timeline starts slipping.&lt;/p&gt;
&lt;h2&gt;Proof of concept vs prototype: what&#39;s the difference?&lt;/h2&gt;
&lt;p&gt;The difference between a proof of concept and a prototype is what each one is trying to find out. A proof of concept tests one narrow technical unknown in isolation — often just a script or a spike, with no interface at all. A prototype tests how a whole experience feels or flows, usually with a visual interface a stakeholder can click through. &lt;strong&gt;A proof of concept proves capability; a prototype proves shape.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Put the shortest way I can: if the question is &lt;em&gt;can we build this&lt;/em&gt;, you want a proof of concept. If the question is &lt;em&gt;should it work like this&lt;/em&gt;, you want a prototype. They are not stages of the same ladder, and running them in the wrong order is how teams spend a quarter answering a question nobody was asking.&lt;/p&gt;
&lt;p&gt;I use both, and I&#39;ve seen teams reach for the wrong one more than once. A prototype in Figma or a clickable frontend answers &amp;quot;does this flow make sense to a human.&amp;quot; It doesn&#39;t touch the hard backend question sitting underneath it.&lt;/p&gt;
&lt;p&gt;A proof of concept skips the interface entirely, most of the time. Nobody needs a polished screen to know whether a batch job can process a million records in the maintenance window. That&#39;s a terminal output and a stopwatch, not a design review.&lt;/p&gt;
&lt;p&gt;The three-way comparison further up — proof of concept, prototype, MVP — is the version of this I keep in my head, because the prototype question and the MVP question get confused just as often as this one does.&lt;/p&gt;
&lt;p&gt;The numbers on this are worse than most teams assume. &lt;a href=&quot;https://www.gartner.com/en/newsroom/press-releases/2024-07-29-gartner-predicts-30-percent-of-generative-ai-projects-will-be-abandoned-after-proof-of-concept-by-end-of-2025&quot;&gt;Gartner predicted in July 2024&lt;/a&gt; that at least 30% of generative AI projects would be abandoned after proof of concept by the end of 2025, citing poor data quality, unclear business value, and escalating costs. A year later, &lt;a href=&quot;https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/&quot;&gt;MIT&#39;s Project NANDA reported&lt;/a&gt; that roughly 95% of enterprise generative AI pilots had produced no measurable P&amp;amp;L impact, against $30–40 billion in spending. In my experience the gap usually traces back to exactly this confusion: a team proved a model could technically produce an answer, then mistook that for proof the whole product was ready.&lt;/p&gt;
&lt;h2&gt;When should you skip the POC?&lt;/h2&gt;
&lt;p&gt;Skip the POC when the technical approach is already well established, like building a CRUD app with a mainstream framework, because there&#39;s no real feasibility doubt to resolve. Also skip it when the honest risk is whether anyone wants the thing, not whether it can be built. That&#39;s an MVP question.&lt;/p&gt;
&lt;p&gt;A proof step earns its cost only when a real technical unknown exists, not as a default ritual before every project. I&#39;ve sat in kickoff meetings where a POC got added to the plan out of habit, for an integration the team had built the same way a dozen times before. That&#39;s not risk reduction. That&#39;s a stalling tactic wearing a process badge.&lt;/p&gt;
&lt;p&gt;The honest question to ask before scoping a POC is simple: what specifically don&#39;t we know how to do yet? If nobody in the room can answer that in one sentence, you don&#39;t need a POC. You need to start building, or you need to go find out whether anyone wants what you&#39;re about to build, which is a different exercise entirely, closer to what I described in &lt;a href=&quot;/what-is-mvp-in-software-development/&quot;&gt;what an MVP actually is&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The same discipline that says &amp;quot;prove the risky part first&amp;quot; is the same judgment call I wrote about in &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;what AI has and hasn&#39;t replaced in software engineering&lt;/a&gt;: the tools can help you write the throwaway code faster. They can&#39;t tell you which question is actually worth proving.&lt;/p&gt;
&lt;p&gt;I write more about how I make these calls, and about the fifteen years of specific mistakes behind them, &lt;a href=&quot;/about/&quot;&gt;on the About page&lt;/a&gt;.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>What Is Healthcare Simulation Technology?</title>
      <link>https://thinkkeno.com/healthcare-simulation-technology/</link>
      <guid>https://thinkkeno.com/healthcare-simulation-technology/</guid>
      <pubDate>Tue, 18 Aug 2026 15:42:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Healthcare simulation technology is the tools, mannequins, virtual patients, and VR scenarios that let clinicians rehearse high-stakes decisions before making them on a real patient, plus the feedback and facilitation that turn that rehearsal into real learning. As of August 2026, after spending most of my career building virtual patient simulations and immersive medical education products at WebMD, Medscape, and Shadow Health, I think the equipment gets too much of the attention and the system around it gets too little. The technology that matters isn&#39;t the headset or the mannequin. It&#39;s a four-part stack underneath: a realistic rehearsal scenario, structured feedback, skilled facilitation, and a change in the learner&#39;s confidence that outlasts the session. Skip any one layer, and the equipment is just an expensive prop.&lt;/p&gt;
&lt;h2&gt;What is healthcare simulation technology?&lt;/h2&gt;
&lt;p&gt;Healthcare simulation technology is the tools, mannequins, virtual patients, and VR scenarios that let clinicians rehearse high-stakes decisions before making them on a real patient, plus the feedback and facilitation that turn that rehearsal into real learning. The equipment is the delivery mechanism, not the product.&lt;/p&gt;
&lt;p&gt;Here&#39;s what I keep coming back to: when people say &amp;quot;simulation technology,&amp;quot; they usually mean the hardware. A high-fidelity mannequin that breathes and bleeds. A VR headset with a photorealistic patient room. A branching virtual-patient case with a hundred decision points.&lt;/p&gt;
&lt;p&gt;I built products in that category for years. The hardware and content are real, and they matter. But none of it is the thing being purchased. What a hospital, a nursing school, or a medical education company is actually buying is a change in how a clinician behaves under pressure, later, when it counts. The mannequin is one way to deliver that. It&#39;s not the definition of it.&lt;/p&gt;
&lt;p&gt;That distinction sounds academic until you watch two programs with the same budget produce different results, because one spent it on fidelity and the other spent it on the system around the fidelity.&lt;/p&gt;
&lt;h2&gt;What are the four layers of the simulation stack?&lt;/h2&gt;
&lt;p&gt;Rehearsal, feedback, facilitation, and confidence. Rehearsal lets the learner practice the decision, feedback tells them what their choice did, facilitation makes sure the lesson survives past the room, and confidence is the measurable change that outlasts the session. Skip a layer and the equipment is an expensive prop.&lt;/p&gt;
&lt;p&gt;I think of it as a stack because each layer depends on the one below it actually working. Here&#39;s the map I use when I&#39;m evaluating or building a simulation product:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;What breaks without it&lt;/th&gt;
&lt;th&gt;Example modality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rehearsal&lt;/td&gt;
&lt;td&gt;Lets the learner practice making the decision, not just watch someone else make it&lt;/td&gt;
&lt;td&gt;The learner arrives at the real event never having made the call before&lt;/td&gt;
&lt;td&gt;High-fidelity mannequin, VR clinical scenario, branching virtual-patient case&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feedback&lt;/td&gt;
&lt;td&gt;Shows the learner what their choice actually did, during the scenario or right after&lt;/td&gt;
&lt;td&gt;The learner repeats the same mistake because nothing ever corrected it&lt;/td&gt;
&lt;td&gt;A mannequin&#39;s physiological response, a virtual patient&#39;s changing vitals or outcome&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Facilitation&lt;/td&gt;
&lt;td&gt;A trained person frames the debrief so the lesson generalizes past this one scenario&lt;/td&gt;
&lt;td&gt;Learners leave defensive or numb instead of changed&lt;/td&gt;
&lt;td&gt;A structured, trained-facilitator debrief, not a checklist read aloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Confidence&lt;/td&gt;
&lt;td&gt;The measurable shift in how ready the learner feels, and performs, on the next real case&lt;/td&gt;
&lt;td&gt;The program looks busy on a dashboard but nothing changes at the bedside&lt;/td&gt;
&lt;td&gt;Pre/post confidence and competency assessment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The rows that get funded first are almost always rehearsal and, sometimes, feedback. They&#39;re the visible, purchasable parts. Facilitation is a training and staffing problem, not a line item on a hardware quote, so it&#39;s the layer most likely to get squeezed when budgets tighten. That&#39;s an observation from building and buying in this space for over a decade, not a universal law. I&#39;ve also seen well-resourced programs get it right.&lt;/p&gt;
&lt;h2&gt;How does simulation build clinical confidence, not just skill?&lt;/h2&gt;
&lt;p&gt;Skill is being able to perform the task correctly. Confidence is trusting yourself to perform it under pressure, which only comes from rehearsing the decision enough times that it stops feeling foreign. A well-run debrief is what converts one rehearsal into confidence instead of just a memory.&lt;/p&gt;
&lt;p&gt;This distinction shows up constantly in nursing and clinical education research under the name debriefing, and it&#39;s the part of the stack I&#39;d defend most if a budget forced a choice. The educator and researcher &lt;a href=&quot;https://nursing.vanderbilt.edu/news/2021/11/26/sidebar-nln-jeffries-simulation-theory/&quot;&gt;Pamela Jeffries&lt;/a&gt; built much of the modern academic framework around exactly this idea, that the structured reflection after a scenario is where the actual learning transfer happens, not the scenario itself.&lt;/p&gt;
&lt;p&gt;I saw the same pattern building virtual patient products: a learner could get every decision &amp;quot;right&amp;quot; in a scenario and still walk away without more confidence, because nobody helped them connect the choice to the reasoning behind it. The scenario taught an answer. The debrief is what teaches judgment.&lt;/p&gt;
&lt;h2&gt;Where do simulation programs actually fail?&lt;/h2&gt;
&lt;p&gt;Most failures I&#39;ve seen weren&#39;t the technology. They were budget going to fidelity, better mannequins, sharper graphics, while facilitator training and debrief time got cut. A photorealistic scenario with a rushed, unskilled debrief teaches less than a simple scenario with a great one.&lt;/p&gt;
&lt;p&gt;That&#39;s my honest read after years on the product and platform side of this industry, and it&#39;s an inference from a lot of specific programs, not a claim I can attach a single statistic to. The pattern is consistent enough that I trust it: fidelity is the easiest thing to demo to a stakeholder, and the easiest thing to point to when justifying a budget renewal. A great debrief doesn&#39;t photograph well in a sales deck.&lt;/p&gt;
&lt;p&gt;The other common failure is treating simulation as a one-time event instead of a rehearsal cadence. One scenario, run once a year, builds almost nothing durable. The confidence layer is a curve, not a checkbox, and it needs enough repetitions to actually move.&lt;/p&gt;
&lt;h2&gt;What should product teams test first before scaling a simulation program?&lt;/h2&gt;
&lt;p&gt;Test whether a single scenario changes a learner&#39;s stated confidence and decision-making on a follow-up case, before you invest in more hardware or more content. If the smallest version of the loop, rehearsal, feedback, facilitation, doesn&#39;t move that number, more fidelity won&#39;t fix it.&lt;/p&gt;
&lt;p&gt;This is the same instinct I wrote about in &lt;a href=&quot;/what-is-mvp-in-software-development/&quot;&gt;what an MVP actually tests&lt;/a&gt;: find the cheapest version of the loop that can prove or disprove the hypothesis, before you spend real budget scaling the wrong thing. In simulation, the hypothesis is &amp;quot;this rehearsal, done this way, changes behavior.&amp;quot; Test that with the smallest scenario you can build, a real debrief, and a before-and-after confidence check. Everything after that, more fidelity, more content, more seats, is scaling something you&#39;ve already proven works.&lt;/p&gt;
&lt;p&gt;It&#39;s worth asking the same question I keep asking about AI adoption in &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;will AI replace software engineers&lt;/a&gt;: the tools in this space keep getting more capable, VR headsets cheaper, virtual patients more responsive, and none of that changes what the stack is for. Better rehearsal tools still need feedback, facilitation, and a way to prove the confidence actually moved.&lt;/p&gt;
&lt;p&gt;I&#39;m not writing this as clinical advice, and none of it is. It&#39;s a product and learning-design view from someone who spent most of his career shipping this category. Where the technical or research claims get more specific than my own build history, I&#39;ve linked the source or kept the claim deliberately qualitative.&lt;/p&gt;
&lt;p&gt;The equipment is the part anyone can buy. The stack is the part that has to be built.&lt;/p&gt;
&lt;p&gt;I write more about how I make these calls, and the fifteen years of specific programs behind them, &lt;a href=&quot;/about/&quot;&gt;on the About page&lt;/a&gt;.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Internet Marketing Services. Delivered.</title>
      <link>https://thinkkeno.com/internet-marketing-services/</link>
      <guid>https://thinkkeno.com/internet-marketing-services/</guid>
      <pubDate>Mon, 17 Aug 2026 16:05:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;From the late 2000s until 2013, this URL sold internet marketing services to businesses in Raleigh, Durham, and Cary: web design, SEO, email campaigns, social media, and a contact form with a checkbox that read &amp;quot;I want to be #1 on Google.&amp;quot; Then the agency era ended and the page went dark. The address spent a decade returning nothing. Google never stopped asking for it. My Search Console shows the crawler still requesting this exact URL in August 2026, flagging it as a missing page it expected to find. So the page is back, with the only honest answer I can give: every tactic it sold is dead, the lesson underneath them is not, and while I still take on a client or two when the fit is right, it works nothing like the page once promised.&lt;/p&gt;
&lt;h2&gt;What did this page used to sell?&lt;/h2&gt;
&lt;p&gt;Everything a small business wanted in 2010: web design, SEO, email marketing, social media, and results. The copy called Thinkkeno a results-oriented full-service agency that turned web clicks into customers. The contact form had a budget dropdown that climbed to $20,000+ and a checkbox that said &amp;quot;I want to be #1 on Google.&amp;quot;&lt;/p&gt;
&lt;p&gt;I wrote every word of it. Some of it holds up. Most of it reads like a time capsule from an internet that no longer exists.&lt;/p&gt;
&lt;p&gt;The boldest line on the page: &amp;quot;On average, for every $1 spent on Thinkkeno services, our clients receive $10 in return.&amp;quot;&lt;/p&gt;
&lt;p&gt;I cannot produce the spreadsheet behind that sentence today. I am not sure I could have produced it then. Neither could most of the agencies writing sentences like it, which is the first thing to understand about the internet marketing era: the numbers were vibes wearing a suit.&lt;/p&gt;
&lt;p&gt;The work itself was real, though. Real websites, real rankings, real restaurants full of customers who found them online. The independent decade in &lt;a href=&quot;/projects/&quot;&gt;The Record&lt;/a&gt; is this page&#39;s receipts.&lt;/p&gt;
&lt;h2&gt;What happened to internet marketing?&lt;/h2&gt;
&lt;p&gt;The name kept molting: internet marketing became digital marketing, then growth, then performance marketing, and by 2026 the battleground moved to answer engines. Nearly every tactic this page sold is dead. What survived is the boring layer underneath: a real domain, verifiable work, and claims that hold up when a machine checks them.&lt;/p&gt;
&lt;p&gt;Directory submissions died. Keyword density died. Exact-match domains, reciprocal links, press-release blasts: all gone. &amp;quot;Web clicks&amp;quot; stopped being a phrase anyone says out loud.&lt;/p&gt;
&lt;p&gt;The promise on my own contact form aged worst of all. Nobody honest ever sold #1 on Google. Rankings were always rented, and the landlord kept changing the locks.&lt;/p&gt;
&lt;p&gt;Here is what I find funny now. I still do search optimization, for this site. But the playbook inverted. In 2010 you chased the engine. In 2026 you try to be the thing engines can verify: one consistent name, claims with dates, pages that actually answer the question they rank for. &lt;a href=&quot;/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/&quot;&gt;Another page from this era&lt;/a&gt; got rebuilt for the same reason.&lt;/p&gt;
&lt;p&gt;The tactics expired. The principle never did: be worth finding, and be easy to verify.&lt;/p&gt;
&lt;h2&gt;Why is Google still asking for this page?&lt;/h2&gt;
&lt;p&gt;Because search engines have long memories and URLs are promises. Google flagged this missing URL in July 2026 and was still crawling it in August, roughly a decade after the page went dark. Old links, old citations, and index history keep an address alive long after the business behind it is gone.&lt;/p&gt;
&lt;p&gt;That fact stopped me when I saw it. The campaigns from this era are dust. The rankings are dust. The one asset that outlived everything was the address itself.&lt;/p&gt;
&lt;p&gt;A URL is the only promise a website makes that can outlive the website.&lt;/p&gt;
&lt;p&gt;So when Search Console showed a crawler politely requesting a page that died a decade ago, the right move was not a redirect. It was an answer. This is the third URL from the old site rebuilt at its original address, and it earned the spot differently than the others: not because a backlink points here, but because the machine kept asking.&lt;/p&gt;
&lt;h2&gt;Do you still sell internet marketing services?&lt;/h2&gt;
&lt;p&gt;Selectively, yes. The full-time agency closed around 2010 when I went inside the platforms: a decade-plus leading product at WebMD/Medscape and Elsevier. Today I build Keel, publish this site, and take on a small number of client engagements a year, when the fit is right. The form at the bottom of this page is how that conversation starts.&lt;/p&gt;
&lt;p&gt;The longer version of that arc is on &lt;a href=&quot;/about/&quot;&gt;the about page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is what changed between 2010 and now. Then, I needed every yes. The budget dropdown started at zero because the business could not afford to filter. Now the work has to earn the yes: a real problem, a number worth moving, and honesty on both sides about whether I am the right person to move it.&lt;/p&gt;
&lt;p&gt;That honesty is the deliverable I recommend you demand from anyone you hire, me included: a person who tells you what they can&#39;t do. That was always the trick. It filtered the honest shops from the ones selling $10 back for every $1 in.&lt;/p&gt;
&lt;p&gt;This page spent a decade as a broken promise at a good address.&lt;/p&gt;
&lt;p&gt;Google kept asking. Here is the answer.&lt;/p&gt;
&lt;p&gt;Delivered.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>What Is MVP in Software Development?</title>
      <link>https://thinkkeno.com/what-is-mvp-in-software-development/</link>
      <guid>https://thinkkeno.com/what-is-mvp-in-software-development/</guid>
      <pubDate>Mon, 17 Aug 2026 08:36:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;An MVP, or minimum viable product, is the smallest version of a product that lets you test your core hypothesis with real users, not a smaller version of the whole finished thing. As of August 2026, after 15 years shipping products across healthcare, EdTech, and regulated systems, I still watch teams confuse the two, and build months of extra scope before anyone outside the company ever touches the thing. The term is older than the startup hype cycle around it. &lt;a href=&quot;https://www.syncdev.com/minimum-viable-product/&quot;&gt;Frank Robinson&lt;/a&gt; used it in a product strategy context years before Eric Ries&#39;s &lt;a href=&quot;https://theleanstartup.com/principles&quot;&gt;&lt;em&gt;The Lean Startup&lt;/em&gt;&lt;/a&gt; made it mainstream. The point was never speed for its own sake. It was learning the cheapest way possible, before you commit real engineering time to the wrong assumption.&lt;/p&gt;
&lt;h2&gt;What is an MVP in software development?&lt;/h2&gt;
&lt;p&gt;An MVP in software development is the smallest working version of a product built to test one core assumption with real users, not the smallest version of your finished vision. It ships fast, measures a real reaction, and tells you whether to keep building or change direction before you spend months finding out.&lt;/p&gt;
&lt;p&gt;Here&#39;s what I keep coming back to: the word doing the work in that sentence is &lt;em&gt;viable&lt;/em&gt;, not &lt;em&gt;minimum&lt;/em&gt;. Minimum without viable is an unfinished product, nothing more. Viable without minimum is a slow, expensive way to learn the same thing.&lt;/p&gt;
&lt;p&gt;I&#39;ve watched teams build a beautiful, feature-complete first release and call it an MVP because it shipped early in the company&#39;s life. That&#39;s not what the term means. An MVP is defined by the hypothesis it tests, not by the calendar.&lt;/p&gt;
&lt;h2&gt;Why does the MVP pattern exist?&lt;/h2&gt;
&lt;p&gt;The MVP pattern exists because most product failure is a guessing problem before it&#39;s a building problem. Teams spend months of engineering time on features nobody asked for, then learn the mismatch after launch. An MVP moves that discovery earlier and cheaper, when a wrong guess costs weeks instead of a year.&lt;/p&gt;
&lt;p&gt;The honest answer is that engineering time is the most expensive thing most product teams have. Every sprint spent building the wrong feature is a sprint you cannot get back, and a competitor you cannot out-guess forever.&lt;/p&gt;
&lt;p&gt;The oldest version of this idea I know of, before either Robinson or Ries put a name on it, was a founder recording a short demo video of a product that did not exist yet, then measuring who signed up.&lt;/p&gt;
&lt;p&gt;No code. Real signal.&lt;/p&gt;
&lt;p&gt;That instinct, test the assumption before you build the machine, is the whole pattern.&lt;/p&gt;
&lt;h2&gt;How is MVP different from a prototype?&lt;/h2&gt;
&lt;p&gt;A prototype tests whether something can be built or how it should look, and it rarely touches real users or real data. An MVP is a real, working product released to real users to test whether they want it. A prototype answers a feasibility question; an MVP answers a demand question.&lt;/p&gt;
&lt;p&gt;I use both, for different jobs. A clickable prototype tells you if a flow makes sense before you write a line of production code. It never leaves the building.&lt;/p&gt;
&lt;p&gt;An MVP leaves the building on purpose. It has to, or it can&#39;t answer the question it exists to answer.&lt;/p&gt;
&lt;p&gt;This is the same distinction I wrote about in &lt;a href=&quot;/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/&quot;&gt;emotionally intelligent design&lt;/a&gt;: a prototype can look right in a design review and still feel wrong in a real person&#39;s hands. You don&#39;t find that out until real users touch the real thing.&lt;/p&gt;
&lt;h2&gt;What&#39;s the difference between MVP and MLP (Minimum Lovable Product)?&lt;/h2&gt;
&lt;p&gt;An MVP proves people will use the thing enough to test your hypothesis. An MLP goes further and asks whether they love it enough to stay, tell a friend, or pay for it. MVP clears a validation bar; MLP clears a retention bar, and it almost always costs more to reach.&lt;/p&gt;
&lt;p&gt;I think the MLP idea is a useful correction, not a replacement. Plenty of teams shipped a technically validated MVP that nobody enjoyed using, called the experiment a success, and then wondered why retention was terrible. Viable and lovable are different questions with different price tags.&lt;/p&gt;
&lt;p&gt;Deciding which bar you&#39;re clearing, and being honest about which one you actually cleared, is a judgment call. It&#39;s the same kind of call I wrote about when I asked &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;what AI has and hasn&#39;t replaced in software engineering&lt;/a&gt;: the tools can help you build either one faster. They can&#39;t tell you which one your team needs right now.&lt;/p&gt;
&lt;h2&gt;When shouldn&#39;t you build an MVP?&lt;/h2&gt;
&lt;p&gt;Skip the MVP pattern in regulated spaces, like medical devices or clinical workflows, where a half-built version can hurt someone before it can teach you anything. Also skip it when the demand question is already answered and the real risk is execution, not desirability. In both cases, minimum is the wrong axis to optimize.&lt;/p&gt;
&lt;p&gt;I spent years in regulated health systems, where &amp;quot;ship the smallest thing and see what happens&amp;quot; is not a strategy, it&#39;s a liability. In that world, you validate the hypothesis a different way: paper workflows, closed pilots, stakeholders who can veto before code ships.&lt;/p&gt;
&lt;p&gt;The MVP instinct is still there. The word &amp;quot;viable&amp;quot; means something stricter.&lt;/p&gt;
&lt;p&gt;The same logic holds anywhere the cost of being wrong in public outweighs the cost of researching the answer in private.&lt;/p&gt;
&lt;p&gt;So the honest definition is not &amp;quot;the smallest thing you can ship.&amp;quot; It&#39;s the smallest thing that answers the question you&#39;re actually asking. Get the question wrong, and no amount of minimum saves you.&lt;/p&gt;
&lt;p&gt;I write more about how I make these calls, and about the fifteen years of specific mistakes behind them, &lt;a href=&quot;/about/&quot;&gt;on the About page&lt;/a&gt;.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Will AI Replace Software Engineers in 2026?</title>
      <link>https://thinkkeno.com/will-ai-replace-software-engineers-2026/</link>
      <guid>https://thinkkeno.com/will-ai-replace-software-engineers-2026/</guid>
      <pubDate>Sun, 16 Aug 2026 17:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;No. As of August 2026, AI has not replaced software engineers, and the honest numbers say it is not close. What it has replaced is a layer of the work: the first draft, the boilerplate, the almost-right version of the routine parts. In Stack Overflow&#39;s most recent survey, 84% of developers were using or planning to use AI tools while only 3% highly trusted the output, and Google&#39;s DORA research found AI raising individual productivity while hurting delivery stability and throughput. That is not a replacement curve. It is a reorganization: the typing got cheap, and the parts that were always expensive got more valuable. The same answer holds whether you ask about software engineers, developers, or programmers. The pattern does not care about the job title.&lt;/p&gt;
&lt;h2&gt;Will AI replace software engineers?&lt;/h2&gt;
&lt;p&gt;No, not in 2026, and the trend does not point that way. AI replaces tasks inside the job faster than it replaces the job. Code generation is real and widely adopted, but production software still needs someone who owns what ships: someone accountable in ways a model cannot be.&lt;/p&gt;
&lt;p&gt;After 15 years leading product and platform teams, here is the plainest version I can offer. The job was never typing. The job was deciding what to type, and standing behind it after it shipped.&lt;/p&gt;
&lt;p&gt;AI came for the first half of that sentence. It has no answer for the second.&lt;/p&gt;
&lt;h2&gt;How many software engineers has AI actually replaced?&lt;/h2&gt;
&lt;p&gt;Fewer than the headlines imply, and the data is murkier than either side admits. Layoffs attributed to AI often mix cost-cutting, over-hiring corrections, and automation into one press release. The measurable data shows adoption, not replacement: &lt;a href=&quot;https://survey.stackoverflow.co/2025/ai&quot;&gt;Stack Overflow&#39;s most recent survey&lt;/a&gt; found 84% of developers using or planning to use AI tools, while 46% distrusted the accuracy of the output.&lt;/p&gt;
&lt;p&gt;I cannot give you a clean replacement number. Nobody honest can.&lt;/p&gt;
&lt;p&gt;What the research does show is stranger than replacement. &lt;a href=&quot;https://dora.dev/research/2024/dora-report/&quot;&gt;Google&#39;s DORA program&lt;/a&gt; found AI adoption raising individual productivity, flow, and job satisfaction while negatively impacting delivery stability and throughput. Individuals speed up; systems wobble. That is not what a replacement curve looks like. That is what a powerful new tool being absorbed looks like.&lt;/p&gt;
&lt;h2&gt;What parts of software engineering has AI replaced?&lt;/h2&gt;
&lt;p&gt;The first draft. Boilerplate, scaffolding, test skeletons, glue code, and the routine translation of a clear spec into code. Anywhere the problem is already well-defined, the model is fast and usually almost right. That layer of the work is genuinely gone on teams that adopted.&lt;/p&gt;
&lt;p&gt;Almost right is the operative phrase. In the same Stack Overflow data, 66% of developers named it their top frustration: solutions that are almost right, but not quite. Almost-right code still needs someone who can see the gap, and seeing the gap is a senior skill.&lt;/p&gt;
&lt;p&gt;I wrote separately about &lt;a href=&quot;/what-is-ai-anxiety-for-developers/&quot;&gt;what this shift does to developer identity&lt;/a&gt;. The short version: the anxiety is real, the obsolescence mostly is not.&lt;/p&gt;
&lt;h2&gt;What parts of software engineering can&#39;t AI replace?&lt;/h2&gt;
&lt;p&gt;Ownership. Deciding what to build, recognizing what almost-right misses, saying no to the wrong feature, and carrying the consequences of production failure. Each of those requires being accountable to reality, and accountability is precisely what a model cannot hold.&lt;/p&gt;
&lt;p&gt;By early 2026, &lt;a href=&quot;https://stackoverflow.blog/2026/02/18/closing-the-developer-ai-trust-gap/&quot;&gt;Stack Overflow&#39;s own analysis&lt;/a&gt; was framing developer skepticism as professional integrity rather than resistance, with trust in AI output falling even as adoption climbed. Engineers are not confused about this. They use the tools daily and believe them selectively, because they are the ones who answer for the result.&lt;/p&gt;
&lt;p&gt;Someone has to answer for the software. That someone has a name.&lt;/p&gt;
&lt;p&gt;The same logic runs through &lt;a href=&quot;/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/&quot;&gt;design&lt;/a&gt;, by the way. A system can generate the artifact. It cannot care what the artifact does to the person on the other side.&lt;/p&gt;
&lt;h2&gt;Should you still learn to code in 2026?&lt;/h2&gt;
&lt;p&gt;Yes, but learn it as a judgment discipline rather than a typing skill. Reading code, evaluating approaches, and knowing why a solution is wrong now matter more than syntax recall. The engineers thriving with AI are the ones who can review at the speed the tools generate.&lt;/p&gt;
&lt;p&gt;That skill still starts with learning to code. You cannot audit a language you never learned to speak.&lt;/p&gt;
&lt;p&gt;So the honest answer to the question in the title is no. And the more useful answer is that the question is aimed at the wrong layer.&lt;/p&gt;
&lt;p&gt;AI did not replace the engineers. It promoted them, whether they asked for it or not.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>A New Front-End Methodology: BEM</title>
      <link>https://thinkkeno.com/2012/04/a-new-front-end-methodology-bem-2/</link>
      <guid>https://thinkkeno.com/2012/04/a-new-front-end-methodology-bem-2/</guid>
      <pubDate>Sat, 15 Aug 2026 23:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;BEM stands for Block, Element, Modifier. It is a CSS naming methodology developed at Yandex around 2007, and in April 2012 an introduction to it ran on this site as part of a series covering the new front-end tools of the moment. Here is what happened next: almost everything else in that series died. The prefixers, the grid generators, the clever plugins. The naming convention is the thing that survived. Fourteen years later I am republishing this URL with a different argument than the original carried, because BEM turned out to be less about CSS than I understood at the time. It is a lesson about what makes conventions outlive tools, and it earned its place at this address.&lt;/p&gt;
&lt;h2&gt;What is BEM?&lt;/h2&gt;
&lt;p&gt;BEM stands for Block, Element, Modifier. A block is a standalone component: a card, a nav, a form. An element is a part that only makes sense inside its block: the card&#39;s title, the nav&#39;s link. A modifier changes a state or variant: the card, featured; the button, disabled. The names encode the structure.&lt;/p&gt;
&lt;p&gt;In CSS it looks blunt: &lt;code&gt;.card&lt;/code&gt;, &lt;code&gt;.card__title&lt;/code&gt;, &lt;code&gt;.card--featured&lt;/code&gt;. Nobody has ever called it pretty.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://getbem.com/introduction/&quot;&gt;official BEM introduction&lt;/a&gt; is still live and still says it plainly: standalone entities, their parts, and their flags. That is the whole system.&lt;/p&gt;
&lt;h2&gt;Why did BEM outlast the tools of its era?&lt;/h2&gt;
&lt;p&gt;Because it was a convention, not a dependency. The 2012 series this URL belonged to covered a prefix polyfill, a responsive framework, a drafts library, a grid generator. Real tools, genuinely useful, all requiring installation and faith in a maintainer. All gone.&lt;/p&gt;
&lt;p&gt;BEM required only agreement.&lt;/p&gt;
&lt;p&gt;A convention costs nothing to adopt, nothing to leave, and it keeps working when the build system changes underneath it. It travels in the heads of the people who use it. You cannot deprecate an idea that lives in naming.&lt;/p&gt;
&lt;p&gt;There is a pattern here I keep meeting in &lt;a href=&quot;/about/&quot;&gt;product work&lt;/a&gt; too: the durable part of any system is rarely the machinery. It is the shared understanding the machinery was built to enforce.&lt;/p&gt;
&lt;h2&gt;Is BEM still relevant in 2026?&lt;/h2&gt;
&lt;p&gt;The syntax matters less now; the thinking still matters. Scoped styles and component frameworks do mechanically what BEM did by discipline: they guarantee that a component&#39;s styles belong to it. In that world, writing &lt;code&gt;card__title&lt;/code&gt; by hand is solving a solved problem.&lt;/p&gt;
&lt;p&gt;But the core idea was never underscores. It was making the relationships between parts explicit, in names a stranger can read. That idea is alive everywhere: design tokens, component APIs, file conventions. And plenty of the web still has no build step at all. CMS themes, static sites, inherited codebases. There, BEM remains excellent, unchanged, and free.&lt;/p&gt;
&lt;p&gt;I wrote recently about &lt;a href=&quot;/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/&quot;&gt;emotionally intelligent design&lt;/a&gt;, and this is the same principle one layer down. Code has a human on the other side too. The next developer is a user.&lt;/p&gt;
&lt;h2&gt;Should you use BEM today?&lt;/h2&gt;
&lt;p&gt;It depends, but the honest answer has a shape. Greenfield component stack: adopt the discipline, skip the syntax; your tooling already enforces the boundaries. No-build site, CMS theme, long-lived codebase strangers will inherit: BEM is still one of the best answers available. Zero tooling. Total portability. CSS a newcomer can navigate on day one.&lt;/p&gt;
&lt;p&gt;The 2012 version of this page introduced a new methodology. The 2026 version can say what the original couldn&#39;t know.&lt;/p&gt;
&lt;p&gt;Tools are bets on a maintainer. Conventions are bets on people agreeing. Fourteen years later, the second bet paid.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>The Sorting</title>
      <link>https://thinkkeno.com/the-sorting/</link>
      <guid>https://thinkkeno.com/the-sorting/</guid>
      <pubDate>Sat, 15 Aug 2026 22:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;You don&#39;t hear the sorting happen. It is just the sound of three hundred pairs of boots on hardpack, then the rhythm fractures. Twenty minutes in. Five hundred and fifty vertical feet. The mountain charges you for all of it up front.&lt;/p&gt;
&lt;p&gt;The steps are cut high, each one a full lift of the body, the back leg driving, the quad taking the weight. You do one. Then you do it again. By minute fifteen the quads are burning, and there are fourteen hours of this above you, though you don&#39;t know it yet, or you know it and won&#39;t let it land.&lt;/p&gt;
&lt;p&gt;A few keep their line, moving like the grade is a sidewalk. Most have dropped into mouth-breathing now, making sounds they don&#39;t hear themselves make. A few have already stepped off.&lt;/p&gt;
&lt;p&gt;You cannot slow down in place. Three hundred people are climbing a single line of trail, and if you drop your pace you become a wall the rest of them have to climb around. So you don&#39;t get to slow quietly. Your only move is a few steps to the right, off the line, where you stand and let the herd go by.&lt;/p&gt;
&lt;p&gt;The first man to step off, twenty yards above me, turned down the slope as he did it. Raised his bottle. Drank. Maybe he was thirsty. The man beside him had stopped to look at the sunrise, which had come up orange and huge over the valley and was, in fact, worth looking at. You don&#39;t ask.&lt;/p&gt;
&lt;p&gt;I had him diagnosed — rate too high, needs to come down — before I looked at my own watch.&lt;/p&gt;
&lt;p&gt;One sixty-three.&lt;/p&gt;
&lt;p&gt;Not a number you hold. Not for fourteen hours.&lt;/p&gt;
&lt;p&gt;I took a couple of high steps to the right, off the line. Let two runners and a trekker pass. Got my bottle. Turned and faced the valley and the orange coming up over it. I drank water I didn&#39;t need, and kept my eyes on the view, not on the people coming up the trail behind me.&lt;/p&gt;
&lt;p&gt;It was lap one. The mountain went up into the light and kept going, past where I could see.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;From the notebook.&lt;/strong&gt; I diagnosed another man&#39;s pace before I looked at my own number. That order is the whole problem, and not only on mountains. The accurate reading of yourself is the most useful data you own, and it is the one you resist taking. Stepping off the line on purpose was the first honest decision of the day. There were fourteen hours left.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Give Your Website Soul with Emotionally Intelligent Interactions</title>
      <link>https://thinkkeno.com/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/</link>
      <guid>https://thinkkeno.com/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/</guid>
      <pubDate>Sat, 15 Aug 2026 16:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;Emotionally intelligent design is the practice of building interfaces that acknowledge the human on the other side of the screen: their anxiety, their context, and their limits. It is not decoration and it is not persuasion. I published the original version of this article in 2012, back when &amp;quot;delight&amp;quot; was the word of the year. Fourteen years, several platforms, and one AI wave later, the argument matters more, not less. Software can now generate itself. What it still cannot do is care whether you succeed. The sites that feel alive are the ones built by someone who imagined a specific person, at a specific moment, feeling a specific thing. That is the soul. It was never the animations.&lt;/p&gt;
&lt;h2&gt;What is emotionally intelligent design?&lt;/h2&gt;
&lt;p&gt;Emotionally intelligent design means the interface responds to how a person feels, not only what they click. It anticipates anxiety at high-stakes moments, owns its failures in plain language, and remembers what you already told it. The test is simple: does the system behave like it knows a human is present?&lt;/p&gt;
&lt;p&gt;In 2012, the fight was against decoration. Glossy buttons pretending to be feelings.&lt;/p&gt;
&lt;p&gt;Today the fight is against scale. Interfaces are cheaper to produce than ever, and it shows. A generated page can be correct in every detail and still feel like nobody is home.&lt;/p&gt;
&lt;h2&gt;How do you design for emotion without manipulation?&lt;/h2&gt;
&lt;p&gt;Design for the user&#39;s emotional outcome, not your conversion metric. Manipulation engineers a feeling to extract a behavior. Emotional intelligence reduces fear, restores control, and tells the truth about limits. If the emotion you are creating only benefits you, it is persuasion wearing empathy&#39;s clothes.&lt;/p&gt;
&lt;p&gt;Don Norman&#39;s three levels of emotional design explain why the cheap version fails. &lt;a href=&quot;https://www.nngroup.com/articles/emotional-design-fail/&quot;&gt;Nielsen Norman Group&#39;s account of divorcing a Nest thermostat&lt;/a&gt; traces the arc: visceral charm wins the purchase, behavioral betrayal ends the relationship.&lt;/p&gt;
&lt;p&gt;Charm gets you the first week. Behavior gets you the years.&lt;/p&gt;
&lt;h2&gt;What are the 5 patterns of emotionally intelligent design?&lt;/h2&gt;
&lt;p&gt;Five patterns cover most of it: acknowledgment (the system notices you), proportion (the emotional register matches the stakes), honest failure (errors own the fault and name the fix), anticipation (calm at the anxious moments), and memory (never making someone repeat what they already said).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Acknowledgment.&lt;/strong&gt; Confirmation that a human arrived, not a session. A form that keeps your work. An error page that speaks like a person.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proportion.&lt;/strong&gt; No confetti for trivial actions. No dead neutrality at painful ones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Honest failure.&lt;/strong&gt; &amp;quot;We broke something, here is what to do&amp;quot; beats a cheerful shrug every time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anticipation.&lt;/strong&gt; Loading states, empty states, and irreversible actions are where anxiety lives. Design those first.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory.&lt;/strong&gt; Asking twice for the same information tells people the system was not listening.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In my &lt;a href=&quot;/about/&quot;&gt;product work&lt;/a&gt;, I measure time-to-confidence: how fast someone knows their next action. These five patterns are how an interface shortens it.&lt;/p&gt;
&lt;h2&gt;How is emotionally intelligent design different from persuasion?&lt;/h2&gt;
&lt;p&gt;Persuasion moves people toward your goal. Emotionally intelligent design moves people toward theirs, with less fear along the way. The two can coexist in one product, but they carry different tests: persuasion is measured in conversion, emotional intelligence in trust that survives a failure.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://abookapart.com/products/designing-for-emotion&quot;&gt;Aarron Walter&#39;s Designing for Emotion&lt;/a&gt; made the case in 2011 that personality is how people form relationships with software. The 2020 second edition added what the first era undervalued: privacy and representation are emotional design too.&lt;/p&gt;
&lt;p&gt;This is about to matter more. I wrote recently about &lt;a href=&quot;/what-is-ai-anxiety-for-developers/&quot;&gt;what AI tools are doing to developer identity&lt;/a&gt;, and the same shift applies to interfaces: when every product can talk, the ones that listen will stand apart.&lt;/p&gt;
&lt;p&gt;Fourteen years later, I would compress the whole argument to one line.&lt;/p&gt;
&lt;p&gt;People do not remember your interface. They remember how it treated them.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>What Is AI Anxiety for Developers (and Why It&#39;s Misunderstood)</title>
      <link>https://thinkkeno.com/what-is-ai-anxiety-for-developers/</link>
      <guid>https://thinkkeno.com/what-is-ai-anxiety-for-developers/</guid>
      <pubDate>Sat, 15 Aug 2026 14:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;AI anxiety for developers is the fear that your skills are becoming obsolete as AI tools get better at writing code. It is not the same thing as general fear of AI. Most developers are not losing sleep over runaway superintelligence. They are sitting with a quieter question: if a model can produce in eight minutes what took me four hours, what am I for? That is an identity question wearing a technology costume. That is why most advice about it misses. The honest answer is not that the tools are overhyped, and it is not that you should retrain into something else. It is that your value was never really the typing, and the typing is what got cheap.&lt;/p&gt;
&lt;h2&gt;What is AI anxiety for developers?&lt;/h2&gt;
&lt;p&gt;AI anxiety for developers is the specific worry that AI coding tools will make hard-won programming skills less valuable. It shows up as quiet dread during tool rollouts, defensiveness in code review, and compulsive comparison against AI output. It is about professional identity and worth, not about the technology itself.&lt;/p&gt;
&lt;p&gt;After 15 years leading product and platform teams, I&#39;ve watched several waves of &amp;quot;this changes everything&amp;quot; arrive. This one is different in one specific way: it aims at the part of the work developers use to measure themselves.&lt;/p&gt;
&lt;p&gt;Nobody built an identity around typing speed. People built identities around craft.&lt;/p&gt;
&lt;h2&gt;How is developer AI anxiety different from general AI fear?&lt;/h2&gt;
&lt;p&gt;General AI fear is about what AI might do to the world — jobs, misinformation, safety. Developer AI anxiety is about what AI is doing to you, this quarter, in your own editor. It is nearer, more personal, and more useful: you can actually act on it.&lt;/p&gt;
&lt;p&gt;Most AI anxiety in dev teams isn&#39;t about the model. It&#39;s about identity. The developer who built a career on craft is now being told craft is automatable. That lands harder than any layoff memo.&lt;/p&gt;
&lt;p&gt;The distance matters. Abstract fear paralyzes because there is nothing to do with it. This fear is specific. It can be worked.&lt;/p&gt;
&lt;h2&gt;What causes AI anxiety in software teams?&lt;/h2&gt;
&lt;p&gt;In teams, I see three patterns driving much of it: leadership announcing AI adoption without saying what it means for roles, tools that produce almost-right code that still needs senior judgment, and silence, because nobody wants to admit out loud that they are scared of the thing they are being told to celebrate.&lt;/p&gt;
&lt;p&gt;The numbers say adoption and doubt are rising together. In &lt;a href=&quot;https://survey.stackoverflow.co/2025/ai&quot;&gt;Stack Overflow&#39;s most recent developer survey&lt;/a&gt;, 84% of developers were using or planning to use AI tools, 46% distrusted the accuracy of the output, and 66% named the same top frustration: solutions that are almost right, but not quite. By early 2026, &lt;a href=&quot;https://stackoverflow.blog/2026/02/18/closing-the-developer-ai-trust-gap/&quot;&gt;Stack Overflow&#39;s own analysis of that gap&lt;/a&gt; was calling the skepticism professional integrity, not resistance.&lt;/p&gt;
&lt;p&gt;Adoption without trust is the exact recipe for anxiety. You are required to rely on something you are not allowed to fully believe.&lt;/p&gt;
&lt;h2&gt;How do you overcome AI anxiety as a developer?&lt;/h2&gt;
&lt;p&gt;Name it as an identity question, not a skills gap. Then move your sense of worth up a level: from producing code to owning judgment — what to build, what almost-right misses, what production actually requires. The developers who do that are positioned to become more valuable as the tools improve, not less.&lt;/p&gt;
&lt;p&gt;Here&#39;s what I recommend to teams I work with. Use the tool on real work, not demos. Keep a private list of what it got wrong and what shipping that wrongness would have cost.&lt;/p&gt;
&lt;p&gt;That list is your job description. It always was.&lt;/p&gt;
&lt;p&gt;I spend my own bench time on &lt;a href=&quot;/about/&quot;&gt;robotics and physical AI&lt;/a&gt;, where this is unusually honest: the wheel turns or it doesn&#39;t. Software lets almost-right hide. Production doesn&#39;t. Knowing the difference is the skill.&lt;/p&gt;
&lt;h2&gt;Does AI anxiety mean you should stop using AI tools?&lt;/h2&gt;
&lt;p&gt;No. Avoidance feeds the anxiety and costs you the fluency that makes the fear manageable. Use the tools on real work, with your own review standards, and let the evidence replace the dread. The 66% almost-right problem is precisely why your judgment stays load-bearing.&lt;/p&gt;
&lt;p&gt;I took the replacement question head-on in &lt;a href=&quot;/will-ai-replace-software-engineers-2026/&quot;&gt;Will AI Replace Software Engineers in 2026?&lt;/a&gt; The short answer is no. The long answer is about what the job actually is.&lt;/p&gt;
&lt;p&gt;The anxiety is real, and pretending otherwise insults people&#39;s intelligence. The obsolescence mostly isn&#39;t. Not for developers who move their identity from typing to judgment.&lt;/p&gt;
&lt;p&gt;The model can perform the typing. It cannot own the consequences. That part was always the job.&lt;/p&gt;
]]></description>
    </item>
    <item>
      <title>Opening the notebook</title>
      <link>https://thinkkeno.com/opening-the-notebook/</link>
      <guid>https://thinkkeno.com/opening-the-notebook/</guid>
      <pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[&lt;p&gt;The homepage of this site describes a workshop: rooms for product strategy, physical making, fiction, endurance, and decision systems. A workshop produces scraps — half-finished thoughts, patterns noticed mid-build, lessons that only show up under load. This notebook is where those scraps get written down.&lt;/p&gt;
&lt;h2&gt;The return&lt;/h2&gt;
&lt;p&gt;This is a return, not a beginning.&lt;/p&gt;
&lt;p&gt;From 2005 to 2014 I published constantly: web design, internet marketing, new tech, all things web. One of those articles is &lt;a href=&quot;/2012/03/give-your-website-soul-with-emotionally-intelligent-interactions/&quot;&gt;back at its original 2012 address&lt;/a&gt;, refreshed for what the argument became.&lt;/p&gt;
&lt;p&gt;Then life rearranged itself. A heavy acquisition made the work much bigger, the hobbies shifted around, and three amazing kids arrived. In 2018 I wrote a book about that stretch of acquisitions.&lt;/p&gt;
&lt;p&gt;Late last year I started something I had wanted to do for a long time: my first novel. It Held is in its last mile of polish now, with a goal of publishing it by September 15th.&lt;/p&gt;
&lt;p&gt;Writing came back. So the notebook came back with it.&lt;/p&gt;
&lt;h2&gt;How it gets written&lt;/h2&gt;
&lt;p&gt;The engine runs differently this time.&lt;/p&gt;
&lt;p&gt;I use AI as a personal scribe. It interviews me periodically, we ping-pong on a subject until it sharpens, and the result becomes a post. Nothing publishes until I have read it, edited it, and merged it myself.&lt;/p&gt;
&lt;p&gt;The judgment stays human. The drafting gets help.&lt;/p&gt;
&lt;p&gt;That approach is faster than the 2005 version of this ever was, and it lets me broaden the aperture: product leadership, confidence systems, physical AI, endurance, travel, repair, and whatever else the workshop produces. More range, same standard.&lt;/p&gt;
&lt;p&gt;Expect notes on the things I actually spend my days on: turning uncertainty into confident action, building Keel, teaching software to touch the physical world, and what long efforts in the mountains teach about decisions under pressure.&lt;/p&gt;
&lt;p&gt;Short notes, published when they&#39;re ready. That&#39;s the whole contract.&lt;/p&gt;
]]></description>
    </item>
  </channel>
</rss>
