<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Communication Plan · Jared Lynskey</title>
    <link>https://jared.lynskey.co.nz/en/tags/communication-plan/</link>
    <description>Short stories of value on software engineering and engineering leadership — performance reviews, hiring and scaling teams, CI/CD, DevOps monitoring and agentic AI. Written from Seoul.</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2026 Jared Lynskey</copyright>
    <lastBuildDate>Tue, 27 Oct 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/en/tags/communication-plan/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Project Communication Plan: A Template and Example for Software Teams</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/</guid>
      <pubDate>Fri, 02 Jun 2023 11:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Project Management</category>
      <category>Communication Plan</category>
      <category>Communication</category>
      <category>Stakeholder Management</category>
      <category>Engineering Management</category>
      <category>Remote Work</category>
      <description>A project communication plan says who needs to know what, how often, through which channel, and who tells them. What goes in one, an example plan for a software project you can copy, and the habits that keep it working.</description>
      <content:encoded><![CDATA[<p>A project communication plan is a short table that says who needs to know what about a project, how often, through which channel, and who is responsible for telling them. Mine fits on one page, with one row per audience, from the dev team up to the CEO. Below is the one I&rsquo;d start a software project with, and the notes I&rsquo;ve been keeping on what makes project communication actually work.</p>
<p>Most of the project messes I&rsquo;ve been pulled into weren&rsquo;t caused by bad code. They were caused by the right information not reaching the right person until it was too late. Since stepping up as project lead at work, I&rsquo;ve been keeping notes on how I&rsquo;d want to run communication if I ever end up in the CTO seat. Here they are.</p>

<h4 class="relative group">Decide who needs to know what
    <div id="decide-who-needs-to-know-what" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#decide-who-needs-to-know-what" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The unglamorous foundation is a communication plan: who needs to be informed, what they need, how often, and through which channel. I&rsquo;d push for one at the start of every project, with names attached — communication that&rsquo;s everyone&rsquo;s job ends up being no one&rsquo;s job. The same goes for stakeholders: work out who actually cares about the project, learn how each of them prefers to be updated, and don&rsquo;t send the CEO the same update you post in the dev channel. Finally, set a few explicit protocols — expected response times, what counts as urgent, which channel is for what. Most &ldquo;communication problems&rdquo; are really just unstated expectations.</p>

<h4 class="relative group">An example communication plan for a software project
    <div id="an-example-communication-plan-for-a-software-project" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#an-example-communication-plan-for-a-software-project" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>This is the plan I&rsquo;d start with and then adjust. Each row is an audience, not a meeting:</p>
<table>
	<thead>
			<tr>
					<th>Audience</th>
					<th>What they need to know</th>
					<th>How often</th>
					<th>Channel</th>
					<th>Who tells them</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Dev team</td>
					<td>What&rsquo;s in progress, what&rsquo;s blocked, decisions that change the code</td>
					<td>Daily</td>
					<td>Stand-up and the team&rsquo;s chat channel</td>
					<td>Tech lead</td>
			</tr>
			<tr>
					<td>Product owner</td>
					<td>Progress against the sprint goal, scope questions, new risks</td>
					<td>Twice a week, and whenever scope changes</td>
					<td>Short call or a chat thread</td>
					<td>Project lead</td>
			</tr>
			<tr>
					<td>Leadership</td>
					<td>One-line status, risks to the date or budget, decisions they need to make</td>
					<td>Weekly</td>
					<td>A written update of one paragraph</td>
					<td>Project lead</td>
			</tr>
			<tr>
					<td>Sales, support and ops</td>
					<td>What&rsquo;s shipping, when, and what changes for customers</td>
					<td>Every release</td>
					<td>Release notes</td>
					<td>Product owner</td>
			</tr>
			<tr>
					<td>Users or clients</td>
					<td>What&rsquo;s new and what&rsquo;s coming</td>
					<td>Every release</td>
					<td>Changelog or an in-app notice</td>
					<td>Product owner</td>
			</tr>
			<tr>
					<td>Everyone</td>
					<td>What was decided, and why</td>
					<td>When it&rsquo;s decided</td>
					<td>A decision log in the issue tracker or wiki</td>
					<td>Whoever made the decision</td>
			</tr>
	</tbody>
</table>
<p>Underneath the table go the protocols, written as plainly as possible: urgent means it blocks a release or a customer, so call rather than message; questions go in chat, decisions go in the tracker; replies within a working day. For the decision log I use <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-12-03-decision-docs/" >decision documents</a>, kept as <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-01-04-githubforprojectmanagement/" >GitHub Issues</a> so they sit next to the work.</p>
<p>Two things make a plan like this work. Every row has a name in the last column, and the leadership update is written rather than spoken, so it can be forwarded without losing anything.</p>

<h4 class="relative group">Tools and rhythms
    <div id="tools-and-rhythms" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tools-and-rhythms" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Tools matter less than people argue about them. Slack for chat, Trello for tasks, Zoom when a conversation needs faces — pick what fits the team and move on. Rhythm matters more: daily stand-ups if you&rsquo;re working agile, weekly updates on longer cycles, and actually holding to them. And write things down. Decisions, changes, action items — into Notion or Jira, as part of the process rather than an afterthought. Six months later, the doc is the only memory anyone has.</p>

<h4 class="relative group">The soft parts are the hard parts
    <div id="the-soft-parts-are-the-hard-parts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-soft-parts-are-the-hard-parts" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Everything above is mechanics. The harder work is asking the team whether the communication is actually working, and changing it when it isn&rsquo;t. It&rsquo;s training people up, too — teams come from varied backgrounds, and not everyone has seen a well-run project before. It&rsquo;s listening properly instead of waiting for your turn to talk, and dealing with conflict early, while it&rsquo;s still small. None of it stays solved, either: what worked last quarter quietly stops working, so keep checking.</p>

<h3 class="relative group">Working as a distributed/asynchronous development team
    <div id="working-as-a-distributedasynchronous-development-team" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#working-as-a-distributedasynchronous-development-team" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>This talk is worth your time if your team is remote or async-heavy:
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/5lVijFaXaKs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>
</p>
<p>I don&rsquo;t do all of this perfectly — nobody does. But every project that went smoothly for me had most of these in place, and every one that hurt was missing at least three.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
