From 893001d550d424a53a27cc9588d1fcfdae22f43f Mon Sep 17 00:00:00 2001 From: Rob Moffat Date: Wed, 13 Nov 2024 09:43:01 +0000 Subject: [PATCH] Added matrix, first draft of feature fit risk --- dictionary.txt | 1 + docs/risks/Feature-Risks/Feature-Fit-Risk.md | 27 ++- docs/risks/Risk-Landscape.md | 4 + numbers/Practices.numbers | Bin 268309 -> 324001 bytes .../risks/posters/feature-fit-risk.adl | 24 ++ src/plugins/category-listing/index.js | 10 +- src/theme/MDXComponents/index.js | 4 +- src/theme/Matrix/index.js | 225 ++++++++++++++++++ src/theme/Matrix/styles.module.css | 39 +++ 9 files changed, 328 insertions(+), 6 deletions(-) create mode 100644 src/images/generated/risks/posters/feature-fit-risk.adl create mode 100644 src/theme/Matrix/index.js create mode 100644 src/theme/Matrix/styles.module.css diff --git a/dictionary.txt b/dictionary.txt index 925a27926..8cea352ec 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -351,3 +351,4 @@ nagging wrongdoing demystify dysfunctional +outlier diff --git a/docs/risks/Feature-Risks/Feature-Fit-Risk.md b/docs/risks/Feature-Risks/Feature-Fit-Risk.md index d8bf9c329..1cec30007 100644 --- a/docs/risks/Feature-Risks/Feature-Fit-Risk.md +++ b/docs/risks/Feature-Risks/Feature-Fit-Risk.md @@ -14,9 +14,32 @@ part_of: Feature Risk -This is the risk that the feature that clients want to use in the software _isn't there_. +This is the risk that the feature that clients want to use in the software _isn't there_ or isn't quite what you need. - This might manifest itself as complete _absence_ of something you need, e.g "Why is there no word count in this editor?" - It could be that the implementation isn't complete enough, e.g "why can't I add really long numbers in this calculator?" + - It might be that the software isn't designed with your client's use case in mind, e.g. "I really needed this to handle UK taxes but it only works for the US." -[Feature Fit Risks](/tags/Feature-Fit-Risk) are mitigated by talking to clients, product development and delivery (as shown in the above diagram). But that leads on to... \ No newline at end of file +## Worked Example + +![Using analysis to ensure feature fit](/img/generated/risks/posters/feature-fit-risk.svg) + +In the above diagram, we can see Feature Fit Risk being addressed by [Analysis](/practices/External-Relations/Analysis). One should be careful about the attendant risks of analysis - it can go on for too long, or get bogged down in debate (so called Analysis Paralysis) which can lead to [Schedule Risk](/tags/Schedule-Risk) or [Funding Risk](/tags/Funding-Risk). + +## Example Threats + +### 1. Misunderstanding of Client Needs + +**Threat:** Lack of clarity around client requirements could lead to delivering features that don't quite solve the client's problem. + +### 2. Ignoring Edge Cases + +**Threat:** Assuming all users will use the software in the same way may result in ignoring the outlier cases. + +### 3. Lack of Iterative Feedback + +**Threat:**: Not gathering feedback during development phases could result in delivering features that are not fully aligned with client needs. + +### 4. Evolving Requirements + +**Threat:** Not reassessing the design when new requirements emerge can lead to delivering features that no longer align with the client’s current needs. \ No newline at end of file diff --git a/docs/risks/Risk-Landscape.md b/docs/risks/Risk-Landscape.md index d0b55ce23..6f69b2bc1 100644 --- a/docs/risks/Risk-Landscape.md +++ b/docs/risks/Risk-Landscape.md @@ -67,6 +67,10 @@ Below is a table outlining the different risks we'll see. There _is_ an order t |[Map And Territory Risk](/tags/Map-And-Territory-Risk) |Risks due to the fact that people don't see the world as it really is. (After all, they're working off different, imperfect [Internal Models](/tags/Internal-Model).)| |[Operational Risk](/tags/Operational-Risk) |Software is embedded in a system containing people, buildings, machines and other services. Operational risk considers this wider picture of risk associated with running a software service or business in the real world.| + + + + After the last stop on the tour, in [Staging and Classifying](Staging-And-Classifying) we'll have a recap about what we've seen and make some guesses about how things fit together. Also on that page is a [periodic table](Staging-And-Classifying#towards-a-periodic-table-of-risks) showing a diagrammatic view of how all these risks fit together. diff --git a/numbers/Practices.numbers b/numbers/Practices.numbers index 576021e48135059da8f3f9d206334036e5b06dee..0de14f8188a59e66b408adb7a8b2d456c81cefec 100644 GIT binary patch delta 85360 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 delta 33200 zcmcG$d0Z3M_cwm;WCkWfGMS7?2w^b

