ku-sukeのブログ

Just another hatena blog

「基礎から学ぶ チーム開発の成功法則」を読んだ

 こちらの本を献本いただいたのでさっそく読んでみました。

基礎から学ぶ チーム開発の成功法則 (開発現場の教科書)

基礎から学ぶ チーム開発の成功法則 (開発現場の教科書)

 

 こんなんじゃだめだ!スクラム(or XXX)やらなきゃ!の前に

今年は会社にスクラムのPO研修受けさせてもらって無事POになったんですが、本業のほうはいま10人くらいの制作チームにまで成長して、Qごとにチーム運営方法を整備したり変えて行ったりと非常に大変な1年だったなと思っております。

また、いくつかの開発現場にコンサル的な形でおじゃまさせていただいて、特に東京だからかもしれませんが、いわゆる本書のような「チーム開発の運営」ができる人材というのはほとんどいないなと。

まだまだCIだったり、デザイナーとエンジニアとコラボしたりっていうのを「経験」として持っていて、かつ言語化できるひとというのは希少だと感じています。

そういう人がいない現場では何が起こるかというと「なんかわからんけどおかしい!!」という風になるわけです。その矛先は、無差別に新しい要件を持ってくる上の人だったり、逆に○○しかやりません!みたいに硬直化するメンバーだったり様々ですが、解決策がわからないと「この状況を打破するにはスクラムしかない」といった銀の弾丸思考になりがちです。

開発手法だけでなく、ツール、コミュニケーションまで踏み込んだ一冊

その点で本書は、チーム開発を取り巻く「やるべきこと」にどのようなものがあればいいのか、幅広い観点で書かれています。

Chapter 1 チーム開発の概要
チーム開発手法の概略と、開発手法を利用する上で何が重要であるかを解説します。
Chapter 2 チームの役割
チームに必要とされる人材とそれぞれの役割を説明し、チームの全体像を描けるように解説します。
Chapter 3 チーム開発に使うツール
数多く公開されている開発ツールから最低限必要なツールを紹介し、チーム開発への導入を解説します。
Chapter 4 チームでのデザイン制作
チームデザインで発生する各種作業の内容や、制作する成果物を解説します。
Chapter 5 コーディング
効率よく実装し品質を向上させる、コーディング方法やコードレビュー、ユニットテストの重要性などを解説します。
Chapter 6 自動化とリリース
ビルドからサービスのリリースに至るまで、継続的インテグレーションとデリバリー、プロモーションなどを解説します。
Chapter 7 チームのライフサイクル
チームのライフサイクルを解説し、高い生産性を誇る安定したチームを作成する術を解説します。
Chapter 8 チーム開発のフロー
サービスがリリースされるまでのフローを、自社開発と受託開発それぞれの視点から解説します。

 「コードレビューしたほうがいいよね」「Jenkins立てて自動化したほうがいいよね」「振り返りやったほうがいいよね」という一度は聞いたことがある、そしてやったほうがよさそう系の事が網羅されています。

さらにはツールにも言及されていて、Backlogを使うのか、Confluenceを使うのか、GithubWikiを使うのかといった点も、経験が少ないチームにはその入口として役に立つと思います。どうしてもツール導入には学習コストが伴うので、疑心暗鬼のまま進むと身につきにくいし。

プロデューサー・エンジニア・デザイナーがどうコラボするか

本書は幅広い内容を網羅した内容となっていますが、最後のChapter08を最初に読むのもいいかもしれないです。自社企画を進める場合や受託の場合など一通りの流れが書いてあって、それぞれの場合にどこを読めばいいかが示されています。

本書に興味を持つのは、現場に課題感を持つエンジニアだったりすることが多いと思うので、まずは視野を広げて、別の職種がどういう仕事をやっているかも俯瞰することが、ボトルネック改善の第一歩になるのではないでしょうか。

どうしても、強い危機感・課題感とぱっと目についた開発手法が組み合わさって、非常に狭い範囲での部分最適に陥ってしまうことが往々にあるので、本書のような全体を網羅した本を何度もパラパラとめくる、あるいはチームで輪読することで、自分たちがまずやるべきことが見えてくるのではないかと思います。

冬休みの読書にお勧めの一冊です!

 

基礎から学ぶ チーム開発の成功法則 (開発現場の教科書)

基礎から学ぶ チーム開発の成功法則 (開発現場の教科書)