JP Voogt A Data Enthusiasts Ramblings

The Conversation Framework - A Leader's Guide to the Talks Nobody Wants to Have

Introduction

I’m not going to pretend I’ve always been good at difficult conversations. In fact, I’ve been spectacularly bad at them. There was a time I avoided them so long that a small issue became a team-wide problem that took months to repair.

The cost of avoiding hard conversations doesn’t disappear. It just compounds interest. Like technical debt, but for relationships.

Over the years, I’ve developed a simple framework that I come back to when emotions are high, trust is low, and the stakes actually matter. It’s not about being tough. It’s not about being soft. It’s about being grounded enough to say what needs to be said while keeping your humanity and your authority intact.

The Framework at a Glance

Before we dive deep, here’s the bird’s eye view:

flowchart TD
    A[Get Clear on Your Why] --> B[Separate Facts from Stories]
    B --> C[Own Your Part]
    C --> D[Name the Pattern]
    D --> E[Draw a Clear Line]
    E --> F[Give Real Options]
    F --> G[Close with Resolve]

    style A fill:#2d5a27,stroke:#1a3518,color:#fff
    style B fill:#4a7c59,stroke:#2d5a27,color:#fff
    style C fill:#6b9b7a,stroke:#4a7c59,color:#fff
    style D fill:#8cb99b,stroke:#6b9b7a,color:#333
    style E fill:#aed7bc,stroke:#8cb99b,color:#333
    style F fill:#d0f5dd,stroke:#aed7bc,color:#333
    style G fill:#e8fff0,stroke:#d0f5dd,color:#333

Now let’s unpack each step.


Step 1: Get Clear on Your “Why”

Before I talk to anyone, I remind myself why this conversation matters. Not to win. Not to prove a point. Not to make myself feel better about being “the boss.”

The purpose is always to protect the mission, the team, and the standard.

If I can’t articulate why the conversation is necessary, I’m not ready to have it yet. Simple as that.

mindmap
  root((Your Why))
    Protect the Mission
      Team goals
      Business outcomes
      Client commitments
    Protect the Team
      Culture
      Morale
      Trust between members
    Protect the Standard
      Quality expectations
      Professional behavior
      Accountability

Pro tip: When I open the conversation, I say this out loud. I tell them the intent. Something like, “I’m having this conversation because I care about where we’re going as a team, and something isn’t working.”

This lowers defensiveness immediately. People don’t need softness. They need clarity.


Step 2: Separate Facts from Stories

This is where most difficult conversations go sideways. We mix what actually happened with the story we’ve told ourselves about what happened.

I stick to observable facts:

  • Dates - when things happened
  • Actions - what was specifically done (or not done)
  • Outcomes - the measurable result

I avoid assumptions and labels. The difference sounds like this:

Story (Avoid) Fact (Use)
“You don’t care about this project.” “This deadline was missed three times, and no update was sent.”
“You’re being difficult.” “In the last three meetings, you left before the discussion ended.”
“You’re not a team player.” “The shared document hasn’t been updated in two weeks.”

Facts keep the conversation grounded. Stories inflame it.

flowchart LR
    subgraph Stories["Stories - Avoid"]
        S1[Assumptions]
        S2[Labels]
        S3[Mind-reading]
        S4[Generalizations]
    end

    subgraph Facts["Facts - Use"]
        F1[Dates and Times]
        F2[Specific Actions]
        F3[Measurable Outcomes]
        F4[Observable Behaviors]
    end

    Stories -.->|Replace with| Facts

    style Stories fill:#ffcccc,stroke:#cc0000
    style Facts fill:#ccffcc,stroke:#00cc00

Once the facts are on the table, I explain the impact. How it affects the business. The team. Trust. Momentum. Honest, but not dramatic.


Step 3: Own Your Part

This is where leadership credibility is built. Not in the power you wield, but in the responsibility you take.

Before pointing fingers, I ask myself:

  • Where did I fail to set clear expectations?
  • Where did I tolerate behavior too long?
  • Where did I step in too late?

I say this out loud. Not as an apology for having standards, but as ownership.

pie showData
    title "The Ownership Split"
    "Their responsibility" : 60
    "Your role in setting context" : 20
    "System/process gaps" : 15
    "Communication clarity" : 5

Here’s the truth: people are more willing to take responsibility when they see you doing the same. Vulnerability isn’t weakness. It’s modeling the behavior you want to see.


Step 4: Name the Pattern, Not Just the Incident

One-off mistakes are normal. Patterns are a leadership issue.

When something has happened more than once, I make it clear that this is no longer an isolated event. This is crucial because it helps people understand:

  • Why the conversation is happening now
  • Why it matters
  • Why consequences may be different this time
timeline
    title The Pattern Recognition Timeline
    section First Instance
        Week 1 : Deadline missed
              : Quick chat
              : It happens
    section Second Instance
        Week 4 : Deadline missed again
              : Formal feedback
              : Clear expectations set
    section Pattern Emerges
        Week 8 : Third deadline missed
              : This is the conversation
              : Pattern named explicitly

