Visionalグループ株式会社ビズリーチでは、2022年4月新卒入社のエンジニア職、デザイナー職(あわせてプロダクト職と呼んでいます)を対象とした新卒研修を、約2か月半の間実施しました。
今回のプロダクト職への新卒研修は「品質」に重きを置いて行われました。
本記事では、その新卒研修で大切にしていることや、それを通して得た学びと変化について、受講した新卒社員がお伝えします。
「モノづくり」において大切にしていること
Visionalは、HR Tech領域を中心に複数の領域で事業を展開しております。
それらの多くは企業様の業務に密接に関係しており、また個人の生活や人生に関わるものです。
つまり、品質が保たれているものを継続的にデリバリーし、お客様のご期待に応えることが求められています。
モノづくりを行う上で大切なことは多くあります。
その中でも品質はモノづくりと切っても切り離せない関係です。
私たちは常日頃からいち消費者としてあらゆるモノに接し、無意識的にその品質を評価します。
モノを継続して利用するかの判断基準は多種多様ですが、その中でも品質は重要な判断軸ではないでしょうか。
当社では新卒のプロダクト職に対し、品質や品質保証に関する知識・プロセスを理解し、現場で実践できることを求めています。
そんな中、私も株式会社ビズリーチの新しい一員としてプロダクト職への新卒研修を受講しました。
2つの研修から構成される2022年の新卒研修
プロダクト職の新卒研修について、簡単にご紹介します。
ソフトウェアエンジニアリング研修
ソフトウェアエンジニアリングに関して体系的に書かれた、
書籍『実践ソフトウェアエンジニアリング(第9版)』1 を元にした、約3週間の講義及びワークショップです。
主なトピック
- ソフトウェアエンジニアリングの概要
- 品質と品質保証
- ソフトウェアプロジェクト
- ソフトウェアプロセス
- 思考力強化・モデリング
その中でも、身近なモノの品質について考えるワークショップが印象に残っています。
エンジニアとデザイナーで持っている知識や経験が異なるため、それぞれ品質への捉え方の傾向が違っていたことが面白かったです。
その一方で、品質に対する認識を揃える難しさを実感しました。
品質"最前線"実践研修
品質保証の実業務を模した6週間の研修です。
実際の現場での業務と同様に、複数日継続して取り組み、これまで学んだ品質保証に関する知識や技術を実践しました。中には同期とチームを組んで挑む研修もありました。
主な内容
- E2Eテストのテスト実行
- 実業務を模した手動テストのテスト設計とテスト実装
- E2E自動テストの作成
- API自動テストの作成
研修で得た学び
私は入社までの間、いくつかのスタートアップ企業にてソフトウェアエンジニアとして、0→1や1→10のプロダクト開発に参加してきました。
その中で私もプロダクトを作るうえでの品質の重要性は理解していましたが、体系的に学ぶことはできていませんでした。
新卒研修でソフトウェアエンジニアリングや品質について学び、今までの経験と照らし合わせて、自分ごととして研修内容を理解できました。
今回の研修を通して学んだことは多くありますが、特に大事だと思った3点を紹介します。
1. 問題に多角的にアプローチしてみること
問題に多角的にアプローチすることは、各解決策の欠点を相互補完でき、効率的に問題を解決できる可能性があります。
ここでは品質保証に対するアプローチについていくつか例を取り上げて考えます。
実装が終わってから品質保証に着手している、つまりシステムの実行を伴うテスト(いわゆる動的テスト)のみ実施しているプロダクトチームがあるとします。
このようなチームでは品質保証を後回しにしているため、実装後に多くの欠陥が見つかり、それらは多くの再実装を引き起こします。
そこで実装完了前にも品質保証に寄与できるアプローチをすることで、全体的な欠陥の修正コストが減少します。
例えば、仕様書や設計書を適切な人にレビューしてもらうこと、対象コードの実行なしに品質保証を手助けしてくれる静的コード解析ツールの導入などが考えられます。
次に、動的テストにおける多角的なアプローチについて考えてみます。
今回、システムテストや統合テストを作る研修があり、テストケースによっては特定のテストレベルでの実装が困難でした。
このような場合の対策として、特定のテストレベルでのテストに拘らず、他のテストレベルでテストすることが考えられます。
また、テストレベル毎に目的やテスト対象が異なるため、より多くの欠陥を見つけられることもあります。
どのテストレベルも欠けるべきではなく、複数のテストレベルでテストを作ることが重要だと学びました。
また、手動テストと自動テストを択一で採用するのではなく、両輪として活用することもプロダクトの品質保証に多角的にアプローチする例です。2
2. 意思決定には、十分な情報収集と適切な目的設定が重要であること
ソフトウェア開発の現場では、様々な場面で意思決定が求められます。
あるプロダクトチームの状況をもとにテストを通して品質保証に取り組む研修もありました。
その研修ではテスト目的の設定、テスト対象の決定、テストケースの作成および実装、実行までを一気通貫で取り組みました。
その研修の初めにテストの目的を設定したのですが、どのように設定していいかわからず、目的が不明瞭でした。
結果、以下2点の問題が発生しました。
- 設計したテストでは、狙った品質をきちんと保証できているか確証が無かった
- テスト設計の結果から、どのテストケースをテスト実施対象とするか論理的に決定できなかった
上記の問題を放置して作業を進めると、最終的にテスト実行まで済ませたにもかかわらず、狙った品質が保証できない状況になってしまう恐れがあります。
また、意味がある単位で期限内にテストを作りきれない可能性があります。
そこで改めて、適切な目的やテスト実行対象を設定するために必要なプロダクトチームの状況やプロダクトのユースケースなどの情報を収集しました。
それらの情報をもとに、テスト目的を明確に設定することで上記の問題を解決できました。
ソフトウェア業界には品質(Quality)、予算(Cost)、時間(Delivery)、スコープ(Scope)をまとめたQCDSという言葉がありますが、現場ではこれらのバランスを取る必要があります。
テスト作成業務だけではなく、どんな業務であっても情報収集と目的設定を意識することで、より適切な意思決定ができると感じました。
3. 適切に伝える技術を磨き続けること
チームでのソフトウェア開発では、要求を正しく実装してお客様へ提供するために、ステークホルダーとコミュニケーションを取る必要があります。
ミスコミュニケーションによって、プロダクトの要求を誤って実装しデリバリーしてしまった場合、その修正に多大なコストがかかります。
ただし、可能な限り前の工程で修正できればそのコストは下がります。3
研修中は日々、日報を記載しました。また、プレゼンの機会も定期的にありました。それらは研修について詳しく知らない人も見ます。
自分の伝えたいことが、想像以上に伝わらない場面もあり、誰かに何かを伝えることの難しさ、重要性を実感しました。
講師の方々からは伝わりやすい資料にするためのストーリー作り、適切な言葉の使い方や聞き取りやすい話し方などのテクニックを学びました。
現場で気づいた、研修による自身の変化
現在、私は研修を修了し現場に配属されています。
まだ配属されて1か月程しか経っていませんが、研修による以下の変化を感じています。
- 全体的な品質保証を意識し単体テストを追加できるようになった
- 何事も目的の明文化を意識できるようになった
- 早くレビューしてもらうことができるようになった
また、今までは積極的には触れてこなかった、ソフトウェアエンジニアリングやソフトウェアテストに関する情報も、自然とキャッチアップするようになりました。
おわりに
本記事では、新卒研修での学びを紹介しました。
一連の研修を通して、モノづくりの視座が高まったと感じています。
また、研修は「品質」を基軸に作られていましたが、個人的には汎用的な学びも得られました。
Visionalのバリューの1つに「変わり続けるために、学び続ける」というものがあります。
これからも学びを通じて変化し、お客様のご期待に応えられるプロダクトを作っていきたいです。
Visionalでは新卒採用を実施しています。
お客さまの本質的課題解決につながるプロダクトづくりに興味がある方の、エントリーをお待ちしています!
-
Roger S. Pressman 著、Bruce R. Maxim 著、SEPA翻訳プロジェクト 訳 『実践ソフトウェアエンジニアリング(第9版)』 (オーム社、2021年) ↩︎
-
テスト自動化研究会が公開している「テスト自動化の8原則」では、手動テストと自動テストについての誤解や落とし穴が記載されています。 ↩︎
-
いわゆるシフトレフト(ソフトウェアテストやセキュリティなどの領域において、特定の活動を前倒すこと)という考え方です。 ↩︎