SlideShare a Scribd company logo
1 of 51
Download to read offline
@toshi0383
アジャイルアカデミー
の研修に参加したよ
1
2015/05/12
❖ 鈴木 俊裕
❖ ジャズ、ドラム、凧揚げ
❖ GWはずっとReact.js 触ってました
3/5 Scrum Boot Camp(西村直人さん)
3/6 リーダブルコード(須藤功平さん他)
3/10 TDD(t-wadaさん他)
に参加しました。
参加の動機
❖ もっといい仕事のやり方を学ん
で、現場に生かしたいという思
い
❖ 純粋に触れて体感してみたかっ
た
今日話すこと
5
❖ スクラムについて所感
❖ リーダブルコードの実践方法
❖ TDDの敷居が下がる話
スクラムについ
て所感
スクラムって?
7
❖ アジャイル?
❖ イテレーションを回して?
❖ 朝会とかやって?
❖ みんな楽しそう、みたいな?
私もまだよくわからないのですが、
ありのまま当日の様子をお話しします。
とはいえ当日やったことといえば
本の表紙がプリントされた紙を切
り刻んでシャッフル
元どおりにテープでくっつける
切り刻まなければよかったのにと
後悔する
教訓
❖ 山からどうやって見つけ出すか?
❖ テープでくっつけるのが意外と
難しい(技術力必要)
❖ 完了の定義は?
他のアジャイルとどう違うん?
覚えることが少ないので導入しやすいって言ってた
❖ 3つのロール(役割)
❖ 4つの会議体
❖ 3つの成果物
❖ ちょっとした専門用語
ワークをやってみて、いいと思ったこと
❖ 常にラストスパート
❖ フィードバックの連続
❖ 見積もりの精度があがってゆく
❖ 振り返りの意義
常にラストスパート
❖ 締め切りが頻繁にやってくるので、毎日がリリース間際
のテンション。
❖ ぼーっとしてる暇がないので効率が上がる + 達成感。
フィードバックの連続
チームが学びを得る仕組み
❖ デイリースクラム aka 朝会(毎日)
❖ 振り返り(イテレーションごと)
見積もりの精度が上がってい
く
よくあるやつ
機能1~5の開発
チームの実力
2ヶ月先の締め切り
終わると思ったんだけど。。
スクラムだと!
機能1
締め切
り
機能2
機能3
締め切
り
締め切
り
だんだん見積りが正確になる!(イメージ)
※初めて導入する
場合、勉強期間は
当然必要。
振り返りの意義
振り返りの意義
❖ いいところをもっと伸ばす
❖ 仕事のやり方を見直す
振り返りの意義
0
25
50
75
100
n月 n + 1 月 n + 2 月 n + 3 月
コード量 開発スピード
振り返り
なるほど、スクラムやると仕事
のやり方が改善できそうだぞ
よし、明日からスクラムやる
ぞ!
なにからはじめれば。。
導入の障壁
❖ スクラムに詳しい人がいなくて不安なんですけど。。
❖ スマホチームとサーバチームが別会社なので全部スクラ
ムではできない気が。。
詳しい人にお願いして来てもらいましょう
スマホチームだけスクラムでできないか検討しましょう
(苦い顔)
実際に講師に聞いてみました。
つづきまして
リーダブルコー
ド実践
当日の様子
❖ Rubyのコミッタの方々が講師
❖ OSSでの開発はリモートでのやりとりが
多い
❖ 自然とひとのコードを読んで意図を み
取ろうとする
❖ 書く方も読まれると思うので読みやすい
ように気をつかう
❖ 多くの現場では、ひとのコードを読む時
間が圧倒的に足りていない!という問題
提起
❖ なるほど
当日やったこと
❖ レシピを出力するアプリをそ
れぞれで作る
❖ パートナーのリポジトリを
フォークする
❖ いいと思った点を書き出す
いいと思ったこと
❖ Checkstyleいれたり、コーディ
ング規約を設けて徹底するより
は、各自の気づきを生む文化
の方がよっぽど大事(指摘しな
くて済む方が効率的ですよね?
という考え方)
❖ 1行変えたらプッシュする(差分
が少ない方が読む気になる)
❖ つまり、
リーダブルなんて当たり前に
やりましょうよってこと。
とはいえ、モチベーションはチー
ムメンバーそれぞれで違いますよね
なにを言ってもひどいコードを書いてくるチー
ムメンバーがいる(としたら!)。どうした
らいい?
リーダブルを実践する方法
❖ まずは、みんながコードを読める仕組みを作るところか
ら(コミットをメールやチャットの通知)
❖ ちょっと変更したらすぐコミットしてプッシュを徹底する
チームみんながお互いのコードを読む習慣をつける
朝会で「今日のリーダブル」を共有する
ここまでで話したこと
❖ スクラムをやると仕事がうまく回りそう
❖ リーダブルコードを意識するとなお良さそう
つづきまして
TDDの敷居が下
がる話
TDDとは
❖ 機能のテストを書く
❖ 最初はテストが失敗するのでレッ
ドになる
❖ 機能を実装してテストをグリー
ンにする
❖ リファクタする
❖ これを非常に小さい単位でぐ
るぐる回していく開発手法
以前自分だけでやってみたTDDもどき
❖ テストと機能を一気に実装する
❖ テスト通らん!(複数箇所)
❖ テストが通るように実装を直す
❖ テスト通る
❖ テストの間違いに気づく
❖ テストと実装を一緒に直す このテスト大丈夫かな。。
なんかテスト書く方にばっか
り時間取られてる気がする。。
❖ あ、やっぱりこの機能いらんかったわ orz
❖ あーもうアプリ作ってるのかテスト作ってるのか。。TDDとかしらんわー
研修でやったTDD
❖ テストを書く(実装はスタブ)
❖ テストがこける
❖ 実装を直してグリーンにする(最短距離)
❖ リファクタリング
❖ テストを書く
❖ 最短距離の実装なのでちょっとひねっただけでテストがこける
❖ 実装を直してグリーンにする(最短距離)
❖ リファクタリング
❖ テストを書く
❖ 最短距離の実装なのでちょっとひねっただけでテストがこける
ポイント
❖ Test First(1サイクルは5分以内に完結させる)
❖ 不安なことはテストにして解消
❖ テスト自体もリファクタリングの対象
❖ TDDで書いたテスト ≠ 単体テスト
demo
❖ メトロノームアプリ
❖ TODO
❖ テンポを表すクラスを作る
❖ テンポの最小値でプログラムを扱うテンポを制限する
❖ テンポの最大値でプログラムを扱うテンポを制限する
TDDでいいと思った点
❖ 安心感
❖ リファクタリングが る→リーダブルになる!
❖ しょーもないバグは減りそう
ということは!
TDDについてまとめ
❖ スクラム
❖ リーダブルコード実践
❖ TDD
❖ 実践すればコードも綺麗で納期も守れてバグも出なくなる!
❖ 夢にまで見た理想郷はもうあなたの手の中。
と、思うだろ?
TDDの懸念点
❖ 開発コスト増
❖ テストのメンテコスト増
❖ DB,ネットワークの試験のためにスタブとかダミーデー
タとか作ってメンテするのはダルい
❖ UIをTDDで作るのはあまりメリットがないってt-wada
さんが言ってた
スクラムの懸念点
❖ 導入コストどうする?
❖ スクラムすることが目的になりそう
総括(TDD)
❖ 不慣れな技術を扱うときには向いている
❖ 時間かかりすぎるので開発すべてをTDDでやろうとし
ない方がよさげ
❖ ペアプロは、不慣れなコードを修正するときとか、新
人を教育を扱う時には有効
総括(リーダブル)
「読む人が
   読みやすければ
      リーダブル」講師
