人がつくるソフト
- 7. 人が 人と人が
だから
つくる 関わる
人が
ソフト 場が
大事
大事
それは 学びながら それは
当たり前の 少しずつ 簡単には
ことでした つくりました つくれない
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 7
- 8. 人が 人と人が
だから
つくる 関わる
人が
ソフト 場が
大事
大事
経験的手法
それは 学びながら それは
当たり前の 少しずつ 簡単には
ことでした つくりました つくれない
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 8
- 9. 発表の流れ
1. プロジェクトの背景
2. 施策
3. 実際の運用
4. ふりかえり
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 9
- 10. 1.プロジェクトの背景
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 10
- 12. 開発を担当した領域
主に担当
一部担当
Browser UI PC UI Mobile UI
Application
Business
(MiddleWare)
Deployment Operation Infrastructure
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 12
- 13. 開発チーム
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 13
- 14. チーム立ち上げ時の構成
• 4名
– Aさん:管理職(兼務)
– Bさん:製品開発系
– Cさん:新人
– Dさん:新人(外国人)
コンシューマ向 サービスの開発経験ゼロ
コンシューマ向けサービスの開発経験ゼロ
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 14
- 15. リコーITソリューションズ(株)
• 事業概要
– 企業向けソリューション提供
– リコー製品ソフトウェア開発
– グループ内IT構築/運用
コンシューマ向 サービスの開発経験ほぼゼロ
コンシューマ向けサービスの開発経験ほぼゼロ
ほぼ
(※依頼元(親会社)も)
依頼元(親会社)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 15
- 16. リコー製品ソフトウェア開発
• 安定したドメイン
– ベテラン多数
– コア資産
• 洗練されたプロセス
– 製造プロセスの一部がソフト開発
– 商品計画重視
– 出口品質
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 16
- 18. 新規事業
• チャレンジ
– 上手くいくことのほうが少ない
• サバイブ
– 要求は激しく変化する
• 価値、規模
– (社内で生き残るために)段階的な成果を
求められる
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 18
- 19. 新規事業で求められるエンジニアの行動
P lan D o
A ction
経験的なアプローチを重視
S tudy
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 19
- 20. 求められるエンジニア像
これまで 今回
Plan 従う つくる
Do 個人 チーム
Study 内省 発見
Action 洗練 変革
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 20
- 21. 課題
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 21
- 24. プロジェクトの背景まとめ
Past Future
• Product • Service
• Stable • Risky
• Predictive • Adaptive
• Process • People
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 24
- 26. PDSAを…
ぐるぐる回したい!
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 26
- 27. 新規事業でのソフトウェア開発(再掲)
P lan D o
A ction
経験的なアプローチを重視
S tudy
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 27
- 28. Studyを促進するために
• 学習の機会を増やす
– 自分たちで選ぶ
– 経験を重視する
– 健康を重視する(元気があれば何でもできる)
• 助け合う機会を増やす
– 皆でする
– 交替でする
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 28
- 30. 経験的なアプローチへ向けて
学習機会の増加
Study 関係者との対話
関係者との対話
との
チームプレイの活用
小さなプロセス
さなプロセス
関係者との共通理解
Action 観察して改善
観察して改善
して
チームへの権限委譲
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 30
- 31. 関係者とのコミュニケーション
関係者とのコミュニケーション
との
親会社
(企画/PM)
企画/PM)
わたしたち
開発チーム
チーム)
(開発チーム)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 31
- 34. 少しずつ動かす
しずつ動
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 34
- 36. 長期戦
Thanks: http://www.flickr.com/photos/mgobbi/3159205082/
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 36
- 38. 対話を続けるということ
• 契約ではない
– どうありたいかということ
– ノリ
– 自らを縛ってはならない
• 思い付きではない
– (変化する)合意形成を繰り返す
– 個々の実践と接続している
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 38
- 39. 経験的なアプローチへ向けて
学習機会の増加
Study 関係者との対話
関係者との対話
との
チームプレイの活用
小さなプロセス
さなプロセス
関係者との共通理解
Action 観察して改善
観察して改善
して
チームへの権限委譲
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 39
- 40. 小さなプロセス
さなプロセス
Thanks: http://www.flickr.com/photos/thewolf/4981629569/
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 40
- 41. プロセスが小さい、とは
• チームとして過去最小規模
– 自分たちの経験と比較して
• チームとして必要最小限
– あえて足りない状態からスタート
• 例外
– 面白い場合
– 開発を加速することが明らかな場合
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 41
- 42. なぜ、プロセスを小さくするのか
• 簡単だから
– できることから少しずつ
– 付け焼刃はよくない
• 無駄を省くため
– 開発に集中したい
• 学習機会を生み出すため
– 自分たちで発見し、付け加える
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 42
- 44. 開始時のプロセスを構成した実践群
開始時のプロセスを構成した実践群
した
少しずつ/長期戦
PDSA
チームプレイ
手作り
•チケット駆動開発
•マイルストーン •追加するなら減らす
•ふりかえり •社内Ruby特区
•テストファースト •帰れ
•コードの共有 •ジャーマネ上司
•バーンダウンチャート •Death Notes
•ニコカレ (チームオリジナル)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 44
- 45. チケット駆動開発 手作り
背景/課題
•チームの仕事を把握しきれない
•(例:ちょっとした依頼、善意の計画外作業)
対策
•全ての作業を「チケット」として記述
•チケット管理システムで、作業と成果物を集約
•常にメンバーが仕事を把握できるように
•チームの扱う情報の中心とする
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 45
- 46. Death Notes 手作り
背景/課題
•社内業務はグループウェアで統合済み
•間接業務も統合されていて開発に集中できない
•開発環境が古い
•自身の環境に対して、受身
対策
•グループウェアは使わない(間接業務では使います)
•自分たちで環境を構築
•環境を絶え間なく改善する姿勢を身に付ける
•楽しむ!
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 46
- 47. 社内Ruby特区 手作り
背景/課題
•既存の社内開発プロセスの適用を回避したい
•ウォーターフォール/各種標準/メトリックス
•チームメンバーが「主役」になるようにしたい
対策
Rubyを採用
Ruby
•開発に社内実績の無いRuby
•必要な標準はチームで構築またはテーラリング
•社内では誰も教えてくれない⇒自分たちで!
•技術的リスク⇒Matzに会いに行く! (行きましたw)
•その後も様々な形でRubyと関わるきっかけに
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 47
- 48. 追加するなら減らす PDSA
背景/課題
•開発プロセスが開発者の手間を増やす
•(例:冗長なチェックリスト、管理系の入力作業)
対策
•チームにルールを新たに追加する場合、チーム
にとって直接役立つものであること
•社内の管理部門や管理職のための作業で無いこと
•新ルールが開発者の作業を増やす場合は、
代わりに何か廃止/緩和されること
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 48
- 49. 帰れ 少しずつ/長期戦
背景/課題
•自主的に腕を磨いて欲しい
•仕事したい気持ちを大事にしてほしい
•元気で働いて欲しい
対策
•定時で帰る
•個人レベルの納期は設定しない
•チームの目標だけ
•仕事も属人的になるのを避け、助け合うのが基本
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 49
- 50. ジャーマネ上司 チームプレイ
背景/課題
•間接業務による開発力の低下を防ぎたい
•大企業ならではの煩雑さ
•参照、チェック、申請、報告、○△委員
対策
•上司がチームと間接部門の橋渡し役に
•開発チームを集中できる状態に維持する
•必要不可欠な作業はツール等で自動化、簡略化する
(野球部の、「できる」マネージャ的存在)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 50
- 51. 施策まとめ:開始時のプロセスを構成した実践群
施策まとめ:開始時のプロセスを構成した実践群
まとめ した
少しずつ/長期戦
PDSA
チームプレイ
手作り
•チケット駆動開発
•マイルストーン •追加するなら減らす
•ふりかえり •社内Ruby特区
•テストファースト •帰れ
•コードの共有 •ジャーマネ上司
•バーンダウンチャート •Death Notes
•ニコカレ (チームオリジナル)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 51
- 53. 経験的なアプローチへ向けて
学習機会の増加
Study 関係者との対話
関係者との対話
との
チームプレイの活用
小さなプロセス
さなプロセス
関係者との共通理解
Action 観察して改善
観察して改善
して
チームへの権限委譲
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 53
- 54. ふりかえり PDSA
背景/課題
•プロセスの改善を行うタイミングが欲しい
対策
•開発サイクル(約2週間)の区切りに会議を行う
•KPT、タイムライン、報告など
•改善点を出し合う
•全員でプロセスを構築する
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 54
- 55. チームの成長の歴史
暗黒期 成長期 革新期 成熟期
始 始
ト 開 開
ー ス ス 加 強
ビ
ス
タ
ー
ビ ー DC追 模
増
発 サ サ 二 規
β 式 第 大
開 正
2007/1 2008/1 5 2009/1 2010/5 2011 now
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 55
- 56. チームの成長の歴史:暗黒期
暗黒期 成長期 革新期 成熟期
始 始
ト 開 開
ー ス ス 加 強
ビ
ス
タ
ー
ビ ー DC追 模
増
発 サ サ 二 規
β 式 第 大
開 正
2007/1 2008/1 5 2009/1 2010/5 2011 now
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 56
- 57. 〜暗黒期〜
•要件曖昧
•経験不足
•見積り精度:低
•障害対応難航
•不安
Thanks: http://www.flickr.com/photos/pinksherbet/206812690
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 57
- 58. 暗黒期の実践群 少しずつ/長期戦
PDSA
チームプレイ
手作り
•チケット駆動開発 •追加するなら減らす
•マイルストーン •社内Ruby特区
•ふりかえり •帰れ
•テストファースト •ジャーマネ上司
•コードの共有 •Death Notes
•バーンダウンチャート •バグレゴ
•ニコカレ •チキン上司 (追加)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 58
- 59. マイルストーン(廃止) PDSA
背景/課題
•マイルストーンを設定したが...
•見積もりが甘く、達成できなかった
•完了日がずるずる延びた
•マイルストーンとは別の要求が優先された
対策
•廃止(マイルストーンは単なる「番号」になった)
•タイムボックスができる程の見積もり精度になるまでには長
い道のりが...
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 59
- 60. チームプレイ
バーンダウンチャート/ニコカレ(廃止) 少しずつ/長期戦
背景/課題
•バーンダウンが
次第に炎上
•飛び込み業務多発で
•ニコカレ飽きた
•付け忘れ
•男同士でニコニコはどうか
対策 •バーンダウン:飛び込みが制御できるまで廃止
•ニコカレ:廃止
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 60
- 61. バグレゴ(廃止) 少しずつ/長期戦
ブロックでは管理できないほどバグが出て廃止
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 61
- 62. チキン上司 少しずつ/長期戦
背景/課題
•若手が萎縮する
•先輩が怖い
•しかし言わなくてはな
らない時はある
対策
•ニワトリの帽子をか
ぶった上で怒る
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 62
- 63. 暗黒期のPDSA
• 全てが定まらないことを体感
– 予測が困難
– ストレスが溜まる
– 試行錯誤
• できることに絞る
– 効果の無いものはばっさりやめる
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 63
- 64. チームの成長の歴史:成長期
暗黒期 成長期 革新期 成熟期
始 始
ト 開 開
ー ス ス 加 強
ビ
ス
タ
ー
ビ ー DC追 模
増
発 サ サ 二 規
β 式 第 大
開 正
2007/1 2008/1 5 2009/1 2010/5 2011 now
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 64
- 65. 〜成長期〜
•サービスIN
•トラブル続出
•ベテラン加入
•急速に成長
Thanks: http://www.flickr.com/photos/pinksherbet/5635192906
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 65
- 66. 成長期の実践群 少しずつ/長期戦
PDSA
チームプレイ
手作り
•チケット駆動開発 •追加するなら減らす
•マイルストーン •社内Ruby特区
•ふりかえり •帰れ
•テストファースト •ジャーマネ上司
•コードの共有 •Death Notes
•バーンダウンチャート •バグレゴ
•ニコカレ •チキン上司
•朝会は10時
(追加)
•フリーキッカー
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 66
- 67. 朝会は10時 手作り
背景/課題
•会社では9時に朝礼をする
•チームにフレックス勤務の人が増えた
対策
•重要な会議はコアタイム内に実施する
•(フレックスの人も重要なチームメンバー)
•朝礼は朝礼だけする
•10:00までは「自由時間(開発以外の雑務、提案活動)」
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 67
- 68. フリーキッカー チームプレイ
背景/課題
•ベテランの能力は貴重!
•×設計者やレビュアー
•◎プログラマとして
•特定の分野を担当すると、品質にばらつきが
対策
•ベテランはつまみ食いでよしとする
•締め切り無し!
•やりたいところ(=臭い所)を好きなだけ
•ベテランがいろいろなところに良いコードを残す
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 68
- 69. 成長期のPDSA
• 人員が追加される
– チームに異なる価値観が生まれる
– 対話を通じてメンバーが見えてくる
• 雰囲気作りに集中
– プロセス自体よりも、関係性重視
• 個人攻撃にならないように
• 疎外感を生まないように
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 69
- 70. チームの成長の歴史:革新期
暗黒期 成長期 革新期 成熟期
始 始
ト 開 開
ー ス ス 加 強
ビ
ス
タ
ー
ビ ー DC追 模
増
発 サ サ 二 規
β 式 第 大
開 正
2007/1 2008/1 5 2009/1 2010/5 2011 now
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 70
- 71. 〜革新期〜
•品質向上
•大規模化
•自動化
•新人加入
Thanks: http://www.flickr.com/photos/nostri-imago/3349784558/
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 71
- 72. 革新期の実践群 少しずつ/長期戦
PDSA
チームプレイ
手作り
•チケット駆動開発 •追加するなら減らす
•マイルストーン •社内Ruby特区
•ふりかえり •帰れ
•テストファースト •ジャーマネ上司
•コードの共有 •Death Notes
•バーンダウンチャート •バグレゴ
•ニコカレ •チキン上司
•かんばん •朝会は10時
•タイムボックス •フリーキッカー
•オンラインレビュー •UXスモールチーム
•ベロシティ •ローテーション
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 72
- 73. バーンダウンチャート(復活) チームプレイ
背景/課題 見積もり精度と調整力が上がってきた!
対策
•復活
•割り込み作業も図に含めた(緑色=総数)
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 73
- 74. UXスモールチーム 手作り
背景/課題
•UXの仕様がなかなか固まらない
•ステークホルダーが多すぎる
•最も知見があるのがプログラマ
対策
•UXの仕様決定権を持つチームを作成
•(企画、デザイナ、プログラマの3名)
•プログラマが企画段階から検討に参画
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 74
- 75. ローテーション チームプレイ
背景/課題
•開発、運用が効率良く行えない
•規模が大きくなり属人性が高まった
•不得意分野はなかなか成長しない
対策
•あらゆる仕事を交代制で行う
•開発と運用
•障害対応と機能追加
•ミドルウェアとアプリケーション
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 75
- 76. 革新期のPDSA
• 共通理解が進む
– データを使った改善が可能に
– 技術的な課題に集中
– 課題の大量在庫
• 積極的な改善活動に着手
– 技術力向上
– 自動化の推進
– 作業のさらなる可視化
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 76
- 77. チームの成長の歴史:成熟期
暗黒期 成長期 革新期 成熟期
始 始
ト 開 開
ー ス ス 加 強
ビ
ス
タ
ー
ビ ー DC追 模
増
発 サ サ 二 規
β 式 第 大
開 正
2007/1 2008/1 5 2009/1 2010/5 2011 now
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 77
- 78. 〜成熟期〜
•若返り
•初期メンバーがベテランに
•手法の洗練
•教育、訓練
•自己組織化へ
Thanks: http://www.flickr.com/photos/powi/899915960/
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 78
- 79. 少しずつ/長期戦
成熟期の実践群 PDSA
チームプレイ
手作り
•チケット駆動開発
•追加するなら減らす
•マイルストーン
•社内Ruby特区
•ふりかえり
•帰れ
•テストファースト
•ジャーマネ上司
•コードの共有
•Death Notes
•バーンダウンチャート
•バグレゴ
•ニコカレ
•チキン上司
•かんばん
•朝会は10時
•タイムボックス
•フリーキッカー
•オンラインレビュー
•UXスモールチーム
•ベロシティ
•ローテーション
•プロダクトバックログ
•モジャ
•ペアプログラミング
•ハイタッチ
•計画ゲーム
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 79
- 80. モジャ チームプレイ
背景/課題
•ペアプロをバックログ単
位でローテーションした
結果、発見したバグにつ
いて詳しい人が誰かわ
からなくなった...
(=バグの埋め逃げ)
対策
•バグを埋め込んだ人が判明した場合、解消されるま
で(質問に行きやすいように)帽子を被る
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 80
- 81. ハイタッチ(廃止) 手作り
背景/課題
•朝会の締めの場面等で、
よし、やるぞ!と気合を入
れたい
対策
•ハイタッチする
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 81
- 82. 成熟期のPDSA
• プロセスの改善が活発に
– ふりかえりで沢山の意見が
– メンバーが自信を持っている
– 各自やりたい事がある
• 自己組織化へ向けて
– 計画づくりのプロセス化
– 多能工化の推進
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 82
- 83. PDSAは、楽しい。
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 83
- 86. ふりかえり:実績面
• プロジェクト
– サービスは計画通りカットオーバー
– 運用3年経過
– 新サービス開発にも着手
• チーム
– 4人⇒16人(+別途3チーム立ち上げ)
– 残業時間 7H/月
– 退職、病気休暇者 0名/4年
– OSS開発
– 社外発表
– 社外技術系コミュニティ活動
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 86
- 87. ふりかえり:Keep
• 次第に上手く運営できるようになった
– 小さく始めたのが良かった
– 関係者との共通理解が徐々に生まれた
• メンバーが積極的に学習するようになった
– 勝手に本買ったりコード書いたり勉強会出て
たりして泣きそうになった
• 誰も体を壊さなかった
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 87
- 88. ふりかえり:Problem
• 上手く回るまでに時間がかかった
– コーチの能力の問題
– 初期段階で投入可能な実践の不足
• 自動化の投入が遅い/不十分
– 初期段階のチームの技術力の低さ
– CI技術のキャッチアップ遅れ
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 88
- 89. ふりかえり:Try
• テスト強化
– 受け入れテストの開発効率向上
– 負荷テスト等複雑なテストの自動化
• 他プロジェクトへの展開
– コーチングスキルの伝承
– 製品開発分野への適用
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 89
- 91. 人が 人と人が
だから
つくる 関わる
人が
ソフト 場が
大事
大事
それは 学びながら それは
当たり前の 少しずつ 簡単には
ことでした つくりました つくれない
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 91
- 92. 求められるエンジニア像
これまで 今後
Plan 従う つくる
Do 個人 チーム
Study 内省 発見
Action 洗練 変革
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 92
- 93. 新規事業でのソフトウェア開発(再掲)
P lan D o
A ction
経験的なアプローチを重視
S tudy
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 93
- 95. 自分たちの
やり方を
育てよう
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 95
- 96. Social change starts with you.
- Kent Beck -
Copyright © Ricoh IT Solutions Co., Ltd. All Rights Reserved. 96