開発効率を上げる! 攻めのドキュメンテーション
by
Kazunori Tanaka
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
開発効率を上げる! 攻めのドキュメンテーション 2019/08/24 株式会社ソニックガーデン 業務ハッカー 田中 一紀
Slide 2
Slide 2 text
はじめに ドキュメンテーション システムの内容などを他の人にわかるように詳しく説明し た文書、書類を作ること ドキュメント 文書、書類のこと
Slide 3
Slide 3 text
本日の内容 ● 自己紹介 ● 納品のない受託開発とは ● 意思疎通について ● ドキュメンテーションについて ● ケーススタディ ● まとめ
Slide 4
Slide 4 text
自己紹介 ● 出身地:千葉 ● 4年前に北海道札幌に移住 ● エンジニア歴:二十数年 ● 首都圏を中心に大小様々なプロジェクトに参画 ● 2年前にソニックガーデンに入社 ● 趣味:旅 ○ 昨冬に仕事しながら車でオーストラリアを一周
Slide 5
Slide 5 text
オーストラリアを車で一周
Slide 6
Slide 6 text
ソニックガーデンについて ● 2009年社内ベンチャーとして創業 ● 某大手SIからスピンオフ ● 納品のない受託開発 ● オフィスなし、全員リモートワーク ● 受賞歴 ○ 第19回テレワーク推進賞「特別賞」 ○ 第3回ホワイト企業アワード イクボス部門賞」 ○ 「働きがいのある会社ランキング」ベストカンパニー賞
Slide 7
Slide 7 text
納品のない受託開発とは 月額定額・顧問・成果 クラウド ツール
Slide 8
Slide 8 text
納品のない受託開発とは 開発プロセス デ モ 開発 決 定 ソフトウェア 定例打合せ タスク 1週間〜 2週間 ・振り返り ・要件整理 ・優先度 少しづつ機能を UPDATEしていく
Slide 9
Slide 9 text
納品のない受託開発とは 端的に言うと、 ○ 定期的に打合せして相談 ○ 少しずつ作りながら確認 ○ できたものを振り返って改善 意思疎通がとても重要
Slide 10
Slide 10 text
意思疎通の手段 意思疎通を行うには・・ ○ 対面の会話、打合せ ○ メール、チャット いろいろと課題や問題がある
Slide 11
Slide 11 text
意思疎通の手段 たとえば打合せ ○ 打合せ日程がなかなか合わない ○ 議論が発散して決まらない、時間が長い ○ 人により言葉の認識が違う とにかく時間がかかる
Slide 12
Slide 12 text
意思疎通の手段 じゃあメールやチャット? ○ 大量のメッセージに埋もれる、見逃す ○ 意図が伝わらず何度も送る ○ 誤送信の発生 情報伝達の効率が悪い
Slide 13
Slide 13 text
意思疎通の手段 ○ なるべく効率良く楽に伝えたい ○ 簡素な表現で分かりやすく伝えたい ○ 認識の齟齬を極力減らしたい ドキュメントを用いた意思疎通
Slide 14
Slide 14 text
意思疎通の手段 ○ 時間を共有せずに情報共有できる ○ 論点が明確になる ○ 理解までの時間を短縮できる 打合せの時間を大幅に短縮できる ドキュメントの利点
Slide 15
Slide 15 text
意思疎通の手段 ○ 皆が同じ情報にアクセス ○ 表現の工夫で理解度アップ ○ 図式や形式を用いた標準化 ドキュメントの利点 認識の齟齬を極力減らす
Slide 16
Slide 16 text
ドキュメンテーションの具体例 ● 文章 → テキストツール ● 表 → スプレッドシート ● 概要図 → ポンチ絵 ● 図 → フロー図、UML図 ドキュメントの表現方法
Slide 17
Slide 17 text
ドキュメンテーションの具体例 様々な状況に応じて表現を使い分ける ドキュメントの表現方法
Slide 18
Slide 18 text
ドキュメンテーションの具体例 テキストツール ● 会話内容の記録 ● 要点の記録 注意点 ○ 必要な情報に限定 ○ 簡潔に
Slide 19
Slide 19 text
ドキュメンテーションの具体例 スプレッドシート ● 表作成に特化 ● 比較する場合に有効 注意点 ○ 二次元を超える表 現は控える ○ 項番を入れる
Slide 20
Slide 20 text
ドキュメンテーションの具体例 ポンチ絵 ● 全体像の表現 ● 全体の関連を表現 注意点 ○ 図形のルール化 ○ 関係性を明示
Slide 21
Slide 21 text
ドキュメンテーションの具体例 フロー図 ● アクターの関連性 ● 処理の流れを表現 注意点 ○ 時系列を意識
Slide 22
Slide 22 text
ドキュメンテーションの具体例 UML ● 実装レベルの表現 注意点 ○ 読み手に知識必要 ○ 技術者同士の認識 合わせが最適
Slide 23
Slide 23 text
ドキュメンテーションの具体例 受注業務における複数のアクターの関係性を分 かりやすく表現したい ケーススタディ1
Slide 24
Slide 24 text
ドキュメンテーションの具体例 業務フロー 使用ツール:Gyomy https://www.gyomy.com/
Slide 25
Slide 25 text
ドキュメンテーションの具体例 構想している受注システムの全体構成を表した い ケーススタディ2
Slide 26
Slide 26 text
ドキュメンテーションの具体例 ポンチ絵 使用ツール Google Slides
Slide 27
Slide 27 text
ドキュメンテーションの具体例 導入を検討するプリンターのメリット・デメリットを 比較したい ケーススタディ3
Slide 28
Slide 28 text
ドキュメンテーションの具体例 表・マトリクス XX-BBB XX-AAA XX-CCC XX-DDD XX-EEE 使用ツール Google Sheets
Slide 29
Slide 29 text
ドキュメンテーションの具体例 システムの管理者・利用者がそれぞれシステム をどう利用するのかまとめたい ケーススタディ4
Slide 30
Slide 30 text
ドキュメンテーションの具体例 UML(ユースケース図) 使用ツール:Draw.io https://www.draw.io/
Slide 31
Slide 31 text
ドキュメンテーションの具体例 顧客情報と受注データの関係性をお客さんに提 示して相談したい ケーススタディ5
Slide 32
Slide 32 text
ドキュメンテーションの具体例 ER図 使用ツール:Draw.io https://www.draw.io/
Slide 33
Slide 33 text
アジャイルソフトウェア開発宣言 プロセスやツールよりも個人と対話を、 包括的なドキュメントよりも動くソフトウェアを、 契約交渉よりも顧客との協調を、 計画に従うことよりも変化への対応を、 価値とする。すなわち、左記のことがらに価値があることを 認めながらも、私たちは右記のことがらにより価値をおく。 (抜粋)
Slide 34
Slide 34 text
まとめ 納品のない受託開発 ≒ アジャイル開発 ○ 最良のやり方を模索 ○ 結果的にアジャイル開発に近づいた
Slide 35
Slide 35 text
まとめ アジャイル=ドキュメントは作らない? ○ 全く作らない訳ではない ■ 仕様書 ← 作らない ■ コミュニケーションの一手段 ■ ソースコードもドキュメント
Slide 36
Slide 36 text
まとめ ● メンバー間の共通認識を得る ● 書き手自らの考えを整理する ● 議論のたたき台にする ドキュメントを作る目的 議論を引き出す
Slide 37
Slide 37 text
まとめ ● 時間や場所に縛られない ● 標準化が容易 ● 記録として残る ドキュメントを作ることの利点 時間の効率化 認識の齟齬防止
Slide 38
Slide 38 text
まとめ ● 情報量を適切にする ● 読み手に対する敷居を下げる ● 落とし所を明確にする ドキュメント作成での心がけ
Slide 39
Slide 39 text
まとめ ドキュメントはコミュニケーションの潤滑剤 形式張らずに自由にドキュメントを作成すべき みなさんも積極的にドキュメントを作成してコミュニ ケーションを楽にしましょう!!
Slide 40
Slide 40 text
ご清聴ありがとうございました