モダンな現場にするために実践したこと
by
kentana20
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
モダンな現場に するために 実践したこと 株式会社一休 田中 健介 @kentana20
Slide 2
Slide 2 text
自己紹介 •田中 健介 •Twitter: @kentana20 •GitHub: kentana20 •Hatena: kentana20 •初めてイベントで喋ります
Slide 3
Slide 3 text
本日のお話 •一休のご紹介 •自分の業務(過去と現在) •現場改善のきっかけ •プロジェクト発足のためにやったこと •キックオフしてからやったこと •これからやろうとしていること •まとめ
Slide 4
Slide 4 text
今日のスライド 90枚
Slide 5
Slide 5 text
とある方から の アドバイス
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
サクサク行きます
Slide 8
Slide 8 text
一休 is 何?
Slide 9
Slide 9 text
一休.com
Slide 10
Slide 10 text
一休.com •主力サービス •高級ホテル・旅館の予約サイト •2000年5月オープン(14歳) •http://www.ikyu.com/
Slide 11
Slide 11 text
一休.com レストラン
Slide 12
Slide 12 text
•第二の柱となっているサービス •高級レストランの予約サイト •2006年5月オープン(8歳) •http://restaurant.ikyu.com/ 一休.com レストラン
Slide 13
Slide 13 text
お隣さま
Slide 14
Slide 14 text
社内の開発体制 •エンジニアは開発部とインフラ部のいず れかに所属 ! •開発部 • 宿泊事業:20数名 • レストラン事業:10数名 •インフラ部 • 全サービス保守+社内情シス業務:若干名
Slide 15
Slide 15 text
社内の開発体制 •エンジニアは開発部とインフラ部のいず れかに所属 ! •開発部 • 宿泊事業:20数名 • レストラン事業:10数名 •インフラ部 • 全サービス保守+社内情シス業務:若干名 自分はココ
Slide 16
Slide 16 text
自分の業務 (過去) https://accounts-flickr.yahoo.com/photos/36236696@N00/3363957930/?rb=1
Slide 17
Slide 17 text
https://accounts-flickr.yahoo.com/photos/36236696@N00/3363957930/?rb=1 •一休.com(宿泊)で長くサービス開発 • 主に新規機能開発と運用・保守 •サイト多言語化、ANAとの連携、ネイティブアプリ のサーバサイドAPI開発など •ここ2~3年はエンジニアとディレクターの中間的な ポジション 自分の業務(過去)
Slide 18
Slide 18 text
自分の業務 (現在) https://accounts-flickr.yahoo.com/photos/go_wild/8620380857/?rb=1
Slide 19
Slide 19 text
https://accounts-flickr.yahoo.com/photos/go_wild/8620380857/?rb=1 •開発業務改善プロジェクト •「ユーザへの価値提供速度を最大化する」 •開発効率、サービス品質、運用負荷といった 課題毎に解決へ向けたアプローチを実施 ! •コアメンバー5名(専任は自分1人) 自分の業務(現在)
Slide 20
Slide 20 text
•一休のご紹介 •自分の業務(過去と現在) •現場改善のきっかけ •プロジェクト発足のためにやったこと •キックオフしてからやったこと •これからやろうとしていること •まとめ
Slide 21
Slide 21 text
突然ですが 質問です
Slide 22
Slide 22 text
みなさんの現場は モダンですか? _人人人人人人人_ > 突然の質問 <  ̄Y^Y^Y^Y^Y^Y ̄
Slide 23
Slide 23 text
スピードを保って 顧客に価値を 届け続けていますか? _人人人人人人人_ > 突然の質問 <  ̄Y^Y^Y^Y^Y^Y ̄
Slide 24
Slide 24 text
改善前の一休
Slide 25
Slide 25 text
ザ・レガシー https://accounts-flickr.yahoo.com/photos/59393183@N03/8102172989/?rb=1
Slide 26
Slide 26 text
改善前の一休 •ザ・レガシーな現場 •バージョン管理はSubversion •コードレビューはほぼ実施せず •テストはほとんどない •デプロイは手動作業満載 •情報共有は個々の意識に依存 https://accounts-flickr.yahoo.com/photos/59393183@N03/8102172989/?rb=1
Slide 27
Slide 27 text
改善を考えたきっかけ •サービス開発を続けてきて、さまざまな要因 から価値を届けるスピードが著しく低下 •近年のWebサービス開発の潮流(GitHub、コードレ ビュー、テスト、CI etc..)にうまく乗れていない •毎日の開発・運用が手一杯で新しいチャレンジがで きない •etc…
Slide 28
Slide 28 text
改善を考えたきっかけ •サービス開発を続けてきて、さまざまな要因 から価値を届けるスピードが著しく低下して いると感じていた •近年のWebサービス開発の潮流(GitHub、コードレ ビュー、テスト、CI etc..)にうまく乗れていない •毎日の開発・運用が手一杯で新しいチャレンジがで きない •サービスの方向性をうまくコントロールしないまま、 増員を繰り返してソースコードは品質低下&肥大化 このままではアカン。。 けど、自分もギョームが たんまりあるし、、何か 良い手はないか?
Slide 29
Slide 29 text
•@naoya_ito さんのエントリ(2013年10月) • 「Webサービス開発現場から」(超良記事!) 葛藤の中で見えた光
Slide 30
Slide 30 text
コレだっ!! https://accounts-flickr.yahoo.com/photos/madyorke/7952266082/?rb=1
Slide 31
Slide 31 text
一休もnaoyaさんに 技術顧問的なカタチで アドバイスしてもらおう! https://accounts-flickr.yahoo.com/photos/madyorke/7952266082/?rb=1
Slide 32
Slide 32 text
イベントでnaoyaさん にアタック! • @kentana20 • 「一休でもじげんさんのようなカタチで、、、」 • @naoya_ito • 「いや、、ちょっと直近だと動ける時間少なく て、、、XX月頃になって、おんなじような興味を 持ってたら、また、、」 • @kentana20 • 「そうですよねぇ、、」
Slide 33
Slide 33 text
イベントでnaoyaさん にアタック! • @kentana20 • 「一休でもじげんさんのようなカタチで、、、」 • @naoya_ito • 「いや、、ちょっと直近だと動ける時間少なく て、、、XX月頃になって、おんなじような興味を 持ってたら、また、、」 • @kentana20 • 「そうですよねぇ、、」 やさしく お断りされる
Slide 34
Slide 34 text
イベントでnaoyaさん にアタック! • @kentana20 • 「一休でもじげんさんのようなカタチで、、、」 • @naoya_ito • 「いや、、ちょっと直近だと動ける時間少なく て、、、XX月頃になって、おんなじような興味を 持ってたら、また、、」 • @kentana20 • 「そうですよねぇ、、」 でも、諦めない
Slide 35
Slide 35 text
「X月頃」を信じて準備 •2013年12月 •上司に改善プロジェクト起案を打診 ! •2014年1月初旬 •DevLove「現場」Advent Calendarに参加
Slide 36
Slide 36 text
Advent Calendar
Slide 37
Slide 37 text
準備、準備 •2014年1月中旬 •Advent Calendarがきっかけで事業部長とラ ンチ(決まってもいないnaoyaさんの話で盛 り上がって、上司の許可をゲット!)
Slide 38
Slide 38 text
naoyaさんに再アタック! • @kentana20 • 「一休の田中です。あの時、相談したxxxxxxの件 であれこれあれこれ」 • @naoya_ito • 「……自分にできることがあるか、とりあえず、 一度話をしましょうか」 • @kentana20 • 「ありがとうございます!!」
Slide 39
Slide 39 text
naoyaさんに再アタック! • @kentana20 • 「一休の田中です。あの時、相談したxxxxxxの件 であれこれあれこれ」 • @naoya_ito(後から聞いた話) • 「……自分にできることがあるか、とりあえず、 一度話をしましょうか(どの田中さんだったっ け?)」 • @kentana20 • 「ありがとうございます!!」
Slide 40
Slide 40 text
naoyaさんに再アタック! • @kentana20 • 「一休の田中です。あの時、相談したxxxxxxの件 であれこれあれこれ」 • @naoya_ito(後から聞いた話) • 「……自分にできることがあるか、とりあえず、 一度話をしましょうか(どの田中さんだったっ け?)」 • @kentana20 • 「お待ちしております!!」 奇跡!
Slide 41
Slide 41 text
•2013年10月 naoyaさんのエントリ読む •2013年11月 イベントでnaoyaさんにアタック •2013年12月 上司に改善プロジェクト起案を打診 •2014年1月 「現場」Advent Calendarに参加 •2014年2月 naoyaさん初来社 •2013年3月〜 技術アドバイザー契約 時系列で見ると
Slide 42
Slide 42 text
はじめに やったこと https://accounts-flickr.yahoo.com/photos/65830221@N06/6872338687/?rb=1
Slide 43
Slide 43 text
自分たちの 現在地を知る https://accounts-flickr.yahoo.com/photos/65830221@N06/6872338687/?rb=1
Slide 44
Slide 44 text
•目指すべき姿・カタチに対して、自分た ちは何が足りないのか、どんな課題があるの か •コード品質、情報共有、テストといった具 体的な課題項目を横軸としたCMMIを作成 •CMMIを元に各課題についての改善後のアク ションストーリーを作成 自分たちの現在地を知る https://accounts-flickr.yahoo.com/photos/65830221@N06/6872338687/?rb=1
Slide 45
Slide 45 text
CMMI
Slide 46
Slide 46 text
アクションストーリー
Slide 47
Slide 47 text
アクションストーリー 現在地点と 目標を見える化
Slide 48
Slide 48 text
次のアクション https://accounts-flickr.yahoo.com/photos/schepers/10850885766/?rb=1
Slide 49
Slide 49 text
•新しいツールの検証 •全体展開する前に自分たちにフィットするかをコア メンバーで検証 ! •メンバーに情報をインプット •壮大な目標と大量の変化で混乱させないように少し ずつ(少しずつが、後に仇となる…) 次のアクション https://accounts-flickr.yahoo.com/photos/schepers/10850885766/?rb=1
Slide 50
Slide 50 text
そして、ついに
Slide 51
Slide 51 text
プロジェクト キックオフ! (2014/04/01) https://accounts-flickr.yahoo.com/photos/93893419@N05/8718429763/?rb=1
Slide 52
Slide 52 text
•エンジニア全員を集めて実施 ! •自分が話したこと •プロジェクトの目的 • CMMIによって整理した現状 • これから目指す方向 •naoyaさんに話していただいたこと •イマドキのWebサービス開発現場の話 キックオフ https://accounts-flickr.yahoo.com/photos/93893419@N05/8718429763/?rb=1
Slide 53
Slide 53 text
キックオフしてから やったこと
Slide 54
Slide 54 text
体制をつくる
Slide 55
Slide 55 text
プロジェクト体制
Slide 56
Slide 56 text
プロジェクト体制 •課題項目毎に推進チームを編成 •キックオフ時に実施したアンケートを元に編成 •チームごとに目標と具体的なアクションを設定
Slide 57
Slide 57 text
プロジェクトの進め方 •naoyaさんと隔週でミーティングを実施 • 進捗の確認とテクニカルなレビュー etc.. ! •3ヶ月ごとにふりかえりを実施 •全員の前で目標に対する現在地と成果を共有 •これからトライすることに沿ったお話をnaoyaさん がプレゼン(貴重)
Slide 58
Slide 58 text
4月からの4ヶ月間 で実施したこと
Slide 59
Slide 59 text
主に実施したこと •情報共有ツール・ルールの整備 •バージョン管理システムの移行 •タスク管理と見える化
Slide 60
Slide 60 text
情報共有
Slide 61
Slide 61 text
Hipchat
Slide 62
Slide 62 text
Hipchat •Atlassian社製のチャットサービス •主にエンジニア同士でやりとり •最近デザイナーもジョイン •外部ツール連携も結構ラク • Hubot, Jenkins, Redmine ..
Slide 63
Slide 63 text
Qiita Team
Slide 64
Slide 64 text
Qiita Team •qiita.comの社内向けサービス •カジュアルに情報を共有できる •Markdownで記述可能(重要) •Hipchatとも連携可能 •日報を書くことからスタート •慣れてきたら徐々に仕様や技術Tipsなど を展開
Slide 65
Slide 65 text
Qiita Team
Slide 66
Slide 66 text
情報がまわるように •情報の流れをあえて冗長化 •Qiitaに投稿(自動的にHipchatに通知) •さらにたたみ掛けるように、より知ってお いてほしい相手に自分でHipchatでメンショ ンを飛ばす •さらにさらに朝会で口頭で共有
Slide 67
Slide 67 text
情報がまわるように •情報の流れをあえて冗長化 •Qiitaに投稿(自動的にHipchatに通知) •さらにたたみ掛けるように、より知ってお いてほしい相手に自分でHipchatでメンショ ンを飛ばす •さらにさらに朝会で口頭で共有 「知らない」 「聞いてない」 を作らない仕組み
Slide 68
Slide 68 text
バージョン 管理
Slide 69
Slide 69 text
ツールの選定 •GitHub(Private) or GHE •運用面ではGitHub(Private) •コスト面でも圧倒的にGitHub(Private) •ソースコードをホスティングするという部 分を許容できず、GHEを選択
Slide 70
Slide 70 text
導入が決まってから やったこと
Slide 71
Slide 71 text
社内勉強会 •naoyaさんとGitHub(コアメンバー) •有志で社内勉強会 •全体でGit/GitHubハンズオン
Slide 72
Slide 72 text
naoyaさんとGitHub
Slide 73
Slide 73 text
naoyaさんとGitHub •いまどきのGitHubお作法を学習 •WIPプルリク •CI連携 •継続的デリバリー
Slide 74
Slide 74 text
社内勉強会 •有志で業務開始前1時間を使って実施 •GitHubを複数人で触って習熟度アップ •導入を促進する仲間を増やす ! •Git/GitHubハンズオン •勉強会参加メンバーを講師としてエンジニ ア全員向けに実施
Slide 75
Slide 75 text
先週、全員移行完了 しました!
Slide 76
Slide 76 text
タスク管理 と 見える化
Slide 77
Slide 77 text
タスク管理と見える化 •カンバン •チーム内部のタスクと状況を見える化 ! •朝会 •チーム朝会+全体朝会で状況と情報を共有 ! •ふりかえり •チーム毎にふりかえりをKPTで実施
Slide 78
Slide 78 text
カンバン
Slide 79
Slide 79 text
カンバン •チーム毎に運用はお任せ •チームそれぞれでカンバンのカタチを決め て運用中 •ToDo/Doing/Doneのシンプルなものから、細 やかな管理が出来そうな高機能なものまで さまざま
Slide 80
Slide 80 text
朝会
Slide 81
Slide 81 text
朝会 •全体朝会+チーム朝会 •「リーン開発の現場」のデイリーカクテル パーティ方式 •全体朝会の内容は「朝刊」としてQiita Teamへ投稿 •週1回(月曜日)の全体朝会は組織的な話や プロジェクトのサマリなどを共有する重要 な場としてメリハリを出す
Slide 82
Slide 82 text
プロジェクトを進める中で 発生した課題 (抜粋) https://accounts-flickr.yahoo.com/photos/r000pert/136999467/?rb=1
Slide 83
Slide 83 text
•少しずつ共有を進めていったため、メンバー によって認識にズレがあったり、共有が漏れ ていたりして、うまく進まない部分があった ! •コミュニケーションの機会を意図的に作った り、大事な話は経緯を含めてなるべく事前に 共有するように方針を変更 メンバーへのインプット https://accounts-flickr.yahoo.com/photos/r000pert/136999467/?rb=1
Slide 84
Slide 84 text
通常タスクとの住み分け •担当しているプロジェクトが佳境を迎 えると改善タスクが進まない問題 •全体で改善タスクを推奨する時間帯を設定 •近日中にGoogleの20%ルール的な制度も導入 予定 https://accounts-flickr.yahoo.com/photos/r000pert/136999467/?rb=1
Slide 85
Slide 85 text
これからやること •リリース回数を増やす •デプロイ運用の自働化 •テストコード、E2Eテストの標準化 ! •サービス品質向上 •コードレビュー •技術的負債返済
Slide 86
Slide 86 text
まとめ(所感) •動かなければ何も変わらない • 思っているだけじゃダメ •異世界に思える開発現場もそんなに遠くない • やってみると、意外とできることは多い •スピード感を持って進めることが大事 •うまくメンバーを巻き込めても、効果を感じないと 勢いを失う
Slide 87
Slide 87 text
Special Thanks https://accounts-flickr.yahoo.com/photos/shadman14/7165289344/?rb=1
Slide 88
Slide 88 text
Special Thanks •@chachaki さん(ギルドワークス) • 1月に「現場 Advent Calendar」に投稿した際に、 当日いきなり「書きたいです!」と突撃したにも 関わらず、速攻でレスをいただき、参加させてい ただきました。あのエントリがきっかけとなって 今回のプロジェクトが実現しました。本当にあり がとうございました。 • DevLoveサイコーです!
Slide 89
Slide 89 text
Special Thanks •@yaotti さん(インクリメンツ) • 11月のイベントで「naoyaさんに相談したら良いん じゃないですか?」と助言してくださり、そこか ら今回の改善プロジェクトが始まったと思ってい ます。ありがとうございました! • Qiita Teamサイコーです!!
Slide 90
Slide 90 text
Special Thanks •@naoya_ito さん • 課題だらけの現場を改善するこのプロジェクトに アドバイザーとして加わっていただき、本当に感 謝しています。まだはじまって4ヶ月と少しです が、少しずつ効果が見え始めています。今後も改 善を進めていきますので、これからもよろしくお 願いします!
Slide 91
Slide 91 text
Special Thanks •一休の開発メンバー全員! •突然のキックオフから始まったプロジェクトをサポー トしてくれて、本当に感謝しています。相変わらず 衝突することやバタバタすることもありますが、順 調に進んでいますのでこれからも改善を続けていき ましょう!!
Slide 92
Slide 92 text
おわりに •一休ではエンジニアを積極採用中で す!! •現場改善に積極的に加わりたい方 •「新しい価値を提供し続ける」ことに興味が ある方 ! •ご興味のある方は @kentana20 までご連絡く ださい!
Slide 93
Slide 93 text
一休ウォーター おみやげにどうぞ!
Slide 94
Slide 94 text
終わり ご静聴ありがとう ございました