mintsu's blog

チーム開発実践入門 書評 レビュー

2019-07-02 01:00:00
書評

チーム開発実践入門 書評 レビュー

チーム開発実践入門 という書籍を読んだのでレビューします。新卒2年目のときに読んだ書籍で、チーム開発ができていなかった現場で非常に参考になった書籍です。
実践入門というだけあって、実際の現場でもすぐに取り入れられるような内容もあり、積極的に取り入れていっていました。

目次

レビュー 書評

おすすめ度: ★★★★☆

新卒2年目あたりで、読んだ本です。

チーム開発できていますか?

あなたのチームはチーム開発ができていますか?

  • 「何を」「いつまでに」「誰が」実行するのか、「何が」できたら「完了」なのかを管理・共有すること
  • ソースコードを始めとする成果物をチームで共有すること
  • 成果物の変更を管理し、成果物が壊れないように保ちつつ、各メンバーが平行作業できるようにすること
  • プロジェクトで得られた知識をチーム間で共有すること
  • チームで開発したソフトウェアがいつでも正しく動作することを証明すること
  • 誰がやっても間違いなく開発・テスト・リリースができるように作業を自動化すること

※ チーム開発実践入門 p4 より引用

上記はチーム開発の問題点に立ち向かう方法として著書に書いてあることです。
私が新卒2年目にいたチームではできていませんでした。
そんなときに非常に参考になったのがこの書籍です。

章立て

全部で7つの章立てで構成されています。
第1章 チーム開発とは
第2章 チーム開発で起きる問題
第3章 バージョン管理
第4章 チケット管理
第5章 CI(継続的インテグレーション)
第6章 デプロイの自動化
第7章 リグレッションテスト

第1章,第2章では、ケーススタディをもとにした、課題と理想の提示。
第3章以降は具体的な課題の解決方法、ツールの利用方法が記載されています。

良かったところ

この本のいいところは第2章の「チーム開発で起きる問題」があることが個人的には良かったです。
第2章ではケーススタディーが書いてあり、こんな環境では開発したくないというような内容が書いてあります。

例えば著書にも書いてありますが

リリースが複雑で手順書が必要となる

※ p29 より引用

といった問題点がケーススタディとして挙げられています。

読んでいるとこんな環境では開発したくないって思いますが、よく考えると「あれ、これうちの環境でも当てはまるな。。。」なんてところが出てきます。

ケーススタディで自分事の話だと認識した上で、理想のプロジェクトのあり方が提示されます。
著書には理想のプロジェクトとして下記が書いてあります

  • チケット管理システムに課題などが集約されている
  • できる限りバージョン管理システムを利用する
  • 繰り返し再検証可能なCIシステムを用意する
  • 環境の影響を最小限にとどめ、常にリリース可能にしておく
  • すべてを記録して追跡可能にする

※ p40 ~ p41 より引用

「こんな環境で開発したくない」 => 「あれ..うちの環境も当てはまる」 => 「これが理想の環境だ!」
1章、2章で自分事にする流れと理想を読んだ時点で、一気にモチベが高まりました。

3章以降は1章、2章の課題を解決するためのツールや具体的な実現方法が記載されています。
1章、2章のモチベーションの高まりもあり、「なるほど、こうすればいいのか」、「こんなツールがあるのか!」と知識の吸収もワクワクしながらできました。

「実践入門」というタイトルにもあるとおり、3章以降ツールの使い方等は、実践しながらできるような流れになっているので、現場にも取り込みやすかったです。

上記のように技術書でありながら、ケーススタディがあったり、「こういうのあるよね〜」といった感じで自分事として捉えられるような内容であるため非常に読み進めやすかったです。

気になった点

ただ、この書籍が出版された2014年は良かったと思うのですが、このレビューを書いている2019年現在では、CI等Jenkinsを自分で立てて行うのか?というと疑問です。 この点でおすすめの星を4つにしてます。
今であれば、Jenkinsを自前で立てたりすることはなく、CircleCIなど別のツールを使うほうが適切な選択肢の可能性はあるかと思います。
実際この著書にも

どのツールを使うかに正解はない

(※ p7 より引用)

と書いてあるので、技術の進歩や環境に合わせてベストなツールを選定していく作業はいずれにしても必要となります。

ただ考え方等は変わらないと思うので、一度読んで見るのは良いと思いました。

おすすめの対象読者

最後に私の思うおすすめの対象読者

  • チーム開発を任されたプロジェクトマネージャー
  • チーム開発が初めてのメンバー(新卒等)
  • バージョン管理システムを使っていない、CI/CDツールを使っていないような現場に携わる方