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

エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbu...

 エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)

https://jbug.connpass.com/event/342193/
「jbug広島#15 「ド。」~文書の運用について~」にて発表した資料です。

中野康雄(ARI)

February 15, 2025
Tweet

More Decks by 中野康雄(ARI)

Other Decks in Technology

Transcript

  1. 自己紹介 4 中野ヤスオ(50) @yasuoyasuo ARアドバンストテクノロジ株式会社(ARI) 取締役 専務執行役員 BacklogWorld芸人(2020~) ➢ 略歴

    1999 ITエンジニア&コンサルタント(10年) 2009 Webサービス企画&開発管理(2年) 2011 マネジメントコーチとして独立(1.5年) 2012 現職へジョイン ➢ 趣味 食べ歩き、筋トレ、LEGO ➢ 最近はまっていること 昭和平成の名作巡り(北の国から、白い巨塔 等)
  2. 今後AI駆動が広がれば更に重要に 11 設計 実装 テスト リリース AI Suite 選択・設計 品質・効果

    レビュー 効果測定 方法の設計 非機能 テスト 効果検証 ドメイン知識 ペインポイント の理解 ビジネス効果の 設計 ユーザー体験の 設計 非機能の明確化 効果の明確化 要求分析 要件定義 AI駆動開発ツール(Cursol, WindSurf, GitHub Copilot Workspace, Devin etc) ライフサイクルの継続的な アップデート 人の領域 AIの領域 参考:https://www.creationline.com/tech-blog/chatgpt-ai/ai/71718
  3. システム開発系ドキュメントの特徴 • 自分以外の誰かが読み、更新されることが前提とされる ➢ レビュワー ➢ 後工程の担当者 ➢ 保守担当者 ➢

    AI(←2021年からの変更点) • 抜け漏れや、読み手によって解釈が異なることは許されない ➢ 検討すべきことの抜け漏れは手戻り(工数増)につながる ➢ 解釈が異なる記述をしてしまった場合も同様 • 納期があり生産性が求められる ➢ 書き手が納得いくまで時間をかけて良いわけではない ➢ 事前に作成工数の見積りが求められる 14
  4. システム開発系ドキュメントに求められること • 当たり前品質をクリアしていること ➢ 誤字脱字、最低限の体裁、表記の統一 ➢ 書くべき項目がすべて書かれている ➢ 内容が正確 •

    読み手(特にAI!)にわかりやすいこと ➢ 全体構成、見出しの粒度、順序が適切 ➢ 各文章がわかりやすい ➢ 体裁が適切に「デザイン」されていること(タイトル、表紙、インデント、ページ番号など) • 生産性や作業管理性が高いこと ➢ 標準化され一定のルールがある方が書きやすく、レビューもしやすい ➢ 作成にかかるタスクが分解できている(見積りの精度が上がる) ➢ 完了までの段取りが出来ている(アウトライン化) 15
  5. シ ス テ ム 開 発 の 時 間 軸

    システム開発の大きな流れ 要件 人間の 世界 システムの 世界 設計 実装(ソフトウェア/基盤) 要求 要望 仕様 要件 1.要望要求から要件に選別する 2.要件に対する仕様を記述する 3.仕様を満たすように設計する 4.設計通りに実装する 5.仕様&要件の実現を確認する 17
  6. シ ス テ ム 開 発 の 時 間 軸

    要件は仕様化されなければ実現できない 要件 人間の 世界 システムの 世界 氏名を表示できたらいいな その他多くの要望 各ページに氏名を表示できること 各ページのヘッダ部分に 「◦◦[半角スペース]••」と表示する。 ◦◦は姓、••は名を表す。 ユーザー内 整理 QCD制約踏まえた 要求精査 各ページに氏名を表示したい 網羅的かつ 誤解を与えない 言語化 仕様の網羅的かつ誤解なき言語化が システム開発の最初の勘所 設計 実装(コード) 要求 要望 仕様 要件 • あったらいいなだよね?目的は?本当に必要? • 個人の意見?みんなの意見? • 要求の優先順位は? • 予算や納期踏まえて今回どれやる? • ページのどこ? • どんな風に表示するの? 参考: https://qiita.com/digdagdag/items/2808205d89344ab8a3a1 イメージ 18
  7. 構造化されている例 資料間の関係 ➢ 画面一覧と画面設計書 ➢ 機能一覧と各機能設計書 ➢ システム構成一覧と構成別パ ラメータシート ➢

    移行全体スケジュールと各移行 作業詳細手順書 ➢ 共通仕様書と各個別仕様書 各資料内の目次構成 例:要件定義書 1. システム導入の目的と目標 2. システムの概要/システムの構想 3. システム導入後の業務フロー 4. 機能要求 5. 入力要求と出力要求 6. 品質・性能要求 7. セキュリティ要求 重複を避ける 漏れ重複ない章立て (一般例) 28
  8. こういう問題昔やりましたよね? 問題:□に入るものを答えよ Q1:1, 2, 4, 8, □, 32, 64 Q2:J,

    F, M, A, M, □, J, A,・・・ 39 この問題の本質は、各Qの主題を探すことにいる
  9. 目次とはその資料の論点である 各資料内の目次構成 例:要件定義書 1. システム導入の目的と目標 2. システムの概要/システムの構想 3. システム導入後の業務フロー 4.

    機能要求 5. 入力要求と出力要求 6. 品質・性能要求 7. セキュリティ要求 漏れ重複ない章立て (一般例) 43 要件定義書の論点 つまり 何を書けば 要件が定義できたと 言えるのか?
  10. フレームワークの活用事例~振返り~ 57 » コミュニケーションの方向に着目したふりかえりの方法 - よこなのへたのよこずき https://ihcomega.hatenadiary.com/entry/2020/04/28/055258 • 「KPT (Keep/Probrem/Try)

    法」でやっていた • でも過去振り返りの時間が足りなくなることが頻発 • 議論しなくてもよいことは議論しなくてもいいのでは? • チーム(または個人) で続けたいこと • 自分 がドヤりたいこと • チームメンバー にお礼したいこと フレームワークを使うことがゴールにならないように 結果や得たい成果を常に忘れないようにしたい
  11. 生成AIの活用 58 1. 次期基幹システムの方針 2. ARIの対応可能範囲 3. ERP導入の考え方 4. 過去の支援事例

    5. 現在の進捗 6. 基幹システムの対象領域 7. プロジェクト体制 8. 過去の検討内容 9. システム刷新の進め方 求める論点について 出力してくれる 論点を出せる/評価できれば 生成AIをより有効に使いこなせる 悪くないけど 最適かは 状況次第 (確率論)
  12. こちらも良ければ読んでみて 70 • 用語は文書内で一貫性をもたせる • 曖昧な代名詞の利用は避ける • 受動態は避け、能動態を優先する • 強い動詞を選択する1

    • 曖昧な動詞よりも意味が限定される動詞を選ぶ • 1文1メッセージ • 長い文章はリスト形式に変換する • 不要な言葉は排除する • 順序が重要な場合は番号付きリストを使用し、順序 が重要でない場合は箇条書きリストを使用する • リストを使う場合は言葉の並列性を保つ • 番号の付いたリストは命令語で始める • リストと表を適切に使う • 段落の骨子を示す良いリード文を作る • 1段落1トピックに絞る • 読み手に伝えるべきことを定義する • 読み手を意識して書く • ドキュメントの最初にそのドキュメントの重要なポイ ントを明確に示す https://qiita.com/yasuoyasuo/items/c43783316a4d141a140f
  13. 今日のまとめ ✓ ドキュメント作成に求められるスキル ➢ 漏れなく誤解なく言語化する ➢ 知識+作文能力+構造化思考 ✓ 構造化思考とは? ➢

    「分かる」は「分ける」 ➢ 分解+グルーピング(思考の補助線) ✓ 構造化思考の演習 ➢ いきなり手を付けず、何を考えるべきかを考える ✓ ドキュメント作成の進め方 ➢ 目的から逆算して段取りを考える 73