新入社員が多い中で効果的なレビューを行うための方法
レビューの準備からフィードバックまでの工夫
ワークスアプリケーションズ
風間 裕也© 2017 Works Applications Co., Ltd.

目次
・会社と自組織の特徴
・レビューの位置づけと特徴
・レビューの改善内容
・フィードバックの具体例
・フィードバック前後の指摘内容数の変化
・レビュイーの意識の変化
・現場の声
・まとめと今後の展望© 2017 Works Applications Co., Ltd.

2

会社と自組織の特徴© 2017 Works Applications Co., Ltd.

会社紹介
商号

株式会社ワークスアプリケーションズ

設立

1996年7月

事 業 概 要大手企業向け基幹業務パッケージ「COMPANY」および「HUE」の開発・販売・サポート

従 業 員 数

連結 5,631名 (2016年6月末日時点)

インド工科大学、北京大学をはじめとしたアジアTOP層のIT人材を多数獲得

大手企業向けERPパッケージシェア50％で 6年連続No.1
日本の大手企業の約3割、1,300企業グループ超が採用

世界初の人工知能型ビジネスアプリケーション

SHANGHAICHENNAISINGAPORENEW YORKTOKYOLOS ANGELSOSAKANAGOYAHIROSHIMAFUKUOKA
TOKUSHIMA

人工知能によるビッグデータ解析・学習
分散処理技術による高速処理© 2017 Works Applications Co., Ltd.

4

自組織の特徴
開発とQAの距離が近い→設計段階で指摘できる

多数の新人が配属された→基本的な部分から伝える必要あり→パッケージ製品の設計を教える必要あり開発チームの人数が多い→全員に周知徹底させるのが難しい© 2017 Works Applications Co., Ltd.

5

レビューの位置づけと特徴© 2017 Works Applications Co., Ltd.

レビューの位置づけ■レビュー形式

設計レビュー※不具合修正の方針レビューも含む■レビュー参加者

開発者、開発リーダー、QA■管理方法

・(公式)開発標準プロセスに含まれる・チケット/タスクでレビュー実施を管理© 2017 Works Applications Co., Ltd.

7

レビューの特徴
2カ月で約100回のレビューに参加した結果、新人には以下の特徴があった。

・必要な情報が資料に載っていない→何が必要なのか分かっていない

・同じような指摘が多い→毎回指摘をしていて大変© 2017 Works Applications Co., Ltd.

8

レビューの改善内容© 2017 Works Applications Co., Ltd.

改善内容
次回のレビューをより良いものにするために、新人でも・レビューに必要な情報を理解できる・最初に学ぶべき箇所を理解できることを目標に改善を試みました。
© 2017 Works Applications Co., Ltd.

10

方法の検討ベテランからの口伝→新人に比べ人数が少ないので伝えきれないチェックリスト→意図を理解してもらうことが難しい→優先度が分かりづらい

フィードバック資料→意図も含めて理解してもらえる→まず気にすべきことが分かる© 2017 Works Applications Co., Ltd.

11

フィードバック時の工夫■資料の工夫・具体例（実例）を示す→「分かるけど実践では…」と言わせない■方法の工夫・チームMTGを行脚し直接説明
・全員が目を通し、資料を理解・質疑応答で細かい所もフォロー© 2017 Works Applications Co., Ltd.

12

フィードバックの具体例© 2017 Works Applications Co., Ltd.

FB例1 ～影響範囲～[影響範囲]<対象機能・対象画面＞△△△△△△ページ。
<対象パス＞
src/main/java/jp/co/worksap/foo/bar/○○○.java＜影響範囲詳細＞△△△△△△ページにしか利用していないので影響はありません。

© 2017 Works Applications Co., Ltd.

14

FB例1 ～影響範囲～[影響範囲]<対象機能・対象画面＞△△△△△△ページ。

【指摘事項】
なぜ「影響なし」と言えるのかその判断の根拠が書かれていない。

<対象パス＞
src/main/java/jp/co/worksap/foo/bar/○○○.java＜影響範囲詳細＞△△△△△△ページにしか利用していないので影響はありません。

© 2017 Works Applications Co., Ltd.

15

FB例1 ～影響範囲～[影響範囲]<対象機能・対象画面＞△△△△△△ページ。
<対象パス＞
src/main/java/jp/co/worksap/foo/bar/○○○.java<調査>
方法(方法、Grep対象の文字列や拡張子など) :・呼び出し階層で検索・修正するメソッド名“getFooBarId”でGrep【記載例】
文字列検索(Grep)などを用いて、影響が無いと判断した理由を記載する。

＜影響範囲詳細＞
・呼び出し階層で検索した結果、今回の用途以外で呼ばれている部分は存在せず。
・Grepした結果、”src/main/java/jp/co/worksap/foo/bar/□□□.java”が出てきたが、ファイル内のprivate関数であるgetFooBarId()を呼び出しているため関係無し。
© 2017 Works Applications Co., Ltd.

