Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile japan2016 D-1:請負で企画・開発・運用・拡張まで担当するアジャイルチーム

863 views

Published on

2016/05/31 Agile Japan 2016 で発表した資料です。
セッションタイトル
請負で企画・開発・運用・拡張まで担当するアジャイルチーム

セッション概要
開発フェーズだけでなく、システムのライフライクル全般に関わるチームについて、チームコンセプト(チームとして何を達成しようとしているか)と具体的なチーム編成に分けてノウハウをご紹介します。形式的なアジャイル開発ではなく本質的なアジャイル開発とその実践のためのヒントを持ち帰っていただきたいと思います。
[第一部] チームコンセプト
・仕様が決まっていない段階では見積もりが確定しないので仕様を決めるためのプロトタイプ開発から開始する。
・拡張していくシステムにおいてテストは動作保証しているだけで品質保証にならない。
・ドキュメントではなくソースコードを引き継げるようにしておかないとシステムを拡張していくことはできない。
・予算と期間が限られている場合、機能を制限するかテストを省略するか?
・仕様通りに動くものを提供するのではなく、動かなくてもクライアントが納得するものを提供する。
[第二部] チーム編成
・プロジェクトは時期によって必要なリソース量が変化するのでチームで複数の案件を担当することで仕事量の調整を行う。
・お互いにカバーし合えるメンバーでチームを構成することで、特定のメンバーに負荷が集中することを防ぎ、仕事とプライベートの両立を目指す。
・人を育てることがチームの最大の役割であり、人が育たないチームはチームとして機能しなくなる。

Published in: Business
  • Be the first to comment