h0rN^oI|h!~L~Dpgbz5EU1ofZE#D0Pfb6 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 z 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 + + + + + + + Analysis + + + + + + + diff --git a/src/plugins/category-listing/index.js b/src/plugins/category-listing/index.js index 568bba061..81a1948b6 100644 --- a/src/plugins/category-listing/index.js +++ b/src/plugins/category-listing/index.js @@ -21,10 +21,11 @@ module.exports = async function myPlugin(context, options) { const allTags = [...tagNames, ...mitigates, ...attendant, ...practices, ...partOf] + const isRisk = allTags.includes("Risks") + const isPractice = allTags.includes("Practice") + const isMethod = allTags.includes("Method") + if (!allTags.includes(title)) { - const isRisk = allTags.includes("Risks") - const isPractice = allTags.includes("Practice") - const isMethod = allTags.includes("Method") if (isRisk || isPractice || isMethod) { console.warn(`${doc.title} is not self-tagged risk =${isRisk} practice=${isPractice} tags=${JSON.stringify(allTags)}`) } @@ -41,6 +42,9 @@ module.exports = async function myPlugin(context, options) { description: doc.description, order: doc.sidebarPosition ?? 0, tags: doc.tags, + isRisk, + isPractice, + isMethod, frontMatter: doc.frontMatter, } diff --git a/src/theme/MDXComponents/index.js b/src/theme/MDXComponents/index.js index 4472c6394..9cff1a3da 100644 --- a/src/theme/MDXComponents/index.js +++ b/src/theme/MDXComponents/index.js @@ -5,6 +5,7 @@ import PracticeIntro from '../PracticeIntro' import RiskIntro from '../RiskIntro' import MethodIntro from '../MethodIntro' import TermList from '../TermList'; +import Matrix from '../Matrix'; export default { ...MDXComponents, @@ -13,7 +14,8 @@ export default { PracticeIntro, RiskIntro, MethodIntro, - TermList + TermList, + Matrix }; diff --git a/src/theme/Matrix/index.js b/src/theme/Matrix/index.js new file mode 100644 index 000000000..9a3b0c363 --- /dev/null +++ b/src/theme/Matrix/index.js @@ -0,0 +1,225 @@ +import React from 'react'; +import styles from './styles.module.css' +import { useDocById } from '@docusaurus/theme-common/internal' +import { usePluginData } from '@docusaurus/useGlobalData' +import { useLocation } from '@docusaurus/router'; + + +/*function formatReadableTag(page) { + return page.replaceAll("-", " ").substring(page.lastIndexOf("/") + 1) +} + +function tagUrl(tag) { + return "/tags/" + tag.replaceAll(" ", "-") +} + +const Risk = ({tag}) => { + return ( +

  • {tag}
  • + ) +} + +const Practice = ({ article, permalink, reason }) => { + return ( +
  • {article}: {reason}
  • + ) +}*/ + +function status(p, r) { + const mit = isPracticeMitigating(p, r.title) + const att = isPracticeAttendant(p, r.title) + + if (mit) { + return m + } else if (att) { + return a + } else { + return + } +} + + + +function isPracticeMitigating(article, title) { + const matching = (article.frontMatter?.practice?.mitigates ?? []).find(m => m.tag == title); + if (matching) { + return true + } else { + return false; + } +} + +function isPracticeAttendant(article, title) { + const matching = (article.frontMatter?.practice?.attendant ?? []).find(m => m.tag == title); + if (matching) { + return true + } else { + return false; + } +} + +function practiceDetails(map) { + const listOfPractices = [] + + function extractCategory(l) { + const parts = l.split("/") + return parts[2] + } + + Object.entries(map).forEach(([key, value]) => { + value.filter(a => a.isPractice) + .forEach(e => { + listOfPractices.push({ + title: e.title, + category: extractCategory(e.permalink), + url: e.permalink, + frontMatter: e.frontMatter + }) + }) + }) + + + const uniqueArray = listOfPractices.filter(function(item, pos) { + return listOfPractices.findIndex(e => e.title == item.title) == pos; + }) + + const sorted = uniqueArray.sort((a, b) => { + if (a.category != b.category) { + return a.category.localeCompare(b.category) + } else { + return a.title.localeCompare(b.title) + } + }) + + return sorted +} + +function riskDetails(map) { + const listOfRisks = [] + + Object.entries(map).forEach(([key, value]) => { + value.filter(a => a.isRisk) + .forEach(e => { + listOfRisks.push({ + title: e.title, + parent: e.frontMatter.part_of ?? null, + url: e.permalink + }) + }) + }) + + const uniqueArray = listOfRisks.filter(function(item, pos) { + return listOfRisks.findIndex(e => e.title == item.title) == pos; + }) + + // next, include parents + function hierarchy(x) { + const entry = uniqueArray.find(e => e.title == x) + if (!entry.parent) { + return [ x ] + } else { + return [ ...hierarchy(entry.parent), x ] + } + } + + uniqueArray.forEach(x => { + // sets depth on each one + x.hierarchy = hierarchy(x.title) + }) + + + const sorted = uniqueArray.sort((a, b) => { + for (let i=0; i < Math.min(a.hierarchy.length, b.hierarchy.length); i++) { + const ai = a.hierarchy[i] + const bi = b.hierarchy[i] + if (ai != bi) { + return ai.localeCompare(bi) + } + } + + return a.hierarchy.length - b.hierarchy.length + }) + + return sorted +} + +function buildRowspans(i, listOfRisks) { + const layer = listOfRisks.map(r => r.hierarchy[i]) + console.log("Layer", layer) + const out = [] + var last = layer[0] + var count = 0 + layer.forEach(l => { + if (l == last) { + count ++; + } else { + out.push({last}) + last = l + count = 1 + } + }) + + out.push({last}) + + return out +} + + +export default ({ fm }) => { + + const allData = usePluginData('category-listing'); + + const listOfRisks = riskDetails(allData) + + const listOfPractices = practiceDetails(allData) + + + return ( + + + + + + { + buildRowspans(0, listOfRisks) + } + + + + + + + + + + { + listOfPractices.map(p => + + + + + { listOfRisks.map(r => status(p, r)) } + + + ) + } + +
    CategoryPractice
    + + { + buildRowspans(1, listOfRisks) + } +
    + + { + buildRowspans(2, listOfRisks) + } +
    + + { + buildRowspans(3, listOfRisks) + } +
    {p.category}{p.title}
    + ) + +} diff --git a/src/theme/Matrix/styles.module.css b/src/theme/Matrix/styles.module.css new file mode 100644 index 000000000..93b3d8994 --- /dev/null +++ b/src/theme/Matrix/styles.module.css @@ -0,0 +1,39 @@ +.riskIntro { + border: 1px solid lightgray; + border-radius: 1rem; + margin: 2rem 0rem; + padding: 2rem; + font-size: smaller; +} + + +.columns { + display: flex; + gap: 1rem; + align-items: center; + margin-bottom: 1rem; +} + +.left { + flex-basis: 10rem; + flex-shrink: .5; + flex-grow: 0; + padding: 0; + margin: 0; +} + +.left img { + padding: 0; + display: block; +} + +.description { + color: grey; +} + +.right { + flex-basis: 15rem; + flex-grow: .7; + flex-shrink: .5; + padding: 1rem; +} \ No newline at end of file