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.

Java kuche agile japan 2017

354 views

Published on

enPiTのお話です。

Published in: Engineering
  • Be the first to comment

Java kuche agile japan 2017

  1. 1. enPiT 学生5人と社会人1人のアジャイル開発 java Küche Agile Japan 2017 サテライト 琉球大学大学院 理工学研究科 比嘉 明周
  2. 2. enPiT BizAppに参加してきました。
  3. 3. 優秀賞をいただきました!
  4. 4. 琉大enPiT活動はWebへ https://ie.u-ryukyu.ac.jp/enpit/
  5. 5. 今日は、 1.開発で大変だったこと 2.学んだこと を話します。
  6. 6. enPiTって何?
  7. 7. enPiTとは? ❏ 文部科学省主催 ❏ 「情報技術人材育成のための実践教育ネットワーク形成事業」 ❏ ビジネスアプリケーション分野、クラウドコンピューティング分野 ❏ セキュリティ分野、組み込みシステム分野 ❏ 比嘉はビジネスアプリケーション分野(BizApp)に参加 ❏ 内容 ❏ 筑波大学、公立はこだて未来大学、産業技術大学院大学を拠点 ❏ 学生・社会人を募集 ❏ 問題解決するためにwebアプリなど、ビジネスアプリケーションを作り、発表 ❏ 琉球大学は産技大のカリキュラムに参加 ❏ 琉球大学の学生5人が参加 ❏ アジャイル開発 + スクラム開発
  8. 8. スケジュール フレームワーク開発特論 Rubyコンポーネントの作り方 自由開発期間 講義外なので、開発しなくてもよい 6~9月 ビジネスアプリケーション特別演習 チームで開発、 毎週土曜日に開発したプロダクトをデモ アジャイル開発手法特論 アジャイルの考え方、 スクラムで迅速なチーム開発を練習 コラボレイティブ開発特論 Rubyフレームワークで開発 1 ~ 2月 10 ~ 12月 9月 3月 enPiT全体シンポジウム 全拠点のチームが集まって、 プロダクトを発表
  9. 9. 開発を 振り返ります
  10. 10. はじまり ❏ 琉球大学の院生5人でチーム結成 ❏ リーンキャンバスの作成 ❏ エレベーターピッチを作る ❏ パッケージデザインを作る この辺は割愛します。
  11. 11. スクラム開発 ❏ 1週間の計画を立てる ❏ スプリントバックログ作成 ❏ コアタイムの設置 ❏ チームで集まって作業する ❏ 作業 ❏ 個人でも集団でも作業してよい ❏ 1日15分のデイリースクラム ❏ スプリントレビュー ❏ 毎週土曜日にデモ ❏ demo or die ❏ 次に何をするか考えてバックログを更新する ❏ スプリントレトロスペクティブ ❏ 良かったこと、悪かったことを振り返る ❏ チームのための改善計画をつくる スプリント1 スプリント2 スプリント3 ・ ・ ・ ・ ・ ・
  12. 12. 1スプリント=1週間 ※他では1スプリント=3日の場合もあるらしい
  13. 13. 1スプリントの流れ 土 月 デモ、レビュー 振り返り(KPT) バックログ見直し タスク決め 火 水 木 金 個人&チーム作業 進捗確認 話し合い 日
  14. 14. 開発 開発フロー 品質管理 レビュー
  15. 15. コミュニケーション(Slack) チャット デイリースクラム エラー監視
  16. 16. コミュニケーション(GitHub) バージョン管理 issue 技術wiki
  17. 17. コミュニケーション(Trello) タスク管理 週次振り返り
  18. 18. 苦労と学び
  19. 19. 苦労と学び ❏ 個人間でのアジャイル開発、スクラムについての理解度の差 ❏ 技術的な知識不足 ❏ demo or die、タイムボックス、徹底した時間管理、徹夜作業、体調管理 ❏ 話し合いの意思決定が遅い、意見を言いあわない、脱線 ❏ タスクの粒度、タスクの重み見積もり、開発速度 ❏ バックログの引き受け条件、ユーザーストーリーの組み立て ❏ デイリースクラム、スプリントレビューによるリスク回避と外部レビューによる方向修正、 GitHubレビューの観点、レビュータイミング、コアタイム ❏ スプリントレトロスペクティブのKPT分析と達成条件 ❏ 外部要因による開発遅れ、研究、課題、学会等 ❏ 文化の違い、コミュニケーションの方法、ワークフローの違い ❏ タスクの属人化、他人にはできない分野 ❏ 引き継ぎ、途中参加
  20. 20. 苦労と学び ❏ 個人間でのアジャイル開発、スクラムについての理解度の差 ❏ 技術的な知識不足 ❏ demo or die、タイムボックス、徹底した時間管理、徹夜作業、体調管理 ❏ 話し合いの意思決定が遅い、意見を言いあわない、脱線 ❏ タスクの粒度、タスクの重み見積もり、開発速度 ❏ バックログの引き受け条件、ユーザーストーリーの組み立て ❏ デイリースクラム、スプリントレビューによるリスク回避と外部レビューによる方向修正、 GitHubレビューの観点、レビュータイミング、コアタイム ❏ スプリントレトロスペクティブのKPT分析と達成条件 ❏ 外部要因による開発遅れ、研究、課題、学会等 ❏ 文化の違い、コミュニケーションの方法、ワークフローの違い ❏ タスクの属人化、他人にはできない分野 ❏ 引き継ぎ、途中参加
  21. 21. タスクの粒度、重み見積もり 開発速度
  22. 22. バックログからタスクを作っていく
  23. 23. すごそうなタスク
  24. 24. すごそうなタスク ナビゲーションフッタはどんな感じに作るんだろ う?絵はないの? もうちょっとタスク分割できそうな気がする。
  25. 25. このタスクと他のタスクは依存関係があるか? 依存関係はなかった。
  26. 26. そのチームにおいて タスク実行待ちを作らない = 良いタスク粒度
  27. 27. このタスクは、そのチームにとって良い粒度
  28. 28. バックログの重み見積もり
  29. 29. バックログの重み見積もり (3)はバックログの重み
  30. 30. 重み=難易度 1, 2, 3, 5, 8, 13 易 <- -> 難 見積もりはよくハズれる
  31. 31. 見積もりは その時期での 相対的な技術挑戦度
  32. 32. 最初の見積もりは実験 どんどん正確になっていく
  33. 33. 開発速度 バックログの重みは3+8で11 このスプリントの開発速度(ベロシティ)は11
  34. 34. ベロシティは 次回のスプリントの見積もりに 使える
  35. 35. ベロシティは スプリントを重ねるごとに加速 していく
  36. 36. 文化の違い コミュニケーションの方法 ワークフローの違い
  37. 37. 人は皆、それぞれ違っている プログラミングするとき、インデントは何文字ですか? コードレビューの時、GitHubにどんな風にコメントを送っていますか? チームメンバーの作業時間を理解していますか? チームメンバーはいつでも開発状況が見れますか?
  38. 38. 週明けコアタイムに チームで情報共有をすると ストレスが減る
  39. 39. ちょっとした コミュニケーションで 開発が早く回る
  40. 40. 個人間でのアジャイル開発 スクラム開発の理解度の差
  41. 41. 宣言や用語の理解 宣言を覚えているか? バックログとタスクの違いがわかるか? バックログはどんな順にこなせば良いか? 振り返りは何のためにやるのか?
  42. 42. (誤解を恐れずにいうと) あまり理解していなくてもア ジャイルっぽくなる 失敗して成功しよう

×