roadmap/what-is-a-milestone.html

109 lines
134 KiB
HTML
Raw Normal View History

2024-03-02 23:17:49 +00:00
<!DOCTYPE html>
2024-05-17 04:34:57 +00:00
<html><head><title>What's in a Milestone</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="What's in a Milestone"/><meta property="og:description" content="Rationale and Reasoning § A projects goals and priorities are described at its top level by a list of Milestones. The list of these milestones should serve as a guidepost to anyone who is interested in what the project is working on, what the deliverables are of that work, and how that work is going."/><meta property="og:image" content="https://roadmap.logos.co/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="./static/icon.png"/><meta name="description" content="Rationale and Reasoning § A projects goals and priorities are described at its top level by a list of Milestones. The list of these milestones should serve as a guidepost to anyone who is interested in what the project is working on, what the deliverables are of that work, and how that work is going."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link href="./index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&amp;family=sans-serif:wght@400;700&amp;family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&amp;display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="./prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`./static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="what-is-a-milestone"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href=".">Logos Collective Project Roadmaps</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.
2024-03-02 23:17:49 +00:00
<p>A projects goals and priorities are described at its top level by a list of Milestones. The list of these milestones should serve as a guidepost to anyone who is interested in what the project is working on, what the deliverables are of that work, and how that work is going.</p>
<blockquote class="callout" data-callout="note">
<div class="callout-title">
<div class="callout-icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="2" x2="22" y2="6"></line><path d="M7.5 20.5 19 9l-4-4L3.5 16.5 2 22z"></path></svg></div>
<div class="callout-title-inner"><p>If you don't like &quot;Milestone&quot;, call it whatever you want as long as it's in line with this description. </p></div>
</div>
</blockquote>
<p>This document is an outline of how you should think about creating milestones for your project, and what information should be included in them such that the IFT Grant Process can be completed and everyone stays on the same page.</p>
<p>Projects work to produce things for people, and a milestone describes, plans, and tracks those things. To that end, the <em>deliverables</em> are the key components to reason around what a milestone is for your project. Who are you building for, what are you building for them, and why do they care? A small group of deliverables and the justified impact they have towards their targeted audience should be enough to help someone understand what a project is doing.</p>
<p>In effect, a given milestone is a declaration of:</p>
<ul>
<li>Heres what we want to happen</li>
<li>This is why this needs to happen</li>
<li>Heres how were going to make that happen</li>
<li>This is what we need to do it</li>
<li>Heres how you can watch</li>
<li>This is how confident we are that we can get it done (in time)</li>
</ul>
<p>The scope of a given milestone is such that the total amount of work you plan for the year equates to ~4-5 individual milestones. For a small project, thats focused and tight. For a large project, thats cross-functional and broad. It is expected that larger projects have the appropriate project management resources to sub-divide their milestones in to sub-milestones, epics, and issues as appropriate.</p>
<p>We ask that the structure of the milestone is somewhat standardized across the IFT, as we have a lot of derivative and automation tasks to perform.</p>
<p>Heres a list of the sections that need to be included in each milestone:</p>
<hr/>
<h4 id="milestone-title">Milestone Title<a aria-hidden="true" tabindex="-1" href="#milestone-title" class="internal"> §</a></h4>
<p>A short name of the milestone that succinctly describes its aim and scope.</p>
<h4 id="estimated-delivery-date">Estimated Delivery Date<a aria-hidden="true" tabindex="-1" href="#estimated-delivery-date" class="internal"> §</a></h4>
<p>A timeline in which the work is expected to be delivered</p>
<h4 id="description">Description<a aria-hidden="true" tabindex="-1" href="#description" class="internal"> §</a></h4>
<p>More detail as to what youre aiming to accomplish with this milestone and the justification for its inclusion to the project. This is the human readable encapsulation of the milestone. Someone reading it should be able to understand the general scope of the entire thing, with all other sections adding context and detail.</p>
<h4 id="resources-required">Resources Required<a aria-hidden="true" tabindex="-1" href="#resources-required" class="internal"> §</a></h4>
<ul>
<li>roles and % application to it</li>
<li>external services consumed (Vac/IFT)</li>
<li>infrastructure</li>
</ul>
<p>This information here, in combination with the IFT Finance team, should be enough to yield the required budget for the milestone. This allows for private financial information to stay appropriately separated while still allowing us to publish and broadcast the roadmaps (and their progress) to the broader communities.</p>
<h4 id="deliverables">Deliverables<a aria-hidden="true" tabindex="-1" href="#deliverables" class="internal"> §</a></h4>
<p>What are the tangible items that are the result of this milestones work, and who is the targeted audience for those items?</p>
<p>It is important to note that weve included the intended audience here. Is this a research PoC to be delivered to the Engineering team? Is this a mainnet launch that we need wide community broadcasting on? Is this an SDK being delivered to another IFT project? The appropriate communication of the deliverable should be considered here.</p>
<h4 id="tracking-metrics">Tracking Metrics<a aria-hidden="true" tabindex="-1" href="#tracking-metrics" class="internal"> §</a></h4>
<p>How we track progress on a given milestone is dependent upon what the goal of the milestone is and deliverables it aims to accomplish. As per Jarrads Strategy Document and mantra from previous talks, metrics around User Acquisition and Revenue Generation should be included wherever possibly appropriate. If it isnt directly aimed at these two, its impact on how it facilitates it should be understood.</p>
<p>NOTE: The IFT Insights team will closely monitor all of these and provide dashboards to relevant stakeholders such that progress and status can be monitored and acted upon.</p>
<h4 id="work-breakdown">Work Breakdown<a aria-hidden="true" tabindex="-1" href="#work-breakdown" class="internal"> §</a></h4>
<p>Since this is the highest level of “work package” that is considered throughout the org, a description of the way this is going to be broken up and managed should be itemized here. This section is a process of showing “this is explicitly how we plan to deliver this milestone.”</p>
<p>NOTE: It is recommended that the broken down work is structured similarly so it can be understood and tracked, e.g. Milestone -> Epics -> Issues by the IFT Insights team, with each layer more narrowed in scope and explicit in detail. Each project has a significant level of autonomy on how they deliver on the agreed upon milestones and the associated project management and organization that entails it.</p>
<h4 id="perceived-risks">Perceived Risks<a aria-hidden="true" tabindex="-1" href="#perceived-risks" class="internal"> §</a></h4>
<p>Each milestone should include a section of what dependencies/assumptions/potential market changes there are that add risk to its completion. What factors come into play that can potentially affect the project delivery date, and how do each of them affect its delivery?</p></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:1,&quot;scale&quot;:1.1,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:-1,&quot;scale&quot;:0.9,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li><a href="." class="internal"></a></li></ul></div></div></div><footer class><hr/><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.1.0</a>, © 2024</p><ul><li><a href="https://github.com/logos-co/roadmap">GitHub</a></li><li><a href="https://discord.com/invite/logos-state">Discord Community</a></li></ul></footer></div></body><script type="application/javascript">// quartz/components/scripts/quartz/components/scripts/callout.inline.ts
function toggleCallout() {
const outerBlock = this.parentElement;
outerBlock.classList.toggle(`is-collapsed`);
const collapsed = outerBlock.classList.contains(`is-collapsed`);
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
outerBlock.style.maxHeight = height + `px`;
let current = outerBlock;
let parent = outerBlock.parentElement;
while (parent) {
if (!parent.classList.contains(`callout`)) {
return;
}
const collapsed2 = parent.classList.contains(`is-collapsed`);
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
parent.style.maxHeight = height2 + `px`;
current = parent;
parent = parent.parentElement;
}
}
function setupCallout() {
const collapsible = document.getElementsByClassName(
`callout is-collapsible`
);
for (const div of collapsible) {
const title = div.firstElementChild;
if (title) {
title.removeEventListener(`click`, toggleCallout);
title.addEventListener(`click`, toggleCallout);
const collapsed = div.classList.contains(`is-collapsed`);
const height = collapsed ? title.scrollHeight : div.scrollHeight;
div.style.maxHeight = height + `px`;
}
}
}
document.addEventListener(`nav`, setupCallout);
window.addEventListener(`resize`, setupCallout);
</script><script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
});
document.addEventListener('nav', async () => {
await mermaid.run({
querySelector: '.mermaid'
})
});
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="./postscript.js" type="module"></script></html>