16

FB例2 ～ファイルパス～[影響範囲]<対象機能・対象画面＞△△△△△△ページ。
<対象パス＞○○.js＜影響範囲詳細＞□□□□□□より、今回のページ以外に影響はありません。

© 2017 Works Applications Co., Ltd.

17

FB例2 ～ファイルパス～[影響範囲]<対象機能・対象画面＞△△△△△△ページ。
<対象パス＞○○.js【指摘事項】
違うパスに同じファイル名が存在している可能性がある＜影響範囲詳細＞□□□□□□より、今回のページ以外に影響はありません。

© 2017 Works Applications Co., Ltd.

18

FB例2 ～ファイルパス～①デバイスの違い（PCとスマートフォン）

src/main/java/jp/co/worksap/pc/ 以下を調査していたがsrc/main/java/jp/co/worksap/smp/ 以下でも同様の修正が必要だった。

デバイスの想定漏れに気付けた②似たような画面ユーザー情報登録画面の修正をしていたが、ユーザー情報編集画面も同様の修正が必要だった。

類似画面の想定漏れに気付けた© 2017 Works Applications Co., Ltd.

19

FB例3 ～新規と既存～＜修正内容＞
既存テーブルに新規カラムを追加[影響範囲]<対象機能・対象画面＞△△△△△△ページという新規ページを作成＜影響範囲詳細＞
前回の出荷時点に新たにカラムを加えただけなので影響なし。
また、新規ページを作成しただけなので、既存部分には影響なし。

© 2017 Works Applications Co., Ltd.

20

FB例3 ～新規と既存～【指摘事項1】＜修正内容＞
insert into ○○ VALUES
既存テーブルに新規カラムを追加 (foo, bar, baz);というカラム指定なしの[影響範囲]
insert文のSQLがあった場合、<対象機能・対象画面＞
不具合になる可能性がある△△△△△△ページという→テーブル名でGrep
新規ページを作成＜影響範囲詳細＞
前回の出荷時点に新たにカラムを加えただけなので影響なし。
また、新規ページを作成しただけなので、既存部分には影響なし。

© 2017 Works Applications Co., Ltd.

21

FB例3 ～新規と既存～【指摘事項2】＜修正内容＞
作成した新規ページ上で既存テーブルに新規カラムを追加入力したデータをDBにinsertする場合、[影響範囲]そのデータを取り出す<対象機能・対象画面＞画面も対象になる。
△△△△△△ページという→テーブル名でGrep新規ページを作成＜影響範囲詳細＞
前回の出荷時点に新たにカラムを加えただけなので影響なし。
また、新規ページを作成しただけなので、既存部分には影響なし。

© 2017 Works Applications Co., Ltd.

22

FB例4 ～初期設定～【概要】
結果一覧画面において、表示順序を変更できる機能を追加。
元々は名前順になっていたが、更新日付が最新から順になる方が分かりやすいので、初期表示は更新日付の降順にする。

© 2017 Works Applications Co., Ltd.

23

FB例4 ～初期設定～【指摘事項】
既存ユーザを考え、初期設定は以前と同じ＝名前順にすべき【概要】
結果一覧画面において、表示順序を変更できる機能を追加。
元々は名前順になっていたが、更新日付が最新から順になる方が分かりやすいので、初期表示は更新日付の降順にする。
※ パッケージ製品においては、既存動作保証が重要© 2017 Works Applications Co., Ltd.

24

FB例5 ～表示文言～【概要】○○に関するCSV取り込みができるようにします。
その中で「自動実行フラグ」の項目に関しては、0か1の値が入ります。
0が自動実行OFF、1が自動実行ONになります。
それ以外の値が入った場合、「入力値が誤っています。」というエラーメッセージを表示します。

© 2017 Works Applications Co., Ltd.

25

FB例5 ～表示文言～【概要】○○に関するCSV取り込みができるようにします。
その中で「自動実行フラグ」の項目に関しては、0か1の値が入ります。
【指摘事項1】0が自動実行OFF、1が自動実行ONになります。

「フラグ」はそれ以外の値が入った場合、システム用語なので「入力値が誤っています。」というエラーメッセージを表示します。 表示項目に使うべきではない。
© 2017 Works Applications Co., Ltd.

26

FB例5 ～表示文言～【指摘事項2】
メッセージを見たお客様が【概要】
次のアクションをどのように○○に関するCSV取り込みができるようにします。
その中で「自動実行フラグ」の項目に関しては、行えば良いか分からない。
0か1の値が入ります。
0が自動実行OFF、1が自動実行ONになります。
それ以外の値が入った場合、「入力値が誤っています。」というエラーメッセージを表示します。

