アジャイルソフトウェア開発の概要と現場での実践

 アジャイルソフトウェア開発の概要と現場での実践

Agile Japan 2016 北陸(富山)サテライトの発表資料

C4455065001e57c2ea24190134882560?s=128

Kunihiko Ito

June 25, 2016
Tweet

Transcript

  1. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 アジャイルソフト ウェア開発の概要 と現場での実践 伊藤 邦彦

    永和システムマネジメント Agile Japan 2016 北陸 2016-06-25
  2. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 内容 アジャイル開発プロセスの基礎 知識 ✓ 現場での実践と工夫

  3. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 p self 名前: 伊藤 邦彦

    @kunitoo ✓ 出身: 富山 ✓ 在住: 東京 ✓ 所属: アジャイル事業部 ✓ 仕事: [Ruby, Rails, Neo4j] ✓
  4. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 使っているウィンドウマネー ジャ awesome window manager

  5. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 アジャイルと私 永和に入社してアジャイルな開 発を体験する ✓ アジャイルサムライ道場を渡り

    歩く ✓ 様々なプロジェクトに参画する ✓ XPE 読書会でもう一度アジャ イルについて考える ✓
  6. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 弊社とア ジャイル

  7. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 Agile Japan 2016 サテライ トスポンサー

  8. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9

  9. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 本日の目標 アジャイル開発の知識を学ぶ・ おさらいする ✓ 現場に持ち替り実践するヒント

    を得る ✓
  10. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 前半 永和システムマネジメントで行っ ているセミナー資料を使ってアジ ャイル開発の基礎知識を学びます

  11. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 後半 発表者が参画したプロジェクトの 事例を元に、現場での導入と実践 についてお話します

  12. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 前半のおしながき アジャイルプロセスの概要 ✓ XP の概観

  13. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 アジャイル 開発プロセ スの基礎知 識

  14. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 後半のおしながき プラクティスの活用事例 ✓ どのように導入するか ✓

  15. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 プラクティスの活用事例 チームや周りの状況によってア レンジ ✓ 必ずしも教科書通りにやる必要

    はない ✓
  16. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 アレンジの注意点 アジャイル宣言の背後にある原 則を忘れてはならない ✓ 原則を守りチームによい影響を

    与えるようにアレンジする ✓
  17. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9

  18. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 タスクボード 一人でも始められる ✓ 全員が見える場所に置く ✓

    物理的な物がよい 付箋を移動したことが横目で分かる ✓ イテレーション内に置ける量に制限 がかかる ✓ ✓
  19. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 テスト駆動開発 慣れるまでは訓練が必要 できる人とペアプロするとよい ✓ ✓

    黄金の回転 Red ✓ Green ✓ Refactor ✓ ✓
  20. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 http://www.slideshare.net/t_wada/the-spirit-of-tdd/27

  21. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 テスト駆動開発 やりやすい分野とやりにくい分 野はある 未知のものや、画面などはやりづら い

    ✓ ロジックが難しいものなどはやった 方がいい ✓ テストを書けないのはなにかがおか しい ✓ ✓
  22. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 ペアプログラミング 難しい問題をプログラミングをす るときにとてもいい 悩む時間が短かくなる ✓

    思った以上に疲れる ✓
  23. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 まずはやってみる Coderetreat(ライフゲーム) ✓ TDD Boot

    Camp ✓ Extreme Fish Bowl ✓
  24. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 朝会 決まった時間に ✓ 短い時間で ✓

    昨日やったこと ✓ 今日やる事 ✓ 問題点を共有する ✓
  25. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 朝会の落とし穴 定型的、儀式になりがち ✓ タスクボードがない場合お互い を見あってしまうため、問題vs

    私たちの形がくずれる ✓ 問題を話しすぎて長くなりやす い ✓
  26. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 ふりかえり KPT形式が多い ✓ イテレーション毎に開催する ✓

    やらないとチームの成長が止ま る ✓
  27. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 ふりかえりでチームが成長す る 過去にあったTRY ふりかえりが長い 時計を全員が見える場所におく

    ✓ ✓ バーンダウンチャートが書きづ らい Done になった日付を付箋に書き入れ る ✓ ✓
  28. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 イテレーション 1~3週間ごとにチームは稼動可能 なシステムを顧客に提示する 1週間 大変

    ✓ ✓ 2週間 おすすめ ✓ ✓ 3週間 未経験 ✓ ✓
  29. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 イテレーション計画 誰がストーリーを作成するか? プロダクトオーナー ✓ 開発メンバーが補助する

    ✓ ✓
  30. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 イテレーション計画 2,3イテレーション分を見積る ✓ チーム全員で見積る ✓

  31. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 継続的インテグレーション 機能分割の工夫が必要 なるべく小さくデプロイできるよう にする ✓

    ときにはストーリーやタスクも分割 して設計する必要がある ✓ ✓ できるだけ早くリリースの中に 入れる フィーチャーフラグを使う手法 ✓ ✓
  32. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 インセプションデッキ リニューアルで新サービスを開 発する時に作成 ✓ よかったこと

    開発中方向性を見失わなかった ✓ ✓ よくなかったこと 全部はやらなくてもよかった ✓ ✓
  33. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 私とアジャイル開発の施行領 域 大規模開発(多人数) 10-20人 ✓

    分散拠点(オフショア含む)開 発 ✓ 組織(会社)間をまたぐ開発チ ームによる開発 ✓ 組込みシステム開発 ✓
  34. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 大規模開発(多人数) チームを4-6人に分割する ✓ 各チームのリーダーが中心に協 調する

    ✓ イテレーション単位で時々メン バーを入れかえる ✓
  35. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 分散拠点(オフショア含む) 開発 開発初期は同じ場所に集めた方 がよい ✓

    ツールを導入が必須 音声チャット(hangout, appear.in) ✓ コードレビュー(GitHub) ✓ カンバン(PivotalTracker) ✓ ✓
  36. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 組織(会社)間をまたぐ開発 チームによる開発 できる限り垣根がないようにす る 同じ場所同じチームとして働く

    ✓ ✓ 組織間の連携を常に意識する ✓
  37. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 どう導入するか 導入しやすいことから導入する チームや状況によって異なる ✓ ✓

    まずは教科書通りに始める ふりかえりなどを通してアレンジす る ✓ ✓
  38. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 なにから導入するか 1人でカンバン ✓ 1人でTDD ✓

    ペアプロ ✓ 2人でふりかえり ✓
  39. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 まとめ 開発をアジャイルにするにはそ れぞれの環境や状況によって異 なる ✓

    導入しやすいプラクティスから 始める ✓ 賛同してくれる仲間(同僚)を見 つける ✓
  40. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 SOCIAL CHANGE STARTS WITH YOU.

    [cited from `Extreme Programming 2nd Signature Model']
  41. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9 質疑・応答 困りごとがあれば相談にのりま す ✓ 分かりづらかったところなど