OSCAの技術ブログ

WEBエンジニアの技術ブログです。 日々の制作活動・業務の中で調査したことなどを記事にします。

ペアでの本番環境作業において気をつけていること

 システムを本番環境などにリリースする際に、リリースの作業者として二人アサインしてペアで行うことがあります。 そんなペア作業において、メンタルの面で気をつけたい方が良いと思っている点があります。 ここではそれを頑張って言語化してみます。

ここで書きたい事

 ここで書きたいことは、作業を担当するペアのお互いが作業中にストレスを感じないようにする心がけです。 その「作業」とは、本番環境へのリリースや設定などのミスが許されないような作業です。 リリース作業を担当したペアは、作業中において信頼関係が保たれなくてはなりません。 そんなこと当たり前だと思うかもしれませんが、作業中に信頼関係が崩れたり、一人が置き去りになって作業が完了していることをよく見かけます。

ストレス

 ペアで行うリリース作業中に発生するストレスとはどんなことでしょうか? ここで扱うストレスは次のようなものです。

  • ペアの相手が予定していなかったコマンドを突然打った
  • ペアの相手が見ていないところで勝手な作業をした
  • ペアの相手が設定値を予定とは違う値に変更した
  • ペアの相手が急に見ず知らずのソフトウェアを使った

 これらの行動がストレスになることは、誰でも容易に想像できることでしょう。 もしこのような事を意図してやっているのであれば、やられた相手はストレスを通り越して怒りになるでしょう。 しかしほとんどの場合は意図して行われるのではなく、無意識のうちに行われています。

前提

 本稿で話したい主題ではないですが、まずは必要な前提を書きます。

 二人は「リリースを予定通りに終わらせる」という同じ目的を達成しようとしているので、事前に作業内容を把握し、意識を合わせておく必要があります。 意識合わせの方法は、担当者の知識レベルや技術スキルに寄ると思います。 手順書を読み合わせたり、利用するコマンドを共有したりします。 とにかく作業開始前までに意思疎通をしていないのは、ここでは論外です。

リリース作業中に気をつけること

 さて、ここからが本稿の本題です。 繰り返しになりますが、ここで述べたいことは、作業者同士がストレスを与え合わないために気をつけたいことです。

キーボードショートカットの利用に気をつける

 ペアで作業をしている際に、ペアの相手が何をしたのかわからなくなる代表操作のひとつに、キーボードショートカットがあります。 特に僕が気をつけているのは、ペアの相手の視界から目的のものを見失うようなショートカットです。

 例えば Linux でコマンドを打っている際に Ctrl+A のショートカットを打つと、コマンドの先頭(左端)にカーソルを移動できます。 とても便利なのですが、ペアの相手があっという間にカーソルを見失ってしまいます。 そんな時は「コマンドの先頭が間違ってるから…」とか「カーソルを先頭に戻してから…」などの言葉を発してあげることで相手の視線を誘導して、置いてきぼりになることを防げます。

カスタマイズされたOSの利用は避ける

 操作の仕方がOS標準状態からカスタマイズされたコンピュータを使うことがストレスになる場合があります。 操作者は便利だと思っていても、ペアの相手はとてもストレスを感じているかもしれません。 なぜなら「この操作の結果、こうなるであろう」という前提が覆されるからです。さらに言えば、その前提が崩れたことで自身の操作に自信が持てなくなり、またそのコンピュータも信用できなくなってしまいます。 そして、その信用できないコンピュータを操作しているペアの行動も理解できません。

 とても簡単な例だと、ダブルクリックでアイコンのソフトウェアを実行したりフォルダを開く操作を、シングルクリックでできるようにカスタマイズしている場合などがあります。 これだけでもストレスになります。 きっとアイコンをクリックするのが怖くなってしまうことでしょうし、更にはペア相手に対して「間違って二重に実行してしまわないかなぁ」と不安を感じてしまうかもしれません。

入力補助系ツールの利用は最小限にする

 また、入力を補助するツールを使う場合も注意が必要です。 たとえばクリップボードソフトウェアやランチャーソフトウェアなどがあります。 見ず知らずのソフトウェアは信頼できる状態にないですし、リリース作業の最中に知らないソフトウェアの学習が必要になってしまうのはストレスです。 そして、上で述べてきたものと同様、何の作業を行っているのか理解できずに置いてきぼりになる可能性あります。

 またテキストエディタを使うにしても、他のテキストエディタにある機能の利用に留めた方がよいでしょう。 たとえば、急にテキストエディタのマクロ機能を使い出したりすると、ペアの相手とのギャップが生まれてしまうかも知れません。

 また、マウスジェスチャーも同様です。 マウスジェスチャーは、コンピュータに対して命令をしたことが見た目で分からない場合があります。 また、そこのコンピュータにどのようなマウスジェスチャが登録されているのかが分からない場合、マウスを触るのが怖くなってしまいます。

使い慣れていないハードウェアの使用を押し付けない

 マウスやキーボードなどの入力インターフェースも注意が必要です。 普段使い慣れていない形のハードウェアを急に使えと言われれば、誰でも戸惑うのは言うまでもないでしょう。 例えば、トラックボールと一体になったマウスや、ショートカットボタンがあるマウス、湾曲したキーボードなどが挙げられます。

勝手に確認を始めない

 ここまではツールに関する注意点を述べましたが、ツール以外にも注意する心がけがあります。 たとえば、何かシステムをサーバにデプロイしたり、デーモンを立ち上げた時にログを確認したかったり、ステータスを確認したい場合があります。 その手順が手順書に含まれていればいいですが、うっかり手順書に抜けていたり、突発的に確認したくなることもあります。 その時は、必ずペアの相手に声をかけましょう。 「サービス立ち上げたつもりだけど、一見何も変化がないね。 ちょっとログをみてみようか。」「おかしいな、思っていた動きと違うなぁ、ログを見てもらえる?」と。 特に想定外の事態になった時に、急にペアの相手が手順書にもない想定外のコマンドを打ち始めた場合「ちょっとまて! 何をしようとしてるんだ!」となります。 急に予期せぬディレクトリに cd したりするだけで相手を不安にさせてしまいます。 何か予期せぬ事があった時に焦る気持ちはわかりますが、ペアで作業をしているのにも関わらず、相手を置き去りにするのはいけません。

勝手に設定を変えない

 上記と同様ではありますが、ログの出力レベルを変更して挙動を観察したい事などがありますが、これも焦ってペア相手を置き去りにしてはありません。 また「ログレベルを変更する」という声がけだけでは不十分で、ログレベルを変更した上でどんな値や挙動を確認したいのか、目的を共有することを忘れないでください。 ログレベルを変えることは調査の手段であって、目的ではありません。

まとめ

 ペアで作業する際に気をつけたいことについて述べてきました。 ペアのリリースは、ペアプログラミングとは違うという事を肝に銘じたいと思っています。

 ペアプログラミングは、そのペアにとって学習の側面が大きいので、ある程度、お互いが知らない事を表に出しても良いでしょう。 知らないことを教えあう事で、お互いの成長につながります。 そういうことを目的としているので、作業時間も余裕を持っているでしょうし、作業が失敗してもある程度許される環境で行われることでしょう。

 しかし上で述べて来たように、本番環境作業は違います。 作業時間も限られているでしょうし、お互いに失敗はしたくありません。 ペアでやるからと言って、ペアプログラミングと同じ意識でやるものではありませんので、そこは注意するように心がけるようにしています。

OSCA

初級WEBプログラマー。 Java, PHP を利用したアプリケーションを開発しています。 写真も好きで一眼レフを持って散歩するのが好き。

リンク