© 2017 Works Applications Co., Ltd.

27

FB例5 ～表示文言～【記載例】
一般用語を用いる。

【概要】○○に関するCSV取り込みができるようにします。
【記載例】
その中で「実行方法」の項目に関しては、お客様がどのように0か1の値が入ります。
0が手動実行、1が自動実行になります。直せば良いか分かる文言になっている。
それ以外の値が入った場合、「入力値が誤っています。手動実行の場合”0”、自動実行の場合”1”を入力してください。」というエラーメッセージを表示します。
© 2017 Works Applications Co., Ltd.

28

フィードバック前後の指摘内容数の変化© 2017 Works Applications Co., Ltd.

FB前後の指摘内容数の変化
既存動作保証影響範囲57％減

前

後

前

テスト設計

25％減115％増後

前© 2017 Works Applications Co., Ltd.

後30

FB前後の指摘内容数の変化
既存動作保証
57％減

テスト設計

影響範囲115％増
25％減
フィードバック内容を活かし、事前に開発者自身が気を付けてレビューに臨んだ

前

後

前

後

© 2017 Works Applications Co., Ltd.

前

後
31

FB前後の指摘内容数の変化
既存動作保証影響範囲25％減

フィードバック57％減
内容を活かした

前

後

前

後

© 2017 Works Applications Co., Ltd.

テスト設計
新人の115％増調査方法では不十分なケースがあった
前後32

FB前後の指摘内容数の変化
既存動作保証 影響範囲
事前にきちんと調査し、25％減
論理的に示しているため、57％減
実装前にもかかわらず、テストに関する話まで伝えることができた
前

後

前

後

© 2017 Works Applications Co., Ltd.

テスト設計115％増

前後33レビュイーの意識の変化© 2017 Works Applications Co., Ltd.

レビュイーの意識[品質]Q1. レビューで製品の品質は良くなったと思いますか？
66%

33% 1%

1. 良くなったと思う
2. 少し良くなったと思う
3. あまり良くならなかったと思う
4. 良くならなかったと思う© 2017 Works Applications Co., Ltd.

35

レビュイーの意識[価値]Q2. 今回のレビューは上辺だけの実施でなく、実質的な価値があったと思いますか？

69%

30% 1%

1. 価値があった
2. 少し価値があった
3. あまり価値が無かった
4. 価値が無かった© 2017 Works Applications Co., Ltd.

36

レビュイーの意識[今後]Q3. レビューのフィードバックとして、具体例を用いた指摘事項を紹介しました。
これは、自分自身でのレビュー前確認で役立ちそうですか？
75%

25%

1. 役立つと思う
2. 少しは役立つと思う
3. あまり役立たないと思う
4. 役立たないと思う© 2017 Works Applications Co., Ltd.

37

現場の声

© 2017 Works Applications Co., Ltd.

メンバーの感想
影響範囲調査もレビュー時の指摘やフィードバック資料によって、自分で考慮漏れに気付くことができました。
当時は配属数か月で右も左もわからないという状況の中、レビューという場で不足している観点をおぎなってくれたことは非常にありがたかったです。
修正方法たくさんある中、一番パッケージとしていい方針を指摘いただいたので、良かったです。
© 2017 Works Applications Co., Ltd.

39

リーダーの感想大きかったと感じるのは、新人の「あまり深く考えずに何となく直してました」という姿勢が、改善されたことだと思います。
チーム、組織にとらわれず「皆で良い製品にしていこう」というマインドが徐々に根付きつつあると思っています。
レビューを徹底することで、メンバーの調査や修正による影響の考慮など、マインド的な面への影響はまちがいなくあると思う。
© 2017 Works Applications Co., Ltd.

40

改善要望
今のフローだと、工数を無駄にしない点からは、まだ改善の余地があるように感じています。

レビューの工数を減らす仕組みが必要だと思う。
資料作成や差戻しで時間がかかっていると思うので、テンプレートを増やすなどの工夫が必要。

© 2017 Works Applications Co., Ltd.

41

まとめと今後の展望© 2017 Works Applications Co., Ltd.

まとめ・新入社員が多い中でレビューを効率よく行うための方法として実例入りのフィードバック資料を作成した。
・フィードバックは直接説明することで、全員に理解してもらえた。
・結果として、より本質的な指摘ができるようになり、レビュイーからも良い反応を貰うことができた。

© 2017 Works Applications Co., Ltd.

43

今後の展望・フィードバック資料の第2弾以降を作成する。
資料は段階的にやるべきことを示すようにする。
・フィードバック資料に加え、理解度の確認ができる形にする。
・今回の施策がどのように品質向上に寄与したのか出荷後の不具合を計測し、定量的に示す。

© 2017 Works Applications Co., Ltd.

44

ご清聴ありがとうございました。

© 2017 Works Applications Co., Ltd.

45