Upgrade to Pro — share decks privately, control downloads, hide ads and more …

品質は設計でつくり込む / design in quality

Avatar for technuma technuma
November 06, 2025
460

品質は設計でつくり込む / design in quality

Avatar for technuma

technuma

November 06, 2025
Tweet

Transcript

  1. 不具合発見の早さと修正コスト In general, the earlier you get rid of a

    bug, the less it costs you. 翻訳: 不具合発見が早ければ早いほど、修正コ ストは安くなる 6
  2. 早期発見しないと、文脈の喪失によ りコストが増大する Bringing testing forward in the software development life

    cycle decreases the cost and complexity of fixing bugs because they are found closer to when they were created, which establishes more of a context for what could have caused things to go wrong. 翻訳: 早い段階でテストを行うことは、バグ修 正のコストと複雑さを低減させます。なぜな ら、バグが作られた時点に近い場所で発見され るため、何が問題を引き起こしたかの文脈がよ り明確になるからです。 7
  3. コストの増大は指数関数的なのでシ フトレフトが重要 Shifting problem detection to the "left," earlier on

    this timeline, makes it cheaper to fix than waiting longer, … 翻訳: 問題の発見をタイムラインの「左」 、つま りより早い段階にシフトすることで、後で待つ よりも修正コストが安くなります。 8
  4. シフトレフトの考え方に立ち戻る 熟練したテスターは、開発サイクルの最初から 関与している Skilled testers are involved from the start

    of the development cycle and are given time and resources to do an adequate job of all necessary forms of testing. 本書の序文で、成功するチームの共通点として 「熟練したテスターが開発サイクルの最初から 関与している」ことを挙げています。 9
  5. テスタビリティレビューの経済的効 果 At least half of your testing costs can

    be cut before anybody ever runs a test, if only your systems are designed with testability in mind. 翻訳: テストのしやすさを念頭に置いて設計さ れているだけで、実際にテストを実行する前 に、テストコストの少なくとも半分は削減でき る 19
  6. テスタビリティは設計段階で考えた い Failing to review designs and code for testability:

    At least half of your testing costs can be cut before anybody ever runs a test, if only your systems are designed with testability in mind. 翻訳: もしシステムがテストのしやすさを念頭に置い て設計されているだけで、実際に誰かがテスト を実行する前に、テストコストの少なくとも半 分は削減できるのです。 20
  7. 実例:設計段階でのQAの介入 During one iteration planning meeting that I was in,

    the programmers started talking about implementation and drawing pictures on the whiteboard to show what they were thinking. 翻訳: イテレーション計画ミーティングで、プ ログラマーたちが実装について話し合い、ホワ イトボードに図を描いていた。 25
  8. QAからの問いかけ I thought about it for a bit and asked

    the question, "Can it be done more simply? The permutations and combinations for testing your proposed implementation will make testing horrendous." 翻訳: 少し考えてから質問した。 「もっとシンプ ルにできませんか?その実装案だと、テストの 順列組み合わせが膨大になり、テストが地獄に なります。 」 26
  9. その後の展開 The programmers thought about it for a couple of

    minutes and suggested an alternative that not only met the customer's needs, but was simpler and easier to test. It was a win-win combination for everyone. 翻訳: プログラマーたちは数分考え、顧客のニ ーズを満たしつつ、よりシンプルでテストしや すい代替案を提案した。全員にとってWin-Win の結果となった。 27
  10. YAGNI原則 You Aren't Gonna Need It YAGNI stands for "You

    aren't gonna need it" and advocates against investing time in functionality that's not needed right now. 翻訳: YAGNIは「どうせそれは必要にならない」 の略で、今すぐ必要とされていない機能に時間 を投資することに反対します。 47
  11. YAGNIが言及しているコスト The less code in the project, the better. Introducing

    code just in case without an immediate need unnecessarily increases your code base's cost of ownership. 翻訳: プロジェクトのコードは少ないほど良 い。差し迫った必要性がないのに「念のため」 にコードを導入すると、コードベースの所有コ ストを不必要に増大させます。 48
  12. 明日からはじめやすいアクション Claude Code や Codex CLI などのAIツールを使って、普段コード読まない方でもコ ードを落としてきて 「hogeというパスの機能はどの程度複雑?また、どんなテストが存在してい る?」

    などざっくり聞くことから始めても少しずつ理解できていける 開発が進んでいく中で、どんな価値を実現する機能なのかは抜けることがあるの で 「自分だけわかってなかったらすみません、このデータ連携でリアルタイム性が 必要な理由はなんでしたっけ?」 とMTGやslackで疑問を潰しておくと、チームとしても再認識できて良い 53