新人エンジニアが知っておきたいアジャイル開発

1,933 views

Published on

ーーーーーーーーーーーーーーーーーーーーーーー
schoo WEB-campusは「WEBに誕生した、学校の新しいカタチ」。
WEB生放送の授業を無料で配信しています。
▼こちらから授業に参加すると、先生への質問や、ユーザーとのチャット、資料の拡大表示等が可能です。
https://schoo.jp/class/396/room
ーーーーーーーーーーーーーーーーーーーーーーー

Published in: Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,933
On SlideShare
0
From Embeds
0
Number of Embeds
405
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

新人エンジニアが知っておきたいアジャイル開発

  1. 1. 新⼈人エンジニアが知っておきたい アジャイル開発 倉貫義⼈人 http://kuranuki.sonicgarden.jp @kuranuki
  2. 2. 自己紹介 倉貫  義⼈人 「⼼心はプログラマ、仕事は経営者」 Twitter:  kuranuki ブログ:  Social  Change!       http://kuranuki.sonicgarden.jp       株式会社ソニックガーデン       代表取締役 http://www.sonicgarden.jp/
  3. 3. 100%アジャイル開発 (受託開発も⾃自社開発もアジャイルで開発) http://www.sonicgarden.jp/
  4. 4. 本日の話すこと 1.  なぜ今アジャイル開発なのか 2.  アジャイル開発の事例例に学ぶ 3.  エンジニアに求められる姿勢 (15分) (15分) (15分) http://www.sonicgarden.jp/
  5. 5. 新⼈人エンジニアが知っておきたい アジャイル開発 なぜ今アジャイル開発なのか http://www.sonicgarden.jp/
  6. 6. 質問 皆さんが携わっているのは、どう いった種類のソフトウェアですか? 1.  ウェブサービス・アプリ 2.  社内システム 3.  組み込みソフトウェア 4.  その他 http://www.sonicgarden.jp/
  7. 7. これまでのソフトウェア開発 市場 市場分析 リリース 事業 依頼/発注 納品 IT 要件 設計 実装 テスト 半年〜 http://www.sonicgarden.jp/
  8. 8. 近年のソフトウェア開発のニーズ インターネット登場後のソフトウェア開発の特徴 スピード重視 フィードバック 初期ユーザを獲得するた め早期に市場に出したい 開始後に出るニーズや、 経験を反映していきたい スモールスタート スケールアウト 事業初期にかかる初期投 資額はなるべく下げたい 事業が軌道に乗るに従っ て拡⼤大をしていきたい 要件が不不確定で⼩小規模なため、これまでの開発は⾮非効率率率 http://www.sonicgarden.jp/
  9. 9. よくある開発の落とし穴 1.  いつまでも完成しない 2.  完成しても誰も使わない 3.  直したくても改修できない http://www.sonicgarden.jp/
  10. 10. アジャイル開発の効果 リスク 可視性 アジャイル開発 変更更コスト 昔ながらの開発 •  リスクを初期に下げる。 •  可視性を常に⾼高く保つ。 •  変化コストを⼀一定に保つ。 http://www.sonicgarden.jp/
  11. 11. アジャイル開発のプロセス 短いサイクルで、分析・設計・実装・ テストを同時並⾏行行で⾏行行い、繰り返す スコープ 分 析 スコープ 設 計 実 装 テ ス ト 時間 ウォーターフォール 11 時間 アジャイル http://www.sonicgarden.jp/
  12. 12. アジャイルソフトウェア開発宣⾔言 私たちは、ソフトウェア開発の実践あるいは実践を⼿手助けをする活動を通じて、よりよい開発 ⽅方法を⾒見見つけだそうとしている。この活動を通して、私たちは以下の価値に⾄至った。 プロセスやツール  よりも  個⼈人と対話を、 包括的なドキュメント  よりも  動くソフトウェアを、 契約交渉  よりも  顧客との協調を、 計画に従うこと  よりも  変化への対応を、 価値とする。すなわち、左記のことがらに価値があることを 認めながらも、私たちは右記のことがらにより価値をおく。 http://www.sonicgarden.jp/
  13. 13. アジャイルの原則 l  顧客価値の優先 l  動くソフトウェア l  変化に対応 l  持続可能なペース l  短期のリリース l  技術的卓越性 l  全員同席 l  シンプル l  モチベーションと信頼 l  ⾃自⼰己組織的チーム l  会話 l  ふりかえりと改善 13 http://www.sonicgarden.jp/
  14. 14. 質問 アジャイル開発では、なんのために 開発を繰り返すのでしょうか? http://www.sonicgarden.jp/
  15. 15. 新⼈人エンジニアが知っておきたい アジャイル開発 アジャイル開発の事例例に学ぶ http://www.sonicgarden.jp/
  16. 16. アジャイル開発の事例 株式会社AsMama http://www.sonicgarden.jp/
  17. 17. 子育てシェアサービス http://www.sonicgarden.jp/
  18. 18. プロジェクトのタイムライン 2012 8 9 10 相談 期間 2013 11 12 2014 1 2 3 4 5 6 7 8 9 10 開発期間 ソロ DevOps 8末:最初の相談 ダブル DevOps 11 12 1 2 ソロ DevOps …続く 7〜~10:2⾺馬⼒力力 11〜~お試し開始 1〜~契約開始 8〜~コミュニティ機能 12〜~クレジット機能 4〜~ローンチ(基本機能) http://www.sonicgarden.jp/
  19. 19. 開発に入る前に なぜ、なんのために作るのか?(Why  >  What) 要件を定義しない、事業の⽬目的を共有する •  作らなくて済むならば作らない •  ビジョンと価値観の共有 •  事業計画とビジネスモデルの確認 http://www.sonicgarden.jp/
  20. 20. マクロなプロセス 定期的なミーティング エンジニア マイルストーン設定 お客さま 最⼤大3ヶ⽉月分の マイルストーン 定期的に⾒見見直す http://www.sonicgarden.jp/
  21. 21. 良いマイルストーンを考えるために 3ヶ⽉月以内でローンチ可能なものとする コストと期間を固定し、機能を調整する n  想定される全ての機能を実装しようとしない n  業務をひと回しできる最⼩小単位から作っていく n  ビジネス価値が⾼高く、優先順位が⾼高いものから n  ⼤大きな機能(ストーリ)は分割する http://www.sonicgarden.jp/
  22. 22. ミクロなプロセス 毎週のミーティング ユーザ フィードバック クラウド チケット作成 運⽤用 お客さま DevOps (1週間) 開発 オンラインで相談 エンジニア http://www.sonicgarden.jp/
  23. 23. 毎週のミーティングでやること 1.  (操作フローのおさらい) 2.  開発した分のチケットの確認 3.  次に開発するチケットの設計 4.  新しいチケットの登録と優先順位付け 5.  来週までに出来る⾒見見込みのチケットを共有 6.  (ビジネス進捗の共有) 解決⽅方法から話をしない、問題を相談する 持ち帰るのではなく、その場で設計をする http://www.sonicgarden.jp/
  24. 24. エンジニアリング 継続的デリバリー エンジニア ペアオペ コードレビュー 本番環境 (ユーザ向け) 同⼀一環境 テスト環境 (PO向け) コードの共有 ペアプロ エンジニア (たまに) エンジニア テスト 駆動開発 http://www.sonicgarden.jp/
  25. 25. プロダクトオーナーの心得 動くソフトウェアだけを“正”として考える いつでも直せるが、まとめて確認はしない •  チケット  ≠  仕様 •  必要な機能  <  要らない機能 •  当初のすべての機能を作らない http://www.sonicgarden.jp/
  26. 26. 質問 アジャイル開発が向いているのは? A n 要件と納期が確定しており変化しない n 短期的に⼀一度度に開発してリリースしてしまいたい n 「ソフトウェアの完成」を⽬目指すプロジェクト B n 要件の予測が困難で⽇日々変化していく n ⻑⾧長期的に開発を続けてサービスを育てていきたい n 「ビジネスの成⻑⾧長」を⽬目指すプロジェクト http://www.sonicgarden.jp/
  27. 27. 新⼈人エンジニアが知っておきたい アジャイル開発 エンジニアに求められる姿勢 http://www.sonicgarden.jp/
  28. 28. 質問 ソフトウェアの価値が⽣生まれるのは いつからでしょうか? A B C 損益分岐点 売上 変動費 完成? 固定費 t 売上開始点 http://www.sonicgarden.jp/
  29. 29. 「品質」とはなにか? n  「誰が顧客なのかがわからなければ、何が品質なの かもわからない。」(リーンスタートアップより) n  そのテストの⽬目的はなにか?何を売っているのか? プログラム の正しさ 仕様の正しさ ビジネスの正しさ http://www.sonicgarden.jp/
  30. 30. 「Point of Sales」から「Point of Use」へ Point of Sales Point of Use 買った時点が最⾼高で、そこ から陳腐化が始まるもの 常に使っている時点で最⾼高、 最新のものを利利⽤用できる q q 買った時点が最⾼高品質 利利⽤用中が最⾼高品質 (常にアップグレード) 利利⽤用 すぐに利利⽤用開始 構築 償却 製造業 t サービス業 t http://www.sonicgarden.jp/
  31. 31. 「Point of Use」で大事なこと 継続性  …  ビジネスを               継続していけること 保守性  …  ビジネスの               変化に追随すること 「 完 成 」 か ら 「 持 続 」 へ   http://www.sonicgarden.jp/
  32. 32. アジャイル開発に求められる姿勢:その1 当事者意識識を持つ •  「そもそも」から考える •  ビジョンやコンセプトを理理解する •  問題から解決⼿手段を提案する http://www.sonicgarden.jp/
  33. 33. アジャイル開発に求められる姿勢:その2 保守性を重視する •  DRY:Donʼ’t  Repeat  Yourself •  将来の⾃自分は他⼈人だと思え •  コードの表現に意図をこめる http://www.sonicgarden.jp/
  34. 34. アジャイル開発に求められる姿勢:その3 単位を⼩小さくする •  優先順位を重視する •  こまめに報告:遅巧よりも拙速 •  ⼩小さな単位で仕事を進める http://www.sonicgarden.jp/
  35. 35. アジャイル開発に求められる姿勢:その4 なるべく作らない •  YAGNI:You  Arenʼ’t  Gonna  to  Need  It. •  予め⽤用意して、作り込みをしない •  オーバーテクノロジーに陥らない http://www.sonicgarden.jp/
  36. 36. アジャイル開発に求められる姿勢:その5 守備範囲を広げる •  ⼩小さなチームでの効率率率化を追求 •  なるべく分業しないで兼務する •  役割で⾃自分⾃自⾝身を縛らない http://www.sonicgarden.jp/
  37. 37. アジャイル開発に求められる姿勢:まとめ 1.  当事者意識識を持つ 2.  保守性を重視する 3.  単位を⼩小さくする 4.  なるべく作らない 5.  守備範囲を広げる http://www.sonicgarden.jp/
  38. 38. 宿題 本授業の感想と、今後ソフト ウェア開発やプログラミングに ついて学びたいテーマがあれば 教えてください。 http://www.sonicgarden.jp/

×