メンテしやすければそれでよし。
今日から実践しましょう。
総括(スクラム)
❖ スクラムは、チームの仕事がうまく回ることを保証する
仕組み
❖ あくまで1つの手法なので、導入すれば必ず効果が出る
というものではない
❖ いいものを作っていこう、いい仕事をしよう、という文
化を醸成するための仕組みと考えたほうがいいかも
一連の研修に参加してみて雑感
❖ 有料研修って高いなーと思いましたが、無料より有料の
研修の方が「お金払ったんだから絶対身につけてやる」
という気になると思った。
❖ 講師の方がその道の第一人者ばかりだったので、達人か
ら直伝で奥義を授かった気分になりお得な体験だった。
❖ スクラムやってみたくなった
❖ Keynoteやべえ
thank you

More Related Content

Similar to アジャイルアカデミー の研修に参加したよ

ペアプロデモの裏話 #tddbc
ペアプロデモの裏話 #tddbcペアプロデモの裏話 #tddbc
ペアプロデモの裏話 #tddbcYoutarou TAKAHASHI
 
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)Shoot Morii
 
そうだ!勉強会に参加しよう!
そうだ!勉強会に参加しよう!そうだ!勉強会に参加しよう!
そうだ!勉強会に参加しよう!Akira Kaneda
 
マンガを用いた業務教育アプローチについて
マンガを用いた業務教育アプローチについてマンガを用いた業務教育アプローチについて
マンガを用いた業務教育アプローチについてMineo Matsuya
 
困らない程度のJDK入門
困らない程度のJDK入門困らない程度のJDK入門
困らない程度のJDK入門Yohei Oda
 

Similar to アジャイルアカデミー の研修に参加したよ (6)

ペアプロデモの裏話 #tddbc
ペアプロデモの裏話 #tddbcペアプロデモの裏話 #tddbc
ペアプロデモの裏話 #tddbc
 
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
 
そうだ!勉強会に参加しよう!
そうだ!勉強会に参加しよう!そうだ!勉強会に参加しよう!
そうだ!勉強会に参加しよう!
 
マンガを用いた業務教育アプローチについて
マンガを用いた業務教育アプローチについてマンガを用いた業務教育アプローチについて
マンガを用いた業務教育アプローチについて
 
困らない程度のJDK入門
困らない程度のJDK入門困らない程度のJDK入門
困らない程度のJDK入門
 
2013年の探検隊
2013年の探検隊2013年の探検隊
2013年の探検隊
 

Recently uploaded

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 

Recently uploaded (12)

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 

アジャイルアカデミー の研修に参加したよ