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

開発効率を上げる! 攻めのドキュメンテーション


開発効率を上げる! 攻めのドキュメンテーション


6b242e0ca398ce4f21bf39fac9464e3f?s=128

Kazunori Tanaka

August 24, 2019
Tweet

Other Decks in Business

Transcript

  1. 開発効率を上げる!
 攻めのドキュメンテーション
 2019/08/24
 株式会社ソニックガーデン
  業務ハッカー 田中 一紀


  2. はじめに
 ドキュメンテーション
 システムの内容などを他の人にわかるように詳しく説明し た文書、書類を作ること
 
 ドキュメント
 文書、書類のこと


  3. 本日の内容
 • 自己紹介
 • 納品のない受託開発とは
 • 意思疎通について
 • ドキュメンテーションについて
 •

    ケーススタディ
 • まとめ

  4. 自己紹介
 • 出身地:千葉
 • 4年前に北海道札幌に移住
 • エンジニア歴:二十数年
 • 首都圏を中心に大小様々なプロジェクトに参画
 •

    2年前にソニックガーデンに入社
 • 趣味:旅
 ◦ 昨冬に仕事しながら車でオーストラリアを一周

  5. オーストラリアを車で一周


  6. ソニックガーデンについて
 • 2009年社内ベンチャーとして創業
 • 某大手SIからスピンオフ
 • 納品のない受託開発
 • オフィスなし、全員リモートワーク
 •

    受賞歴
 ◦ 第19回テレワーク推進賞「特別賞」 
 ◦ 第3回ホワイト企業アワード イクボス部門賞」 
 ◦ 「働きがいのある会社ランキング」ベストカンパニー賞 

  7. 納品のない受託開発とは
 月額定額・顧問・成果
 クラウド ツール


  8. 納品のない受託開発とは
 開発プロセス
 デ モ 
 開発
 決 定 
 ソフトウェア


    定例打合せ
 タスク
 1週間〜
 2週間
 ・振り返り
 ・要件整理
 ・優先度
 少しづつ機能を UPDATEしていく

  9. 納品のない受託開発とは
 端的に言うと、
 ◦ 定期的に打合せして相談
 ◦ 少しずつ作りながら確認
 ◦ できたものを振り返って改善
 意思疎通がとても重要


  10. 意思疎通の手段
 意思疎通を行うには・・
 ◦ 対面の会話、打合せ
 ◦ メール、チャット
 いろいろと課題や問題がある


  11. 意思疎通の手段
 たとえば打合せ
 ◦ 打合せ日程がなかなか合わない
 ◦ 議論が発散して決まらない、時間が長い
 ◦ 人により言葉の認識が違う
 とにかく時間がかかる


  12. 意思疎通の手段
 じゃあメールやチャット?
 ◦ 大量のメッセージに埋もれる、見逃す
 ◦ 意図が伝わらず何度も送る
 ◦ 誤送信の発生
 情報伝達の効率が悪い


  13. 意思疎通の手段
 ◦ なるべく効率良く楽に伝えたい
 ◦ 簡素な表現で分かりやすく伝えたい
 ◦ 認識の齟齬を極力減らしたい
 ドキュメントを用いた意思疎通


  14. 意思疎通の手段
 ◦ 時間を共有せずに情報共有できる
 ◦ 論点が明確になる
 ◦ 理解までの時間を短縮できる
 打合せの時間を大幅に短縮できる
 ドキュメントの利点


  15. 意思疎通の手段
 ◦ 皆が同じ情報にアクセス
 ◦ 表現の工夫で理解度アップ
 ◦ 図式や形式を用いた標準化
 ドキュメントの利点
 認識の齟齬を極力減らす


  16. ドキュメンテーションの具体例
 • 文章 → テキストツール
 • 表 → スプレッドシート
 • 概要図 → ポンチ絵
 • 図 → フロー図、UML図
 ドキュメントの表現方法


  17. ドキュメンテーションの具体例
 様々な状況に応じて表現を使い分ける
 
 ドキュメントの表現方法


  18. ドキュメンテーションの具体例
 テキストツール
 • 会話内容の記録
 • 要点の記録
 
 注意点
 ◦ 必要な情報に限定


    ◦ 簡潔に
 

  19. ドキュメンテーションの具体例
 スプレッドシート
 • 表作成に特化
 • 比較する場合に有効
 
 注意点
 ◦ 二次元を超える表

    現は控える
 ◦ 項番を入れる
 

  20. ドキュメンテーションの具体例
 ポンチ絵
 • 全体像の表現
 • 全体の関連を表現
 
 注意点
 ◦ 図形のルール化


    ◦ 関係性を明示
 

  21. ドキュメンテーションの具体例
 フロー図
 • アクターの関連性
 • 処理の流れを表現
 
 注意点
 ◦ 時系列を意識


  22. ドキュメンテーションの具体例
 UML
 • 実装レベルの表現
 
 注意点
 ◦ 読み手に知識必要
 ◦ 技術者同士の認識

    合わせが最適
 

  23. ドキュメンテーションの具体例
 受注業務における複数のアクターの関係性を分 かりやすく表現したい
 ケーススタディ1


  24. ドキュメンテーションの具体例
 業務フロー
 使用ツール:Gyomy
 https://www.gyomy.com/


  25. ドキュメンテーションの具体例
 構想している受注システムの全体構成を表した い
 ケーススタディ2


  26. ドキュメンテーションの具体例
 ポンチ絵
 使用ツール
 Google Slides


  27. ドキュメンテーションの具体例
 導入を検討するプリンターのメリット・デメリットを 比較したい
 ケーススタディ3


  28. ドキュメンテーションの具体例
 表・マトリクス
 XX-BBB XX-AAA XX-CCC XX-DDD XX-EEE 使用ツール
 Google Sheets


  29. ドキュメンテーションの具体例
 システムの管理者・利用者がそれぞれシステム をどう利用するのかまとめたい
 ケーススタディ4


  30. ドキュメンテーションの具体例
 UML(ユースケース図)
 使用ツール:Draw.io
 https://www.draw.io/


  31. ドキュメンテーションの具体例
 顧客情報と受注データの関係性をお客さんに提 示して相談したい
 ケーススタディ5


  32. ドキュメンテーションの具体例
 ER図
 使用ツール:Draw.io
 https://www.draw.io/


  33. アジャイルソフトウェア開発宣言
 プロセスやツールよりも個人と対話を、
 包括的なドキュメントよりも動くソフトウェアを、
 契約交渉よりも顧客との協調を、
 計画に従うことよりも変化への対応を、
 
 価値とする。すなわち、左記のことがらに価値があることを
 認めながらも、私たちは右記のことがらにより価値をおく。
 (抜粋)


  34. まとめ
  納品のない受託開発 ≒ アジャイル開発
 ◦ 最良のやり方を模索
 ◦ 結果的にアジャイル開発に近づいた


  35. まとめ
 アジャイル=ドキュメントは作らない?
 ◦ 全く作らない訳ではない
 ▪ 仕様書 ← 作らない
 ▪ コミュニケーションの一手段
 ▪ ソースコードもドキュメント


  36. まとめ
 • メンバー間の共通認識を得る
 • 書き手自らの考えを整理する
 • 議論のたたき台にする
 ドキュメントを作る目的
 議論を引き出す


  37. まとめ
 • 時間や場所に縛られない
 • 標準化が容易
 • 記録として残る
 ドキュメントを作ることの利点
 時間の効率化
 認識の齟齬防止


  38. まとめ
 • 情報量を適切にする 
 • 読み手に対する敷居を下げる
 • 落とし所を明確にする
 ドキュメント作成での心がけ


  39. まとめ
 ドキュメントはコミュニケーションの潤滑剤
 形式張らずに自由にドキュメントを作成すべき
 みなさんも積極的にドキュメントを作成してコミュニ ケーションを楽にしましょう!!


  40. ご清聴ありがとうございました