昨年6月頃から継続してチームメンバーを増員してもらいながら
チームとしてモウダメダーという状況から少しずつ製品を改善していける体制を整えてきました。
その際の取り組みとして上手くいったこと、上手くいかなかったこととどういう工夫をしたのかを記します。
製品の状況
人事給与システムのデータ投入・照会など従業員が利用する機能群をまとめた製品
(例)
住所変更、通勤経路の変更などの申請
給与明細、社員情報、組織図の照会
など
運用期間 約20年
ユーザー数 約1000社
チームが担当する機能の状況
-
製品内での人の配置に関する情報の人事給与本体からの連携とその情報を利用した条件設定機能の保守
- ほぼ全ユーザーが利用しておりある程度枯れているが、人事給与本体からデータを連携してくる部分はトラブルが緊急対応に発展しやすく、条件設定は複雑な設定も組めむことができ運用サポートする負荷は高い
- 細かい項目の対応漏れや複雑な条件を組むときの機能不足は残っている
- レガシーコード
-
発令関連の申請や内示・組織図等の照会機能の保守・機能追加
- 利用率がまちまちで利用ユーザーがかなり少ない機能もある
- 利用ユーザーが少ない機能はまだ多くの不具合が残っている
- 利用ユーザーが少ない機能は詳しい人が居ない
- バックログに積んだ不具合や機能追加要望が500件以上ある
- 当然のごとくレガシーコード
2022年5月までのチームの状況
チームメンバー2人
- プロダクトに異動して3年程、発令関連の機能を中心に触ってきたが、まだ担当機能で知らない機能もあるチームマネージャー(私)
- IT未経験で中途入社し約2年程一緒に仕事をしてきたメンバー
運用問題への対応で手いっぱいになっており、緊急の不具合数件を修正するような製品改善しか行えない
運用問題発生 ⇒ 不具合発覚 ⇒ 運用回避 ⇒ 半年後 ⇒ 別のユーザーで同じ不具合起因の運用問題発生
というようなサイクルを繰り返し、未来に希望が持てずモウダメダーという状態
チームメンバーの増員
2022年6月から12月
徐々に増員していただき、現在なんと8人に!ありがたやー。
6月
- 製品知識の豊富なベテランメンバーが休職から復帰し加入(長く担当していた機能は別機能)
- IT経験約3年の中途入社メンバーが加入
7月
- 現場経験豊富なBPさんが入場
10月
- 組み込み系の開発経験のある中途入社メンバーが加入
12月
- 現場経験豊富なBPさんが入場
1月
- ユーザー対応部門から異動してきたメンバーが加入
中途入社や開発部門以外から異動してきたメンバーは3カ月程度の研修があるため
すぐに開発に入ってもらった訳ではないですが、
きちんと戦力化すれば運用改善が行っていける!と未来に希望が持てる状態になりました。
うまくいかなかったこと
はじめ新しく入ってきた方々に機能単位で分担してもらう形で
運用サポートと不具合修正や機能追加案件を対応してもらったのですが、
これはあまりうまくいきませんでした。
我々が保守している製品は約1000社の利用ユーザーの業務を単一のコードでサポートし
約20年の間、継ぎ足し継ぎ足し機能追加され続けて動いているアプリケーションで
機能としてもソースコードとしても複雑なものとなってしまっています。
当然いきなり難しい修正をやってもらうことはできないので
分担した機能の運用サポートをやってもらいつつ、
比較的簡単に行えそうでデグレードのリスクの少ない案件から対応をお願いしました。
しかしそれでも以下のような問題が発生しました。
- 製品が複雑で初見で一人でキャッチアップすることが難しい
- 教える方も詳しくない機能では調べながら教えることになるためキャッチアップに時間がかかる
- 教える必要がある内容がバラバラなので時間がかかる(教える人がボトルネックになる)
- 運用サポートが割り込みで入り、不具合修正や機能追加を集中して行えない
うまくいったこと
しばらくチーム運営を続けるもなかなかうまくいかないなぁと感じたため、問題点をつぶすような対策を取りました。
-
運用サポートが割り込みで入り、不具合修正や機能追加を集中して行えない
⇒製品知識の豊富なベテランメンバーともう一人を持ちまわりで運用サポート担当になってもらい、他のメンバーに差し込み案件が発生しないように調整した -
教える必要がある内容がバラバラなので時間がかかる(教える人がボトルネックになる)
⇒チームが抱える課題を整理し、修正が安全に行えて効果の大きい領域を選定。全員がその領域に集中して取り組んだ。
全員で同じ領域に集中して取り組むことで以下のような良いことが起こりました。
- 取り組む内容が近いので一度に教えることができる
- 案件に取り組んでいる時もメンバーどうしで教えあうことができる、レビューもできる
- 以前案件に取り組んだ人が次に入ってきた新人さんに教えられる
- この領域の理解を製品の全体像を掴むきっかけにすることができる
特に案件に取り組んだ人が次の新人さんに教えられるという教育が連鎖する部分はかなり良く作用し、
どんどん人を受け入れても大丈夫という体制を作ることができたと思います。
これから
うまくいったことにも記載した通り、
取り組んでもらった領域を最初の取っ掛かりとして製品理解を進めてもらい
有識者の居ない機能や難しい案件にも対応範囲を広げていってもらっています。
まだまだ日々新しい問題が発生し続けていますが
顧客の運用からもらったフィードバックを製品に還元できない状況を脱し
少しずつですが着実に製品を改善できており、それが徐々に加速できていると感じます。
これからより多くの改善をユーザーに届けていきたいです。