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

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

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

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

Kunihiko Ito

June 25, 2016
Tweet

More Decks by Kunihiko Ito

Other Decks in Technology

Transcript

  1. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    アジャイルソフト
    ウェア開発の概要
    と現場での実践
    伊藤 邦彦
    永和システムマネジメント
    Agile Japan 2016 北陸
    2016-06-25

    View Slide

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

    現場での実践と工夫

    View Slide

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

    出身: 富山

    在住: 東京

    所属: アジャイル事業部

    仕事: [Ruby, Rails, Neo4j]

    View Slide

  4. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    使っているウィンドウマネー
    ジャ
    awesome window manager

    View Slide

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

    アジャイルサムライ道場を渡り
    歩く

    様々なプロジェクトに参画する

    XPE 読書会でもう一度アジャ
    イルについて考える

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    現場に持ち替り実践するヒント
    を得る

    View Slide

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

    View Slide

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

    View Slide

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

    XP の概観

    View Slide

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

    View Slide

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

    どのように導入するか

    View Slide

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

    必ずしも教科書通りにやる必要
    はない

    View Slide

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

    原則を守りチームによい影響を
    与えるようにアレンジする

    View Slide

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

    View Slide

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

    全員が見える場所に置く

    物理的な物がよい
    付箋を移動したことが横目で分かる

    イテレーション内に置ける量に制限
    がかかる


    View Slide

  19. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    テスト駆動開発
    慣れるまでは訓練が必要
    できる人とペアプロするとよい


    黄金の回転
    Red

    Green

    Refactor


    View Slide

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

    View Slide

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


    ロジックが難しいものなどはやった
    方がいい

    テストを書けないのはなにかがおか
    しい


    View Slide

  22. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    ペアプログラミング
    難しい問題をプログラミングをす
    るときにとてもいい
    悩む時間が短かくなる

    思った以上に疲れる

    View Slide

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

    TDD Boot Camp

    Extreme Fish Bowl

    View Slide

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

    短い時間で

    昨日やったこと

    今日やる事

    問題点を共有する

    View Slide

  25. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    朝会の落とし穴
    定型的、儀式になりがち

    タスクボードがない場合お互い
    を見あってしまうため、問題vs
    私たちの形がくずれる

    問題を話しすぎて長くなりやす


    View Slide

  26. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    ふりかえり
    KPT形式が多い

    イテレーション毎に開催する

    やらないとチームの成長が止ま


    View Slide

  27. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    ふりかえりでチームが成長す

    過去にあったTRY
    ふりかえりが長い
    時計を全員が見える場所におく


    バーンダウンチャートが書きづ
    らい
    Done になった日付を付箋に書き入れ



    View Slide

  28. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    イテレーション
    1~3週間ごとにチームは稼動可能
    なシステムを顧客に提示する
    1週間
    大変


    2週間
    おすすめ


    3週間
    未経験


    View Slide

  29. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    イテレーション計画
    誰がストーリーを作成するか?
    プロダクトオーナー

    開発メンバーが補助する


    View Slide

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

    チーム全員で見積る

    View Slide

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

    ときにはストーリーやタスクも分割
    して設計する必要がある


    できるだけ早くリリースの中に
    入れる
    フィーチャーフラグを使う手法


    View Slide

  32. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    インセプションデッキ
    リニューアルで新サービスを開
    発する時に作成

    よかったこと
    開発中方向性を見失わなかった


    よくなかったこと
    全部はやらなくてもよかった


    View Slide

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

    大規模開発(多人数) 10-20人

    分散拠点(オフショア含む)開


    組織(会社)間をまたぐ開発チ
    ームによる開発

    組込みシステム開発

    View Slide

  34. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    大規模開発(多人数)
    チームを4-6人に分割する

    各チームのリーダーが中心に協
    調する

    イテレーション単位で時々メン
    バーを入れかえる

    View Slide

  35. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    分散拠点(オフショア含む)
    開発
    開発初期は同じ場所に集めた方
    がよい

    ツールを導入が必須
    音声チャット(hangout, appear.in)

    コードレビュー(GitHub)

    カンバン(PivotalTracker)


    View Slide

  36. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    組織(会社)間をまたぐ開発
    チームによる開発
    できる限り垣根がないようにす

    同じ場所同じチームとして働く


    組織間の連携を常に意識する

    View Slide

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


    まずは教科書通りに始める
    ふりかえりなどを通してアレンジす



    View Slide

  38. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    なにから導入するか
    1人でカンバン

    1人でTDD

    ペアプロ

    2人でふりかえり

    View Slide

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

    導入しやすいプラクティスから
    始める

    賛同してくれる仲間(同僚)を見
    つける

    View Slide

  40. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    SOCIAL CHANGE STARTS
    WITH YOU.
    [cited from `Extreme Programming 2nd Signature
    Model']

    View Slide

  41. アジャイルソフトウェア開発の概要と現場での実践 Powered by Rabbit 2.1.9
    質疑・応答
    困りごとがあれば相談にのりま


    分かりづらかったところなど

    View Slide