{
  "docId": "019f6b8f-8159-75fd-8b94-b1032b0be29d",
  "docSlug": "jarvis-zero-defects-code",
  "documentTitle": "zero defects code",
  "authorId": "zero-defects-code",
  "authorName": null,
  "documentKindSlug": "deck",
  "documentKindLabel": "Deck",
  "sourceTypeSlug": "investor_relations",
  "sourceTypeLabel": "Investor relations",
  "presentationDate": null,
  "orientation": null,
  "aspectRatio": null,
  "pageNumber": 5,
  "pageCount": 10,
  "prevPage": 4,
  "nextPage": 6,
  "slideType": "key_messages",
  "function": "present_framework",
  "density": "overcrowded",
  "nDataPoints": 0,
  "notes": "This appears to be a page from a technical manifesto or internal Microsoft document regarding 'zero-defects' coding practices.",
  "elementsJson": null,
  "metadataConfidence": 0.9,
  "imagePath": null,
  "slideHref": "/slides/019f6b8f-8159-75fd-8b94-b1032b0be29d/5",
  "deckHref": "/decks/019f6b8f-8159-75fd-8b94-b1032b0be29d",
  "deckJsonHref": "/decks/019f6b8f-8159-75fd-8b94-b1032b0be29d.json",
  "deckAnchorHref": "/decks/019f6b8f-8159-75fd-8b94-b1032b0be29d#slide-5",
  "components": [
    {
      "bbox": {
        "h": 0.03,
        "w": 0.72,
        "x": 0.14,
        "y": 0.77
      },
      "kind": "paragraph",
      "text": "If we value quality, then quality should be a criterion in performance reviews: not the only criterion, but as important as any other.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "0ea5570c-0070-470b-9308-883a33c40ce4",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.09,
        "w": 0.72,
        "x": 0.14,
        "y": 0.27
      },
      "kind": "paragraph",
      "text": "Coding is the major way we spend our time. Writing bugs means we're failing in our major activity. Hundreds of thousands of individuals and companies rely on our products; bugs can cause a lot of lost time and money. We could conceivably put a company out of business with a bug in a spreadsheet, database, or word processor. We have to start taking this more seriously.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "1c887cd0-d0ac-47fc-95d9-df0ff5504aa7",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.18,
        "w": 0.72,
        "x": 0.14,
        "y": 0.09
      },
      "kind": "paragraph",
      "text": "Be ashamed of bugs. If you think that there will be bugs in your code no matter what you do, and someone actually finds one (or a hundred), there's no cause for alarm: 'I knew it.' If you think that there won't be bugs in your code, but someone finds them anyway, you probably react with resignation: 'I guess I was wrong.' Both of these are counter-productive strategies for dealing with bugs. Plan carefully so they don't happen. If they happen anyway, you should be embarrassed, and find out why your plans failed. Then take action to prevent the same failures in the future.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "2fea2e9a-d062-4f59-af28-5c321b9f3001",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.04,
        "w": 0.72,
        "x": 0.14,
        "y": 0.84
      },
      "kind": "paragraph",
      "text": "All of the concrete suggestions in this section came from a few hours' discussion by nine people who had changed their attitude. These are ideas for how to implement a zero-defects strategy in your project. If you have others, please let everyone know.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "412b6620-3a6f-48ac-b0c5-4bcde431dae1",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.18,
        "w": 0.72,
        "x": 0.14,
        "y": 0.55
      },
      "kind": "paragraph",
      "text": "Users measure our products by their speed (a major part of usability) as much as by their features. Our methods do not reveal this. We often let hand native, swap tuning, and other important optimizations slip until there's no time to do them. Hand native should be done in parallel with the C from the start. This may seem to 'waste' time, but you'll always know if the program is fast enough, and have time to correct it if it's not. Algorithmic optimization should never be postponed. Swap tuning is a difficult issue, especially under Windows and with the state of our current tools; each project lead should decide how to schedule it. The intent is not to do unnecessary optimizations, but to schedule, and never postpone, known optimizations.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "6139b959-a489-4539-8bf4-31b77ebd7e14",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.11,
        "w": 0.72,
        "x": 0.14,
        "y": 0.4
      },
      "kind": "paragraph",
      "text": "It's difficult to say what it is we're rewarding now. What we should be rewarding are people who do the job right the first time. If we can't find anyone like that, we should reward whoever comes closest. One means of reward is simply to let them do more of the fun stuff. The way you do that is to enforce the rule that if something is broken, it must be fixed right away. Another means of reward is a better performance review, which in turn leads to monetary reward.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "8a56585a-5aed-4400-92e2-c9c089532d41",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.03,
        "w": 0.72,
        "x": 0.14,
        "y": 0.92
      },
      "kind": "paragraph",
      "text": "Here are ideas for making sure you do it right. Not all of these techniques will work for everyone, so pick and choose.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "c56ebd60-dc6e-4e34-b9dd-2f86555fd041",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.02,
        "w": 0.15,
        "x": 0.14,
        "y": 0.37
      },
      "kind": "title",
      "text": "Reward quality",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "5216cd80-b0bb-4ef5-b6d0-27d7ea19efcb",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.02,
        "w": 0.25,
        "x": 0.14,
        "y": 0.81
      },
      "kind": "title",
      "text": "A new way to work",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "ac67827c-e842-417c-81d3-438a699fefa8",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.02,
        "w": 0.25,
        "x": 0.14,
        "y": 0.52
      },
      "kind": "title",
      "text": "\"Fat and slow\" is a bug",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "b9e68ac7-a28c-4fb7-8db2-0a5f8ed24dab",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.02,
        "w": 0.45,
        "x": 0.14,
        "y": 0.74
      },
      "kind": "title",
      "text": "Code quality measures programmer performance",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "e21a2dce-78f0-4a7e-b1a0-1ee6da746247",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.02,
        "w": 0.15,
        "x": 0.14,
        "y": 0.89
      },
      "kind": "title",
      "text": "Stop guessing",
      "attrs": null,
      "subkind": "headline",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "fda77ef9-c1d1-43f6-af0c-674d8fe3a7fa",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [
    {
      "name": "Call to action",
      "slug": "call-to-action",
      "agent": null,
      "layer": "slide",
      "matchId": "46e58e4a-3335-480a-a430-4311a5c48c2b",
      "evidence": "Here are ideas for making sure you do it right.",
      "confidence": 0.6
    },
    {
      "name": "Storytelling: audience calibration",
      "slug": "audience",
      "agent": "storyteller",
      "layer": "slide",
      "matchId": "92417a38-f34b-4c1e-935a-804c02b0346c",
      "evidence": "Users measure our products by their speed (a major part of usability) as much as by their features.",
      "confidence": 0.7
    }
  ],
  "frameworks": [],
  "arcBeats": [],
  "loops": [],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}