開発プロセスはじめにシステム開発って、免許がなくてもできちゃうので誰もが「自称プロ」です。豊富な経験と専門知識を持った人が担当することもあれば、勘と度胸と限られた経験しかない人が担当することもあるわけです。規模の小さいシステムであれば後者のような人でもなんとか形になるかもしれません。規模的に数十人月を超えるような大きなプロジェクトだったり、かなりシビアな可用性やパフォーマンスを求められるミッションクリティカルなシステムだったりすると、後者のような人が担当するのはちょっと不安です。奇跡的に大成功する可能性がゼロとは言いませんが、やっぱり見積りやスケジュールを大幅にオーバーしてしまったり、品質的に目も当てられないシステムができあがったりするリスクの方がはるかに高いと思います。豊富な経験は簡単に手に入れられるものではありませんが、知識だけであれば書籍などからある程度吸収することができます。少なくとも「勘と度胸と限られた経験」しかない場合に比べれば、専門的な知識を頭に入れておくだけでもずいぶんマシだと思います。そこで、今回は体系的な開発プロセスや開発方法論を学習できる書籍をいくつか紹介したいと思います。アジャイル系おいらはあまりアジャイル開発の経験はありませんが、アジャイル開発への憧れから本だけなら色々と読んでいます。アジャイルは銀の弾丸ではないにしても、大半のプロジェクトではかなり大きな効果を上げられる合理性を持っているんじゃないかと感じています。見る今まで読んできたアジャイル関連の本の中で最も内容が濃かった一冊です。本気でアジャイルを導入したいなら、この本は外せないと思います。見る見積りとスケジュール作りに特化した本です。従来のトラディショナルな技法とは全く方法論が異なるので最初はなかなか馴染めませんでしたが、実際に試してみるとトラディショナルな技法よりもずっと合理的な方法論じゃないかと思いました。厳格なウォーターフォールとまではいかないにしても、システムのスコープ(機能)やスケジュールをできるだけ事前に固めようとしたり、開発スケジュールがいくつかのフェーズに分かれていたりするタイプの方法論を、ここでは「トラディショナル系」と呼ぶことにします。アジャイル派からは嫌われがちなトラディショナル系ですが、今でも参考になる部分はそれなりにあると思っています。何より、勘と度胸だけで立ち向かう人に比べれば、こうした体系的な方法論を理解している人の方がプロジェクトを成功させられる確率は高くなるはずです。COMPLETEで有名なスティーブ・マコネル氏の本です。厳格なウォーターフォールを推奨しているわけではないのですが、かといってアジャイル寄りでもありません。個人的な感覚からすると、どちらかといえばトラディショナルな方法論に該当すると思います。マコネル氏はまさに豊富な経験と専門知識の塊のような方なので、どの本も非常に実践的で役に立つ情報が満載です。見るいくらバッファ工数を用意しても、なぜかプロジェクトはずるずると遅れていってしまうという、よくありがちな問題の原因と解決策を述べたビジネス小説です。クリティカルチェーンの考え方はフェーズや担当者が分かれているようなトラディショナル系の開発方法論と特に相性がいいように思います。合わせて読みたいちょっと昔に書いたおいらのエントリを挙げておきます。try今回のエントリでは開発プロセスや開発方法論にフォーカスしましたが、テクニカルな話に関しても同様です。小さなシステムを開発する場合に必要な技術や知識と、大規模でミッションクリティカルなシステムを開発する場合に必要な技術や知識は大きく異なります。勘と度胸と限られた経験だけで大規模案件に立ち向かう「自称プロフェッショナル」ではなく、「本物のプロフェッショナル」を目指すなら、常に自己の研鑽を怠らないようにしたいものですね。はてなブログPro株式会社ソニックガーデンで働くRubyプログラマ。2017年11月に「プロを目指す人のためのRuby入門」を出版。blog)はてなブログをはじめよう!JunichiItoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。