新人エンジニアとその先輩たちへ、新人研修にこの本「ずっと受けたかったソフトウェアエンジニアリングの新人研修」を
4月に入り、それぞれの企業では新人研修が始まったことでしょう。最初に挨拶の仕方や名刺の渡し方などビジネスマンとしての基本的なマナーを人事担当や外部の講師から教わったら、次は実際の仕事の進め方を覚えることになります。ここではおそらく、先輩エンジニアの出番になるのではないでしょうか。
そんな新人研修を任される先輩エンジニアに、おすすめしたい本を紹介します。
ずっと受けたかったソフトウェアエンジニアリングの新人研修
仕事としてソフトウェアの開発を行うことは、趣味や研究で行うプログラミングとは全く異なります。
仕事としてのソフトウェア開発では、発注元としてのお客様がいて(お客様は社外だけとはかぎりません)、要求について聞き取りを行い、それを仕様に落とし込み、外部仕様書、内部仕様書といったドキュメントで確認をして、プログラミング、コードレビュー、単体テスト、結合テストといった工程を踏んでいきます。会社によってはアジャイル開発手法を採用し、短い期間でこういったことを繰り返すところもあるでしょう。
今回取り上げるのは、この仕事としてのソフトウェア開発を新人研修で学ぶことにフォーカスした「ずっと受けたかったソフトウェアエンジニアリングの新人研修」です。
一年前の記事「新人エンジニアとその先輩たちへ、OJTの前にこの本「ずっと受けたかったソフトウェアエンジニアリングの授業」を」で紹介した書籍の姉妹書にあたります。
ソフトウェア開発の工程でプログラミング以外の仕事がたくさんあるように、本書でもプログラミングの話はごく一部にとどまっています。コーディング規約についての説明が4ページある程度です。
その代わり、要件定義とはなにか、要件定義書の書き方や実際のサンプル、UMLやフローチャートの基本的知識、システム提案書のコツ、外部設計書、内部設計書、コードレビュー、総合テスト、結合テスト、受け入れテスト、それにPMBOOKの解説など、プログラミング以外に発生する仕事としてソフトウェア開発を成立させるためのさまざまな一般的知識が1冊にまとめられています。
IT系の書籍のほとんどはプログラミングの技術やネットワークの仕組みなど、技術そのものを教えるものです。本書のように仕事としてのソフトウェア開発の流れをまとめて俯瞰でき、それを分かりやすく解説してくれるものはそれほど多くありません。
新人研修では、自己流や自社流ではなく一般的に通用する知識を教えた上で、自社ではどうなっているのかを説明したいと、多くの先輩方が考えていることでしょう。そして新人エンジニアにとっても、教えられたことが自社だけで通じることなのか、それとも他社でも通用する用語や方法なのかを知ることは、これからの長いエンジニア生活にとって大事なことでしょう。その手がかりとして本書は役に立つと思います。
本書を基に先輩エンジニアが最新動向を補強してはどうか?
本書の内容は基本的にはウォーターフォールを開発手法として採用することを想定して説明されています。国内では多くの企業がまだウォーターフォール型の開発手法を採用していると考えられるため、本書の内容はそれらの企業にとって比較的なじみやすいものになっているはずです(目次は出版社のWebサイトで参照できます)。
その上で本書はUMLやアジャイル開発手法、PMBOK、メトリクス、セキュリティなどの新しい分野にも目配りしていますので、必要に応じて先輩エンジニアがこれらの部分の補強をしていくことで充実した内容の研修ができるのではないでしょうか。
一年前の記事「新人エンジニアとその先輩たちへ、OJTの前にこの本「ずっと受けたかったソフトウェアエンジニアリングの授業」を」ではコメントで「こんな本はウォーターフォールをベースにした古い考えであり、アジャイルな知識を身につけるべき」といったものもありました。Publickeyはアジャイル開発手法の最新情報を国内でもっとも詳しく紹介してきたWebサイトの1つであり、アジャイル開発手法を応援してもいますが、現実にいま多くの企業の新入社員研修でオーソドックスに使える書籍といえば、やはりこの手の内容に落ち着くのではないかと思います。
もちろん、アジャイル開発手法を最初から新人に叩き込みたいという先輩エンジニアもいると思います。その方には記事「アジャイル開発を、人はどのようにして学ぶのか。アジャイルの第一人者、平鍋さんに聞いた」で紹介した良書をぜひ参照してみてください。
なにはともあれ、新人エンジニアのみなさん、すばらしいIT業界へようこそ!
低予算・短納期へのさらなる対応強化が求められる現在のシステム開発会社では、コストや効率について新人から教育する必要があります。本書は、そうした企業の新人研修の場でテキストとして使えることにも配慮した、ソフトウェアエンジニアリングの入門書です。
昨年の記事「新人エンジニアとその先輩たちへ、OJTの前にこの本「ずっと受けたかったソフトウェアエンジニアリングの授業」を」で紹介したのは以下の2冊です。
日本のIT技術者は100万人に達すると言われるが、その半数以上がITの専門教育を受けていない。そんな現状を憂いた筆者が、ソフトウエア・エンジニアリングのエッセンスをやさしい語り口で解説する。全2冊のうち、1冊目である本書は、開発プロセスの大枠の説明から、提案書や外部設計書の書き方などを解説
著者が高知工科大学で実践したソフトウェアエンジニアリングの授業の記録。情報システムの企画提案、設計技術、品質管理、プロジェクトマネジメントというソフトウェア開発の仕事を一貫して理解できるように、平易に記述する。
記事「アジャイル開発を、人はどのようにして学ぶのか。アジャイルの第一人者、平鍋さんに聞いた」で紹介したのは以下の書籍です。
曖昧で変化しやすい要求仕様と向き合いながら、ソフトウェアを開発するためのライト級の方法論であるエクストリーム・プログラミング(XP)について解説する。新たな知見をとりいれた第2版。
「トヨタ生産方式」を源流にする「リーン開発」をソフトウエア開発に取り入れるための具体的方法を紹介。製造分野から始まったリーン活動は、その原則を理解しないままプラクティスだけを開発分野に適用しようとしても、行き詰るか失敗に終わってしまう。本書は、リーンの7大原則を、ソフト開発現場にどうしたら効果的に適用できるか、多くの実例を交えながら具体的に説明する。
本書では、アジャイル開発の実践方法の1つであるXPを中心に解説します。XPの概要と導入について解説し、XPによるアジャイル開発をチームに導入することを目指します。さらにXPのプラクティスについても詳述。
現場に即した開発手法の手引きとして、アジャイル(俊敏な、フットワークの軽い)開発の実践的な側面を解説した書籍。単なる開発手法の教科書ではなく、実際の開発現場から生まれたアドバイスや手引きを、具体例を用いて達人プログラマが伝える。
ソフトウェア開発の難題である見積りと計画づくりを「アジャイル」にすることで、開発の現実に即した、誤差の少ない計画づくりができるようになる。 その技法を、分かりやすく説いた1冊。