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 アジャイルアカデミー の研修に参加したよ

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

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

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