異動でDr.Sum/MotionBoard業務を3ヶ月で引き継ぐことに。システム開発経験のない後輩にどう引き継いだのか?
本投稿は、データ活用Advent Calendar2023の12/10の投稿です。
「④2024年に向けて…今年の振り返りと来年の目標宣言」についての内容になっております。
1. 青天の霹靂 in 2023年初頭
1.1 えっ?異動!?
客先常駐で約10年の間Dr.Sum/MotionBoardに携わってきた私に、 2023年に入ってすぐ、最大級の衝撃が走りました。
・異動。10月から本社勤務(Dr.SumもMotionBoardもなし)
・Dr.Sum後任はシステム開発経験なし
・引継期間は3ヶ月
今回は引継そのもののお話です。どのような計画で引継を実施したのか?
引継だけでなくチームに新しいメンバを迎えた際の教育も同様かと思います。
1.2 引継の体制
業務は通常通りやりつつ、MotionBoardとDr.Sumそれぞれに一人ずつ計二名に対して私の業務引継を行うことに。MotionBoard担当とは一年ぐらい一緒に仕事してましたのでまだよいのですが、Dr.Sum担当との引継期間は3ヶ月、システム開発経験なし。これは大変なことになるぞ、と思いました。実際大変でした。
2. やったこと、心がけたこと、今感じてること
2.1 まず頻出用語を説明
7月から現場入りしたDr.Sum引継者(今回は自社の後輩)に、まず各種用語(組織名、システム名等々)やツールに関する専門用語を教えました。会話の中で説明なく当たり前のように使ってしまうと相手は「??」です。
ツール説明のためには基本的なデータベース概念が必要ですので、並行して教えていきました。
2.2 単純作業を沢山させてツールに慣れさせる
最初に単純な修正を数たっぷり、集中的にしてもらいました。ツール触るのにおっかなびっくりの状態を早く脱するため。かなり量があったので本人はしんどかったようですw。
2.3 一度の説明は最大1時間
説明を続けて、長時間行うのはできるだけ避けました、引継者を混乱させるだけです。
私、何時間もかけて一度に沢山説明をされてもその場では半分ぐらいしか理解できません、後で聞きにいくことになります。みなさんはどうですか?説明する目的は「理解させること」です。目的が「説明すること」にならないよう気をつけましょう。
今回の引継では私からの説明はできるだけ一日最大3時間(ひとつのテーマで1時間×3種類みたいな)で、後述する本人の「まとめる時間」に1時間以上とっていました。
2.4 業務として「まとめる時間」を設定する
業務として、その日のうちに聞いた説明を自分なりにまとめてもらう時間をとりました。 これは私が指示した事でなく、後輩が自分でし始めたことです。 後輩が来てしばらく経った頃、黙々と小さなアウトプット(仕事上必要な概念や手順書など色々)をしていることに気づきました。有効性を感じましたので一日の作業の中に取り入れるようにしました。アウトプットすることで自分が何をわかって何がわからないのか?を把握できる事を本人は理解していたように思います。
2.5 放置しない
引継者が未経験者で不安がってる場合はもちろん、例え百戦錬磨の戦士だったとしても、来たばかりの現場で業務もわからず知り合いもいない中で放置は厳禁です。すぐに信頼を失います。
自分が忙しく引継する時間がとれない場合は素直にそう伝え、何かしらの作業を指示しましょう。ちゃんとあなたを気にかけている、のサインです。放置が続くと心を閉ざしてしまう危険性があります。
2.6 「わからない事は聞いてください」はNG
わからない事が聞けるのはある程度わかるようになってからです。
キーワードがわからないと検索できないのと一緒です。
初めての仕事をする人は何がわからないのかがわからないです。
仕事場で他の人がしている会話を耳にした時、単語単位でそれが何なのかわからないのでいつも混乱しています。
ずっとそこで働いている人たちは、自分たちが主語を省き省略語で話していることを忘れがちです。
「2.1 まず頻出用語を説明」に書いたように頻出用語は先にできるだけ説明しましょう。そのあときちんと時間を割いて、順序だてて仕事ができるようになるように対応してあげないといけません。
2.7 対話対話対話&観察→相手の得意な事を見いだす
相手のことをわかるために話す以外の手段はないと思っています。
私も引継者ととにかく色々話すようにしました、業務に関係あることもないことも。 相手がこちらを信頼してくれることを願いながら真摯に誠実に対応!を心がけます。
接しているうちに本人の得意・不得意がわかるようになります。得意な部分をほめて伸ばして自信をもってもらえれば良い方向に進みます。不得意分野を補強するのはそのあとでいいと私は思っています。
2.8 「お手並み拝見」は自分がしっかり説明し相手が仕事に慣れてから
ドラクエでも王様は最初に最低限の装備くれますでしょ。でないと光の速さで見切り付けられてしまいますよ。
2.9 一番不安なのは後任だということを忘れない
引継者は初めての場所に来て、初めての人たちに囲まれ、初めてやる事ばかり。さらに引継=時間が経てば前任者は去ることがわかっているのです、不安をぶつけてくることもあります。きちんと向き合い、優しく厳しく大きなこころで見守りましょう。
引継のあと、次は自分が初めての場所で初めての人たちに囲まれ初めてやる事をすることを考えると不安になるのですが、それはいったん置いといて引継に集中しましょう。
3. 引継計画
3.1 進捗報告
まず、3ヶ月でたどり着けるゴールは担当者スキルとしては最低限レベルであることを、お客様にはよくよくご理解頂く必要がありました。
次に、引継期間3ヶ月間、お客様に進捗報告するために引き継ぐべきことを洗い出し、項目ごとに目指す理解度レベルを設定し、項目単位でその推移を報告することで、何がどれくらい引き継げたのか数字でわかるようにしました。
こんな感じです。↓
3.2 技術編
画像ですいません、項目表を貼ります。画像のあとに文字起こししたものをいれますが見にくいので後日nest membership portalコミュニティでExcelを配布できたらな~と思っております。
データベース基礎
1.1)リレーショナルデータベースの仕組み
1.2)テーブル/ビュー
1.3)プライマリキー
1.4)インデックス
1.5)テーブル結合(JOIN)SQL
2.1)導入(最初の一歩) みんなのSQL講座 #SnowVillage
https://www.youtube.com/playlist?list=PLVj4iIZgzTAosFCBlyy_1IXk0jfFO7XU1
2.2)実践
日々の積み重ね!徐々におしえます。Dr.Sum
3.1)Dr.Sum 使い始めてみよう
ウイングアーク カスタマーサクセスサイトにあるコンテンツ
https://cs.wingarc.com/ja/howto/dr_sum/19222?brand=dr_sumc&service=6136&scenario=6137
3.2)ツール概要
しくみ、出来ること
3.3)ツールインストール
Dr.Sum Development Kit
Dr.Sum Connect Client
リモート接続ツール
4.4)開発環境
DBサーバ:Dr.Sumサーバ
APサーバ:Connect/MotionBoardサーバ
テストサーバ:DBサーバと同バージョンのDr.Sum
4.5)ユーザ管理(権限含む)
ユーザ・グループ・グループレベル
4.6)Enterprise Manager
Dr.Sumを扱う際のメインツール。作業の起点。
テーブル
ビュー
キー設定
4.7)SQL Executor
SQL実行ツール。
4.8)VTB Creator
CSVやExcelを高速でTBLインポートするための設定ファイル作成ツール
原則、ファイルレイアウトとTBLレイアウトが同じである場合に利用
4.9)DS Script
Dr.Sumのデータ準備作業で実施するバッチ処理や
データ加工処理(前処理)を支援するためのスクリプト言語、
SQL実行に分岐やループ、エラー処理を加えひとつのスクリプトとして
実行できる。
※SQL、プログラムのアルゴリズム理解が必須。
Connectよりもっとシステム技術者寄りのツール。
4.10)Dr.Sum Connect
セゾン情報システムズ DataSpider ServistaのOEM。
スクリプト作成、バッチから起動、トリガで起動。
※SQL・プログラムのアルゴリズム理解が必須、ある程度のレベルに
達するまでサポート必要。
4.11)バックアップ
日次、バッチ実行
4.12)リビルド
週次、バッチ実行
4.13)ユーザアクセス状況の確認
4.14)ユーザメンテナンス(追加/変更/削除)エディタ
4.1)ツールインストール
サクラエディタなどテスト/データ検証
5.1)WinMergeインストール資料起き場
6.1)Dr.Sum
フォルダパスを記入
6.2)MotionBoard
フォルダパスを記入
6.3)作業一覧
フォルダパスを記入
6.4)作業時間報告
フォルダパスを記入
6.5)Dr.Sum/MotionBoardサポート
7.1)ウイングアーク カスタマーサクセスサイト
専門チームへの問合せ
https://cs.wingarc.com/ja
3.3 業務編
環境全般
1.1)Dr.Sum関連組織の理解
Dr.Sumを利用している組織・グループ会社の説明。
1.2)周辺環境 関連システム/データ構造の基本理解
Dr.Sumにデータを流し込んでいる元システム解説。
※まずは基本を理解。今後、業務上必要なシーンで各システム担当者と
会話しデータ構造知識を授けていただく必要あり。
各システム担当者 Dr.Sumにデータを流し込んでいる元システムの
担当者。
1.3)Dr.Sumによる権限管理
以下設定がされることで、ログインユーザによるデータ絞り込みを
おこなう。
①ユーザにグループがついている
②グループの環境変数に、閲覧可能な部門にあたるコードが
セットされている。
③Dr.Sumビューの抽出条件に、セッション関数「GET_GROUP_INFO」の設定がある。データインポート・データ作成
2.1)システムごとの処理・特徴
例)システムA Oracleから直接取得
Oracleビュー作成、VTB作成、Connectから呼出。
データインポート・データ作成
2.2)例)システムB
Oracleから直接取得
基本Oracleビュー作成、VTB作成、Connectから呼出。
例外(月1回(月次)CSVファイルで受信するもの)あり。
データインポート・データ作成
2.3)例)システムC
Oracleから直接取得
Oracleビュー作成、VTB作成、Connectから呼出。
データインポート・データ作成
2.4)例)システムD
FTPで指定フォルダにFTPされる。CSVファイル。夜間バッチ
3.1)Dr.Sumインポートバッチ概要
3.2)タスクスケジューラ
3.3)バッチ起動/終了ログの確認
3.4)バッチエラー発生時のメールFTP
4.1)環境理解
DBサーバ内に所定フォルダあり(例えば D:\DrSum\FTP のような)。
システムごとにFTPユーザを作成、ログイン後そのままPUT
(決まったフォルダに入るよう設定する)してもらう形式。
4.2)各システムからのファイルPUT確認、調整
各システムからFTPで毎日最新データがPUTされる。
時間はまちまち。原則21:00~翌日始業時間までの間にインポート処理
を実行するが、例外的に業務時間内にインポートするシステムも存在。
当日の最新データを反映するため。日次
5.1)バッチ処理の正常終了確認
スクリプト/バッチ異常終了時はメールが来る
※メールがくる仕組みは自作、システム担当者が変更になる等
送信先が変わる場合は自らメンテナンスが必要。
※ジョブはJP1等の管理はされていない。タスクスケジューラによる
ジョブ管理も仕事のうち。
3.4 あとは実践だ!
なんだかんだ書きましたが一番実効性があるのは普段の業務を一緒にやることです。数をこなします。説明を沢山します。少しずつやることの難易度をあげていきます。質問がきます。だんだん「~について教えて」「いなくなったあとに~が起きたらどうすべきか、資料が欲しい」等具体的な質問になります。沢山ノウハウをまとめたドキュメントを作りました。それでも全然カバーできていないです。会社には当分の間私に相談できるルートを確保してもらいました。
4. 最後に
今回、Dr.Sum引継のことしか書けなかったのですが、MotionBoardを引き継いだ担当者もDr.Sumの引継に参加しました。MotionBoard担当はデータソースとしてDr.Sumを見ますし、ボードによっては壮大な前処理が必要になることがありますのでconnectも使えるようになってもらいました。
ずっと自分が担当でいたかった気持ちはすごくありますが、今思うとふたりのDr.Sum/MotionBoard技術者を育てることができ、私がいなくなったあと二人がどんどん成長しているようなので、良かったなと思います。いると頼ってしまうから、いなくならないとだめなんですよね~。今後もふたりをそっと見守っていこうと思ってます。
以上