Avoiding this step is how leaders end up “surprising” people with consequences later. Nobody should be blindsided by a performance conversation or termination. If they are, that’s on you.


Step 5: Draw a Clear Line

This is the hardest part, and the most important.

I explain what cannot continue. Then I explain what “good” looks like going forward. I don’t leave it vague. I don’t outsource accountability to feelings or intentions.

flowchart TB
    subgraph Current["What Cannot Continue"]
        C1[Missing deadlines without communication]
        C2[Arriving late to client meetings]
        C3[Bypassing the review process]
    end

    subgraph Future["What Good Looks Like"]
        F1[24-hour advance notice if timeline slips]
        F2[5 minutes early to all external meetings]
        F3[All code through PR before merge]
    end

    Current --> |Transform to| Future

    style Current fill:#ffe6e6,stroke:#cc0000
    style Future fill:#e6ffe6,stroke:#00cc00

Clarity is kindness, even when it’s uncomfortable. Vague expectations are unkind because they set people up to fail without knowing it.


Step 6: Give Real Options

People need agency. Even in difficult conversations, they should feel like they have a path forward, not that they’re being pushed into a corner.

I outline the actual paths available:

flowchart TD
    A[Current Conversation] --> B{Path Forward}

    B --> C[Improvement Path]
    C --> C1[Clear conditions for success]
    C --> C2[Defined timeline]
    C --> C3[Regular check-ins]
    C --> C4[Full support provided]

    B --> D[Exit Path]
    D --> D1[Dignified transition]
    D --> D2[Clear timeline]
    D --> D3[Reference discussion]
    D --> D4[Mutual respect maintained]

    style A fill:#4a5568,stroke:#2d3748,color:#fff
    style B fill:#6b46c1,stroke:#553c9a,color:#fff
    style C fill:#38a169,stroke:#276749,color:#fff
    style D fill:#dd6b20,stroke:#c05621,color:#fff

Sometimes that’s improvement with clear conditions. Sometimes it’s a clean exit. Either way, the options are respectful, fair, and honest.

False hope helps no one. Ever.


Step 7: Close with Resolve, Not Anger

I don’t rush to fill silence. I don’t argue. I let the weight of the conversation land.

Then I set:

  • A clear next step
  • A clear timeframe
  • A commitment to follow through
sequenceDiagram
    participant Leader
    participant Team Member

    Leader->>Team Member: States expectations clearly
    Team Member->>Leader: Acknowledges or asks questions
    Leader->>Team Member: Answers questions without retreating
    Note over Leader,Team Member: Silence is okay here
    Leader->>Team Member: Sets next step and timeframe
    Team Member->>Leader: Confirms understanding
    Leader->>Team Member: Commits to follow through

    Note over Leader,Team Member: Meeting ends

    Leader-->>Team Member: Actually follows through

The last part, actually following through, is what separates real leaders from people who just have difficult conversations as a performance.


Bringing It All Together

Here’s the complete framework in one view:

flowchart TD
    subgraph Preparation["Before the Conversation"]
        P1[Know your why]
        P2[Gather facts, not stories]
        P3[Acknowledge your part]
    end

    subgraph Conversation["During the Conversation"]
        C1[State intent clearly]
        C2[Present facts, explain impact]
        C3[Own your contribution]
        C4[Name the pattern]
        C5[Draw the line]
        C6[Offer real options]
    end

    subgraph Closure["Ending the Conversation"]
        E1[Allow silence]
        E2[Set next step]
        E3[Define timeframe]
        E4[Commit to follow through]
    end

    subgraph AfterMath["After the Conversation"]
        A1[Document what was agreed]
        A2[Actually follow through]
        A3[Provide support if improvement chosen]
        A4[Check in at agreed intervals]
    end

    Preparation --> Conversation
    Conversation --> Closure
    Closure --> AfterMath

    style Preparation fill:#2d5a27,stroke:#1a3518,color:#fff
    style Conversation fill:#4a7c59,stroke:#2d5a27,color:#fff
    style Closure fill:#6b9b7a,stroke:#4a7c59,color:#fff
    style AfterMath fill:#8cb99b,stroke:#6b9b7a,color:#333

Final Thoughts

Difficult conversations aren’t about being tough or soft. They’re about being grounded, responsible, and human, while protecting what matters.

Motivation doesn’t come from avoiding hard truths. It comes from knowing where you stand, what’s expected, and that your leader is willing to do the hard work too.

If you can do that, people may not always like the conversation. But they will respect it.

And respect is the foundation everything else is built on.


What’s your approach to difficult conversations? I’d love to hear what’s worked for you in the comments.

Disclaimer: Content is accurate at the time of publication, however updates and new additions happen frequently which could change the accuracy or relevance. Please keep this in mind when using my content as guidelines. Please always test in a testing or development environment, I do not accept any liability for damages caused by this content.

If you liked this post, you can share it with your followers or follow me on Twitter!