{
    "componentChunkName": "component---src-templates-post-js",
    "path": "/instead-of-due-dates-we-use-next-check-in-dates-for-projects-at-egghead",
    "result": {"data":{"site":{"siteMetadata":{"title":"your friend Joel's digital garden","description":"Articles and notes from a collaborator at egghead.io. Musings on software, business, and life from a skilled virtual assistant.","author":{"name":"Joel Hooks"},"keywords":["Video Blogger"]}},"mdx":{"excerpt":"Have you used Jira? It's a hellscape of dates, swim lanes, buzzers, metrics, and productivity wanking that leads to an entire career option of full-time employment as a Jira wrangler. A \"project manager\" if you will.  At some point in our…","fields":{"github":"https://github.com/joelhooks/joelhooks-com/tree/master/content/blog/2019-10-03--instead-of-due-dates-we-use-next-check-in-dates-for-projects-at-egghead~~diGUCl_Yy/index.mdx"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"id\": \"diGUCl_Yy\",\n  \"slug\": \"instead-of-due-dates-we-use-next-check-in-dates-for-projects-at-egghead\",\n  \"date\": \"2019-10-03T00:00:00.000Z\",\n  \"title\": \"Instead of due dates we use next check-in dates for projects at egghead\",\n  \"published\": false\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Have you used Jira?\"), mdx(\"p\", null, \"It's a hellscape of dates, swim lanes, buzzers, metrics, and productivity wanking that leads to an entire career option of full-time employment as a Jira wrangler.\"), mdx(\"p\", null, \"A \\\"project manager\\\" if you will. \"), mdx(\"p\", null, \"At some point in our software journey the entire idea of product management, productivity, tasks, getting things done, working smarter... it's all turned into a pile of dirty laundry that causes stress and pushes people away from the actual activity that we want to participate in:\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, mdx(\"strong\", {\n    parentName: \"em\"\n  }, \"Collaborating on building nice things that help other people achieve the outcomes they desire.\"))), mdx(\"p\", null, \"That's the essence of a project, and as soon as it needs a manager to manage it the entire character of the activity changes.\"), mdx(\"p\", null, \"I'm a shit PM.\"), mdx(\"p\", null, \"This is something that I will freely admit. \"), mdx(\"p\", null, \"I can definitely get work done. I can rally and organize when needed. I can structure work, time box, produce gantt charts, and do all of the other things needed to get a project over the finish line.\"), mdx(\"p\", null, \"But I only want to do this when absolutely needed. Most of the time we are doing work that doesn't require an arbitrary due date. There's no really need to estimate the work.\"), mdx(\"p\", null, \"It's just fuckin' guessing anyway, and pulling numbers out of my ass to paste them into a spreadsheet is \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"definitely not the flavor of collaboration that I am looking for\"), \".\"), mdx(\"p\", null, \"One small change we've made at egghead is to remove the idea of a due date and replace it with a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"next check-in date\"), \". This is some time in the future when we are going to check back in on the project. The check in isn't to manage the project, it's simply to say hello, summarize where it's at, decide if it's done, and figure out the next steps with the folks we are collaborating with.\"), mdx(\"p\", null, \"The checkin dates serve as a marker in the future for \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"communication\"), \" and also represent the general urgency or priority of a given project. Some things will get weekly checkins, or even multiple checkins during the week by setting the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"next check-in date\"), \" to tomorrow or the next day.\"), mdx(\"p\", null, \"Other times the next checkin date might be a month, or three months. \"), mdx(\"p\", null, \"The point is that we are designating some point in time in the future when we want to discuss the work, summarize what we know, and layer more context onto the project and see if it's still something we want to work on.\"), mdx(\"p\", null, \"Thanks to \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://twitter.com/mariepoulin\"\n  }, \"Marie Poulin\"), \" for this idea \\u2764\\uFE0F\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Instead of due dates we use next check-in dates for projects at egghead","date":"October 03, 2019","banner":null,"slug":"instead-of-due-dates-we-use-next-check-in-dates-for-projects-at-egghead","keywords":null}}},"pageContext":{"id":"97675014-4674-54d3-99ab-e25ad89aca66","prev":{"id":"b8390375-7ce7-506d-bddd-df378f43b5d2","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"The first live code workshop I did was at Adobe Max. It was a huge room, with tons of attendees. Since I'd never done, or even been to a technical workshop at that point I followed the direction that were given to me. The result was a thick booklet…","fields":{"title":"🚌 Teaching Workshops","slug":"teaching-workshops","date":"2019-10-08T00:00:00.000Z"}},"next":{"id":"5760eb9f-bc09-5a82-a3a6-89811a7a9550","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"At egghead our workshops are accompanied by Really Good Notes.  Really Good Notes can take a variety of formats: sketch notes cheat sheets flash cards written notes code examples ??? They can be a  combination of those things  too, which is where…","fields":{"title":"I ❤️ Really Good Notes","slug":"really-good-notes","date":"2019-09-26T00:00:00.000Z"}}}},
    "staticQueryHashes": ["1045846374"]}