情シスの一丁目一番地、キッティング。コストをかけない改善でも大きな効果があった!
これはポエムです。
背景
情シス未経験から情シスになった元開発者です。改善を振り返ってみます。
前提として、弊社は資産管理ツールなどが入っていません。
また非IT職が多く働く会社であり、PCを受け取った社員がそのまま業務開始できる状態まで設定したPCを渡しています。
もともとのキッティングの負債
課題が多くありました。
-
作業ボリュームの多さ&所要時間の長さ
PCのキッティングは、不慣れなメンバーなら1台に2日くらいかかる、丸1日で終われば速いと褒められる、そんな量でした。
ゼロタッチデプロイなんて、お城でやっている舞踏会くらい縁がありませんでした。どこかお金のある会社でやっていることでしょう? -
.bat+手作業で実施
手順書を見ながら.batを動かし、合間に手作業も必要という内容でした。
batを動かすと再起動がかかり、ログインする。手作業で設定を追加する。また別のbatを動かすと再起動がかかり…
という作業の繰り返しです。
それでもbat化された処理がある分、フル手動よりは楽だったのだと思います。 -
手順書が分かりにくい
手順書が存在する業務と存在しない業務がありました。
存在する部分も、既に分かっている人向けでした。具体的な操作方法は書かれておらず、実施すべきことが書かれている状態です。たとえば「◯◯の設定を無効にする」というような。
知っている人なら「設定を開いてここをクリックして…」とわかりますが、知らない人はいちいち調べるか質問する必要があります。
手順がない部分も、作業者に当然求められる知識だから書かれなかったのかもしれません。
そういう手順が1つや2つなら、初回に調べるなりした内容を次回も覚えていられるでしょう。
しかし2日かかるボリュームですから全量は覚えきれません。何度も質問するか、自分で調べるか、手順の他に自分用メモを作っておく、という対処になります。
何かの作業をする時に2箇所の手順を見ながらPC操作する、これはストレスです。
-
手作業が多いのでミスや思い違いも多い
人間は絶対に間違えますし、誤読しますし、誤解釈をします。長すぎる手順書をうっかり読み飛ばすこともあるでしょう。
誰かが2日かけて設定したPCがノーミスである確率はどれくらいでしょうか?ベテランであっても1つくらいミスをしていてもおかしくありません。
しかし、2日かけて設定したものを全量チェックするのは現実的ではないからか、自分がjoinしたときにはキッティング後のチェックはされていませんでした。
ミスが見つかるのはトラブルが顕在化したときです。 -
Administrator権限のWindowsユーザーを渡している
情シスが手間暇かけて設定をしても、利用者がその設定を自由に変更できる状態でした。
Administrator権限でユーザーを作ってそのまま渡していたので、それはそうなります。
設定変更できないようにすることは無理でも、社員へ「ここは必要な設定なので変えないでほしい」とアナウンスすることはできます。しかしそのようなアナウンスは一切なく、Administrator権限のPCをぽんと渡すだけ。
人によっては、元の面影がないくらいカスタマイズされていることもありました。
よかれで手間をかけてキッティング作業しても、社員の手に渡ったあとどうなるかは知る由もない。ゴールを見失っています。
こういう状態でも、情シスが一人だけならそれほど不便はないのかもしれません。やっているうちに慣れてきて不便さを感じなくなります。
しかし社員は増え、キッティング以外の仕事も増え、情シスを増やすときがいずれ来ます。
この状態ではメンバーを増やすたびに慣れてもらう時間がかかりますし、情シスが急に休んでもピンチヒッターを頼めません。
我慢する以外の解決が必要でした。
やったこと
-
作業ボリュームの多さ&所要時間の長さ に対して
PCが必要になるとき、急ぐ場面も多々あります。
社員のPCが急に使えなくなった。すぐ代替機を渡さないと仕事が止まってしまう…
そんな状況の中で、大量の分かりにくい手順を急ぎながらやるのはどう考えてもつらい。自分のためにも相手のためにも、必要になったときすぐ渡せるようにしたいと思いました。
しかし社員ごとの設定(メールアドレス等)もあり、あらかじめ完成PCを用意しておくことはできません。それでキッティングが2日かかるボリュームだったわけです。
まずやったのは内容の切り分けと実施タイミング変更です。
全員に共通して入れる設定、個人のアカウントに依存しない設定は先にやっておく。割当社員が決まったら、残る社員固有の設定を入れて渡す。
それが実現できるよう、キッティング手順を仕分けしました。
結果、だいたい事前設定4:社員固有の設定6くらいの割合になりました。
これだけでPC割り当てまでの時間が4割減です。 -
.bat+手作業で実施 に対して
実はこの状況は今でも同じです。
しかし以下の改善をしたことで、大きな負債ではなくなりました。
bat
batでやることを増やして手作業をだいぶ減らしました。体感、9割減くらいです。
以前は実施内容ごとにファイルが分かれて10以上あったbatも、統廃合して半分ほどに減らしました。まとめて実行できるコマンドはすべてまとめてあります。
「batを実行する操作」は簡単ですが、その簡単な操作すら減らせるなら減らしたいからです。bat実行して再起動を待ってログインする、そのわずかな手間だってない方がいいのです。
手作業
手順の中で手作業になっているのは、主にアプリケーションのインストールと設定変更です。それらに対しても個別に対処しました。
アプリケーションインストールはscoopを使っていましたが、非対応のアプリケーションは手で入れている状態でした。
更に、scoopで入れたアプリケーションがその後アップデートできないというトラブルに見舞われ、scoopを使うことに限界を感じていました。
ここはまるっとwingetで置き換えました。wingetならWindowsストアアプリも操作できますし、Windowsに標準インストールされている点も便利です。
wingetはインストールだけでなく、不要アプリのアンインストールにも活躍しました。
弊社のPCはいくつかのメーカー・機種が混在しています。メーカーごとに異なるプリインストールソフトが入っており、不要なものは消したい。
それを手作業でやっているときは大変でしたが、winget導入後は「全メーカー分の不要ソフトを消すbatを流すだけ」になりました。これは嬉しかったです。
(インストールされていないソフトを消すコマンドを流しても、見つからなかった表示が出るだけです。よって、どこのメーカーのPCでも関係なく同じbatを流しています)
手動でしていたもろもろの設定は、Microsoft Learn を参考にbatへ移植しまくりました。
調べてみると、Windowsの設定アプリを開いて手動でひとつずつ変更していたものの大部分がbatでできたのです。今までの苦労は何だったんだろう… -
手順書が分かりにくい に対して
これは徹底的に直しました。
と一言でいうと簡単ですが、「一度書いたら放置の、自分だけがわかる手順」をやめ「継続してメンテナンスする、初見で分かる手順」を目指すことにしました。
手順書をメンテナンスし続けると聞くと大変そうに思えますが、やると決めれば大したことではありません。意味不明な手順書を放置して自分が困ったり、何度も同じ質問をされるよりは断然楽です。
記述内容
人は気づかないうちにその会社や業界独特の用語を使っているものです。
そのようなものを可能な限り排除しました。人に読んでもらい、分かりにくいところを直しました。これは今でも継続しています。
目的のみが書かれた「◯◯の設定を変える」という記述は、その手段を明記するようにしました。
手順を詳細に書くことは、設定対象に仕様変更があったときに手順と一致しなくなることを意味します。
目的のみが書かれた手順であったのも、継続したメンテナンスを諦めていたからだと思います。
しかし継続メンテナンスを前提に、具体的に書くこととしました。自分一人が頑張る情シスをやめ、誰かに依頼でき、新しい人の受け入れが容易なチームしたかったからです。
よく起きる勘違いも書いておき、自力解決できるようにしました。これには外注の方を何人か受け入れして溜まった知見が活かせました。
また手順の最後にチェックポイントを設け、想定通りの結果になっているか確認するようにしました。
何を確認すべきか明確にしておくことで、初心者でも自分の作業の正しさを確認できます。
分割単位
長すぎる手順を分割して用途ごとにまとめ直しました。
いままでは一つの手順内に「PC購入後から社員に割り当てるとき、その過程で必要になるアカウント類の作り方の手順すべて」が書かれていたのを「購入後」「初期設定」「社員割り当て時」「サービスAのアカウント作成」「サービスBのアカウント作成」などに分割していきました。
PCを購入してそのまま社員に割り当てるときは、上記手順のパーツを順番に実施する、
既存社員のPC交換のときは「社員割り当て時」だけ実施する、
というような使い方をできるようにしました。
これには2つ目的がありました。
まず、長すぎるというだけでミスが発生するからです。
手順はウェブ上にあってブラウザで見るのですが、どこまでも続くスクロールで全容が見づらくなっています。スクロールを間違えて手順の一部を飛ばしてしまう人もいました。
もう一つは、どんな質の外注の人にも依頼しやすくするためです。
手順と状況が一致していれば、「この手順通りにやってください」と依頼できますが、
手順と状況が少し異なるとき「手順の特定の部分だけを抜き出して、前後を適宜読み替えて実施する」ということが苦手な人がいます。
これも外注の方を何人か受け入れして分かったことでした。
推測する力とか、文章読解の能力とか、応用力だとか。相手によってレベルに差があるものに期待しないほうが楽なのです。 -
手作業が多いのでミスや思い違いも多い に対して
1と2のおかげで飛躍的にミスが減りました。
間違いやすい長い手順がなくなり、batで処理の大部分が済むようになれば、「batにエラーが出ていないか」を気にするだけで済みます。
3の手順書改善でチェックポイントを明記するようにしたので、もしミスがあっても作業者本人が気づいて直せます。
ミスの指摘は、するほうもされる方も楽しくありません。お互い気持ちの面でも楽になります。 -
Administrator権限のユーザーを渡している に対して
これは今でもこのままです。
アプリケーションインストールなどの都合で、Windowsローカルユーザーの権限を下げることは難しいと判断しました。
ただし、上記2で設定をbat化するとき、使ってほしくない機能は無効化するようにしておきました。
もちろん利用する社員にレジストリ等の知識があれば設定を変えられますが、UI上で気軽に変えられる状態ではなくなりました。
必要に応じてアナウンスも併用し、いずれもっと厳しい制限が必要なフェーズになるまではこれでやっていきます。
キッティング方法を変えて得たもの
- 手順通りUIをポチポチ押すだけの思考停止作業時間が減りました。
- 手順書に書かれていないことを推測したり調べたりして補う時間が減りました。
- PC割り当てが決まってから最大2日待たせていたところ、2~3時間で済むようになりました。
- PC知識の少ない人・日本語を読むのが苦手な人・不注意な人であっても均質なキッティングができるようになりました。
これらは資金潤沢ではない会社にとってものすごいメリットだと感じます。
キッティングもヘルプデスクもお願いしたいが、両方が得意な人に来てもらうことが難しい場合。
キッティングが「ほぼbatを流すだけ・手作業部分も手順書通りにやるだけ」になっていれば、ヘルプデスクが得意な人に来てもらうことができ、両方の業務がうまく回ります。
以前の状態だと「長い手順書を読んでその通り実行できる注意力、書かれていないことを補える知識または質問能力、さらにヘルプデスクの能力」も求めることになってしまいます。
実際に弊社でも人材探しが難航していました。
最後に
自分は情シスの初心者です。この程度で満足している場合ではありません。
でも、自分で考えて行動して結果が出たことはとても嬉しかったのでポエムを書きました。
Discussion