{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/MoSCoW-framework",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/generated-by-chatgpt\",\n    \"title\": \"generated by chatgpt\"\n  }, \"generated by chatgpt\"), \"\"), mdx(\"h3\", null, \"MoSCoW Method\"), mdx(\"p\", null, \"The MoSCoW method is a prioritization technique used to decide which requirements to complete first. It divides requirements into four categories:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Must have (M):\")), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"These are critical requirements that must be included in the solution. Without them, the product cannot function or meet user needs.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Example: For a messaging app, a \\\"Must have\\\" might be the ability to send and receive messages.\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Should have (S):\")), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"These are important but not vital requirements. They are high-priority items that should be included if possible, but the product can still function without them.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Example: For the same messaging app, a \\\"Should have\\\" might be message read receipts.\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Could have (C):\")), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"These are desirable but not necessary features. They are lower priority and often considered nice-to-have.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Example: For the messaging app, a \\\"Could have\\\" might be the ability to customize the chat background.\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Won't have (W) (this time):\")), mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"These are features that are agreed upon as the least critical or out of scope for the current project or release. They might be considered for future iterations.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Example: For the messaging app, a \\\"Won't have\\\" might be integration with third-party apps for the initial release.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  })))));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[{"id":"50fd5264-6dac-5c49-a353-9fd7686af526","slug":"prioritisation-frameworks"}]}},"pageContext":{"slug":"MoSCoW-framework","node":{"childMdx":{"slug":"MoSCoW-framework"}}}},
    "staticQueryHashes": []}