Agile japan2016 D-1:請負で企画・開発・運用・拡張まで担当するアジャイルチーム

  1. 1. D-1: 公募セッション(チーム/技法/成長) 請負で企画・開発・運用・拡張まで担当するアジャイルチーム 青木 智英 氏 株式会社コードクオリティ 高柳 謙 氏 ダイアログデザイン 2003年アジャイルプロセス協議会発足時 からの会員で当時からアジャイルを実践。 「こうあるべき」という開発を目指すので はなく、現実の予算・期間・リソースの中 での最適解を見つけることに力を入れる。 企業向け研修コンサルタント兼ファシリ テーター。ファシリテーターについては主に 企業外の活動で活動を行っていたが、 2012年からファシリテーションを用いた チーム研修を企業内で実施。 「アジャイルの魂(AgileJapan2015)」寄稿 Agile Japan 2011クロージング・ワールド・カフェ Agile Japan 2012 Tokyo・ワールド・カフェ AgileJapan2015公認リポーター。
  2. 2. 【前説】 D-1:セッション「請負で企画・開発・運用・拡張まで担当するアジャイルチーム」の楽しみ方 事例発表は参加者の協力があってはじめて価値を生み出します! 事例発表中 前提の 類似点 を探す 事例の 要素を 抽出 気になる Keyword を メモする 得た情報 を 整理する 質問を 活かす 現場に 伝える 参加した 目的を 明確に 始まる までの時 間を活用 セッション前 事例聞いた後 Agile Japan後
  3. 3. 【事例の前提】 会社紹介 2002年1月 「株式会社ジェイトランス」設立 大学院在籍中、数々の炎上プロジェクトにプログラマとして参加 あるプロジェクトのメンバで会社設立(と同時に大学院中退) 2013年10月 「株式会社コードクオリティ」に社名変更 ソースコード重視のスタイルを確立するためにリスタート 社員数12名、プロジェクトは初回リリースまで3〜6ヶ月のものが多い 青木 智英 氏 株式会社コードクオリティ
  4. 4. 【事例の前提】 事前知識 種類 作業場所 指示内容 完成義務 派遣 客先 作業の直接指示 なし 準委任 客先 or 自社 業務内容のみ なし 請負 客先 or 自社 業務内容のみ あり ■ コードクオリティの仕事の請け方 ・CQは客先常駐しないので、準委任(自社)と請負(自社)で行っている。 ■ システム開発における契約の種類
  5. 5. 【セッショッン前】 D-1:セッション「請負で企画・開発・運用・拡張まで担当するアジャイルチーム」の楽しみ方 ガオ流事例発表の聞き方講座 事例発表中 前提の 類似点 を探す 事例の 要素を 抽出 気になる Keyword を メモする 得た情報 を 整理する 質問を 活かす 現場に 伝える 参加した 目的を 明確に 始まる までの時 間を活用 セッション前 事例聞いた後 Agile Japan後
  6. 6. ス キ ル マ ッ プ プ ロ セ ス 契 約
  7. 7. 【事例のきっかけ】 Q:なぜ、プロトタイプ開発を始めたのか?
  8. 8. 【事例のきっかけ】 Q:なぜ、プロトタイプ開発を始めたのか? 「いつできるかわからない」「いくらかかるかわからない」では依頼できない 「リリース日」と「予算」を決めてゴールを目指す 要件定義 設計 開発 テスト 検収 リリース ■ 開発の基本はウォーターフォール!
  9. 9. 【事例のきっかけ】 Q:なぜ、プロトタイプ開発を始めたのか? 「いつできるかわからない」「いくらかかるかわからない」では依頼できない 「リリース日」と「予算」を決めてゴールを目指す 要件定義 設計 開発 テスト 検収 リリース ・仕様変更は避けられない ・使ってみての感想は使ってみないと得られない (想像と実物は違う) ・世の中はどんどん変化するので要件も変化するのが当然 (今日良いことが明日良いとは限らない) ■ 開発の基本はウォーターフォール! ・見積もりが困難(仮に途中で仕様変更は発生しないとしても) ・作業項目の洗い出しが要件定義や設計作業を行っている状態に陥る (マスタメンテは一括登録?エラーチェックはどこまで必要?) ・新しい技術や新しい環境(OSや端末)は試してみないとわからない (ロジック部分は合っていても表示関連は崩れることが多い) ■ しかし、ウォーターフォールには問題点がある
  10. 10. 【プロトタイプ開発】 Q:どうやってプロトタイプ開発を進めているのか?
  11. 11. 【プロトタイプ開発】 Q:どうやってプロトタイプ開発を進めているのか? ■ ユーザーが触ってみれるものをまず開発する。(モックアップ=プロトタイプと呼ぶ) プロトタイプ:全体の流れや使い勝手を確認するためのもの(正常系をメインに異常系は確認に必要なだけ) ・正常系:通常の操作で動作するもの(異常な操作を想定しない) ・異常系:入力ミスや不正アクセスでもシステムが稼働し続けるのも
  12. 12. 【プロトタイプ開発】 Q:どうやってプロトタイプ開発を進めているのか? ■ ユーザーが触ってみれるものをまず開発する。(モックアップ=プロトタイプと呼ぶ) プロト 開発1 要件 ・機能A ・機能B ・機能C 要件 ・機能A’ ・機能B’ ・機能C ・機能D プロト 開発2 要件 ・機能A’’ ・機能B’’ ・機能D’ プロト 開発3 要件 ・機能A’’ ・機能B’ ・機能D’ 残りの 正常系 異常系 開発 リリース 1~2週間 1~2週間 1~2週間 3~6週間 設計 (清書) テスト プロトタイプ:全体の流れや使い勝手を確認するためのもの(正常系をメインに異常系は確認に必要なだけ) ・正常系:通常の操作で動作するもの(異常な操作を想定しない) ・異常系:入力ミスや不正アクセスでもシステムが稼働し続けるのも ■ 最終的にはウォーターフォールに落とし込む。
  13. 13. リリース時期 プロトタイプ開発 ウォーターフォール ス キ ル マ ッ プ プ ロ セ ス 契 約 +
  14. 14. 【プロトタイプ開発】 Q:なぜ、プロトタイプ開発でできているのか?
  15. 15. 【プロトタイプ開発】 Q:なぜ、プロトタイプ開発でできているのか? ■ プロトタイプ開発とウォーターフォールのハイブリッド プロト 開発1 要件 ・機能A ・機能B ・機能C 要件 ・機能A’ ・機能B’ ・機能C ・機能D プロト 開発2 要件 ・機能A’’ ・機能B’’ ・機能D’ プロト 開発3 要件 ・機能A’’ ・機能B’ ・機能D’ 残りの 正常系 異常系 開発 リリース 設計 (清書) テスト プロトタイピング1 ウォーターフォールプロトタイピング2 プロトタイピング3 ウォーターフォール 部分の見積もり精度 高い ウォーターフォール 前にコードの一部が できている ウーオーフォールの 期間が短縮するので ぶれない
  16. 16. 【プロトタイプ開発】 Q:なぜ、プロトタイプ開発でできているのか? ■ プロトタイプ開発とウォーターフォールのハイブリッド プロト 開発1 要件 ・機能A ・機能B ・機能C 要件 ・機能A’ ・機能B’ ・機能C ・機能D プロト 開発2 要件 ・機能A’’ ・機能B’’ ・機能D’ プロト 開発3 要件 ・機能A’’ ・機能B’ ・機能D’ 残りの 正常系 異常系 開発 リリース 設計 (清書) テスト プロトタイピング1 ウォーターフォールプロトタイピング2 プロトタイピング3 ■ 契約の形 契約 完成義務 瑕疵 見積もり 準委任 なし なし 人数単位(プロトの内容によって都度変更) 請負 あり あり 機能単位 準委任契約 請負契約 ウォーターフォール 部分の見積もり精度 高い ウォーターフォール 前にコードの一部が できている ウーオーフォールの 期間が短縮するので ぶれない
  17. 17. 準委任契約 請負契約 リリース時期 プロトタイプ開発 ウォーターフォール ス キ ル マ ッ プ プ ロ セ ス 契 約 +
  18. 18. 【プロトタイプ開発】 Q:プロトタイプ開発で注意していることは?
  19. 19. 【プロトタイプ開発】 Q:プロトタイプ開発で注意していることは? ■その1:システムの拡張における品質 プロトタイピング ウォーターフォール プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス システムはリリースしたら終わりではなく要求に応じて拡張していく必要がある 機能追加に多くの費用や時間がかかるとしたらシステムの品質は低いと言える
  20. 20. 【プロトタイプ開発】 Q:プロトタイプ開発で注意していることは? ■その1:システムの拡張における品質 プロトタイピング ウォーターフォール プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス システムはリリースしたら終わりではなく要求に応じて拡張していく必要がある 機能追加に多くの費用や時間がかかるとしたらシステムの品質は低いと言える テストは動作保証しているだけで品質保証にならない 拡張しやすいソースコードを維持することがシステム全体の品質を高める
  21. 21. 【プロトタイプ開発】 Q:プロトタイプ開発で注意していることは? ■その2:価値のあるシステムを開発すること 予算と時間をかけて 不具合のないものを リリースする プロトタイピング ウォーターフォール プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス
  22. 22. 【プロトタイプ開発】 Q:プロトタイプ開発で注意していることは? ■その2:価値のあるシステムを開発すること 予算と時間をかけて 不具合のないものを リリースする 不具合があっても 予算と時間をかけずに リリースする プロトタイピング ウォーターフォール プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 β 開 発 要 件 リ リ ー ス プ ロ ト 要 件 要 件 β 開 発 リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プロトタイピング ウォーターフォール 不具合を残したままリリース (永遠のβ版もアリ) ※ネット環境は修正版の配布が容易なので「不具合なく動作すること」と同様に「早く便利なサービスを提供する」ことにも価値がある
  23. 23. 【プロトタイプ開発を支える体制】 Q:開発のピークが偏ると思いますが、どうしていますか?
  24. 24. 【プロトタイプ開発を支える体制】 Q:開発のピークが偏ると思いますが、どうしていますか? メインリリースを見て開発中止 中 止 ■ 1つのプロジェクト内でのチーム編成 サブチーム1 サブチーム2 メインチーム プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 開 発 設 計 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 設 計 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 設 計 要 件 開 発 テ ス ト リ リ ー ス
  25. 25. 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか?
  26. 26. 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか? ■ チームのスキルマップを作成してチーム状態を把握しています。
  27. 27. ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか? ■ チームのスキルマップを作成してチーム状態を把握しています。 交渉者 管理者 応援者 アーキ テクト プログ ラマ 育成者 UI デザイナ インフラ 社内 基盤 Level.1 Level.2 Level.3 Level.4 Level.5
  28. 28. 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか? ■ チームのスキルマップを作成してチーム状態を把握しています。 交渉者 管理者 応援者 アーキ テクト プログ ラマ 育成者 UI デザイナ インフラ 社内 基盤 交渉 進捗管理 社内向け コミュニ ケーション 設計 プログラ ミング 育成 UI デザイン インフラ 社内 ツール 傾聴 予算管理 宴会部長 アーキ テクト テスト
  29. 29. ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか? 交渉者 管理者 応援者 アーキ テクト プログ ラマ 育成者 UI デザイナ インフラ 社内 基盤 Level.1 Level.2 Level.3 Level.4 Level.5 Level1 新人 Level2 一般 Level3 サブリーダーできる(決定権がない) Level4 メインリーダーできる(決裁権を渡せる) Level5 マスターレベル(CXOレベル) ■ チームのスキルマップを作成してチーム状態を把握しています。
  30. 30. ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ 【プロトタイプ開発を支える体制】 Q:開発チームはどのように作っていますか? ■ チームのスキルマップを作成してチーム状態を把握しています。 交渉者 管理者 応援者 アーキ テクト プログ ラマ 育成者 UI デザイナ インフラ 社内 基盤 Level.1 Level.2 Level.3 Level.4 Level.5 スキルマップの特色 ・スキルマップは組織、またはチームで共有できる役割レベルで設定します。 ・スキルマップのスキルはチーム特有のものになります。
  31. 31. 【プロトタイプ開発を支える体制】 Q:メインチームとサブチームについて詳しくおしえてください。 ■ メインチームとサブチームで必要なスキルレベルが違っています。 メインチーム 交渉者 管理者 応援者 アーキテクト プログラム 育成者 UI デザイナ インフラ 社内 基盤 ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ サブチーム 交渉者 管理者 応援者 アーキテクト プログラム 育成者 UI デザイナ インフラ 社内 基盤 ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ Level.1 Level.2 Level.3 Level.4 Level.5 Level.1 Level.2 Level.3
  32. 32. 【プロトタイプ開発を支える体制】 中 止 サブチーム1 サブチーム2 メインチーム プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス プ ロ ト 要 件 プ ロ ト 要 件 設 計 要 件 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 プ ロ ト 要 件 プ ロ ト 要 件 設 計 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 開 発 設 計 テ ス ト リ リ ー ス 要 件 プ ロ ト 要 件 設 計 開 発 テ ス ト リ リ ー ス 要 件 プ ロ ト 設 計 要 件 開 発 テ ス ト リ リ ー ス Q:メインチームとサブチームについて詳しくおしえてください。 ■ メインチームとサブチームで必要なスキルレベルが違っています。
  33. 33. 準委任契約 請負契約 交渉者 管理者 応援者 アーキテ クト プログラマ 育成者 UI デザイナ インフラ 社内 基盤 リリース時期 プロトタイプ開発 ウォーターフォール ス キ ル マ ッ プ プ ロ セ ス 契 約 Level.1 Level.2 Level.3 Level.4 Level.5 +
  34. 34. 【事例聞いた後】 D-1:セッション「請負で企画・開発・運用・拡張まで担当するアジャイルチーム」の楽しみ方 ガオ流事例発表の聞き方講座 事例発表中 前提の 類似点 を探す 事例の 要素を 抽出 気になる Keyword を メモする 得た情報 を 整理する 質問を 活かす 現場に 伝える 参加した 目的を 明確に 始まる までの時 間を活用 セッション前 事例聞いた後 Agile Japan後
  35. 35. 【Agile Japan後】 D-1:セッション「請負で企画・開発・運用・拡張まで担当するアジャイルチーム」の楽しみ方 ガオ流事例発表の聞き方講座 事例発表中 前提の 類似点 を探す 事例の 要素を 抽出 気になる Keyword を メモする 得た情報 を 整理する 質問を 活かす 現場に 伝える 参加した 目的を 明確に 始まる までの時 間を活用 セッション前 事例聞いた後 Agile Japan後

×