ポエム
チーム開発
上司への愛情
チームビルディング
ポエム駆動開発

エイチームライフスタイルアドベントカレンダー2017、18日目は株式会社エイチームライフスタイルのエンジニア @maiton が担当します。

前職で多用していた仕事の進め方が非効率的だという気付きがあったためアンチパターンとしてまとめます。

以前の会社では受託開発系のプロジェクトに携わっており、そこでは当たり前の仕事の進め方も環境が変われば当たり前ではないことに気付きました。
振返ってみるとこれは非効率的だということがいくつもあったため、その中でも特に良くなかった仕事の進め方とそれの改善方法をまとめました。

この記事を参考に仕事がうまく回るようになる方が1人でも増えれば幸いです。

依頼者編

アレコレソレが多い

:frowning2: < NG
コレうまく動かないからアレを参考に修正しといて!

何がどう動いていることを上手く動かないといっているのかわかりません。
更に何を参考にすれば良いのかも担当者には伝わっていないでしょう。
最悪のケースでは担当者の解釈により、依頼者の想定とは違うものが出来上がります。

コミュニケーションを次のように変える事で確認の回数が減りコミュニケーションコストを減らすことができます。
また、認識の齟齬がなくなり出来上がるものの品質もあがります。

:relaxed: < OK
Aシステムの在庫登録処理でバグが発生していて、在庫数が9999までしか登録できなくなっています。
Bシステムの在庫登録処理を参考に修正してください。

よしなにやってよ

:frowning2: < NG
これよしなにやっといて!

私のよしなとあなたのよしなは多分違います。
どうよしなにするのか具体的に話しましょう。

コミュニケーションを次のように変える事で事業で発生するバグを防ぎます。
「プログラムは動くけど思っていたのと違うものが出てくる」というシチュエーションを回避できます。

:relaxed: < OK
営業のシステムを変更したいので営業と合意の上でシステムを変更してください。

いつもナルハヤ

:frowning2: < NG
これナルハヤでお願いね。昨日頼んだやつもナルハヤだから

時間は有限です。
担当者のスケジュールを把握した上でいつまでに出来るのかスケジューリングをしてください。

一番ストレスを受ける状況はスケジュールが逼迫することです。
コミュニケーションを次のように変える事で納期によるストレスを軽減することができます。

:relaxed: < OK
○○に××機能追加を行う場合、いつまでにできますか?
昨日お願いした機能追加とスケジュールを調整させてください。

担当者編

言われて無いことをやりすぎる

:frowning2: < NG
(´-`).。oO(ついでにあの機能使いにくいし修正してびっくりさせようかなー感謝されるぞむふふ)

いらぬおせっかいになり、必要ない工数を裂いてしまう可能性があります。
ちゃんと同意を取ってから着手しましょう。

次のようにきちんとコミュニケーションをとることで発生するバグを防ぎます。
「プログラムは動くけど思っていたのと違うものが出てくる」というシチュエーションを回避できます。

:relaxed: < OK
○○機能に××を追加すると使い勝手が良くなると思うので追加しますがよろしいでしょうか。

理解した気になる

:frowning2: < NG
:man_tone1: < 以上です。わかりましたか?何か質問はありますか?
:money_mouth: < はい!わかりました!ばっちりです!大丈夫です!

何が分かったのか確認してください。
お互いに伝えた気になっている可能性があります。
依頼者が伝えたことを反復して確認しましょう。

次のようにコミュニケーションを変える事で依頼者が思っていたものと違うものができあがるというシチュエーションを回避できます。

:relaxed: < OK
:man_tone1: < 以上です。わかりましたか?何か質問はありますか?
:thinking: < ○○は××ということでよろしいでしょうか

大丈夫です!間に合います!

:frowning2: < NG
:man_tone1: < 少し進捗良くないけど間に合いますか?
:money_mouth: < 大丈夫です!徹夜するので間に合います!

多分間に合いませんし体を壊します。
頑張ればできる状態になってしまった段階で報告しどのように進めるのか話し合うべきです。
できるなら周りが進捗が悪いことに気付く前に自ら声をあげましょう。

納期が迫ると過剰なストレスがかかります。
自分の身を守りみんなで元気に働くためにも次のようなコミュニケーションに変えましょう。

:relaxed: < OK
:man_tone1: < 少し進捗良くないけど間に合いますか?
:thinking: < このままだと毎日○時間程度の時間外勤務を行わなくてはスケジュールに間に合いません。よって、人を増やすか開発内容を変更したいです。

修正時にコメントだけを読む

:frowning2: < NG
このコメントによるとこのメソッドを修正すればいいんだな!

時にコメントはあなたを裏切ります。
コメントは参考情報として捉え、処理を読み動作を確認した上で修正を行いましょう。

処理を読むことでシステムに対する理解が深まり、頼りにされるエンジニアへ一歩近づくことでしょう。

:relaxed: < OK
このコメントによるとおそらくこのメソッドは○○が返ってくる。
影響範囲を調査して動作を確認しよう。

テストしたような気になる

:frowning2: < NG
正常系ばっちりテストしました!リリースします!

異常系もテストしてください。
正常系が動かない場合も損失を生みますが、異常系が動かない場合も損失を生みます。

緊急対応漬けの毎日から開放されるためにもテストはしっかりとおこないましょう。

:relaxed: < OK
テストパターン網羅しました!リリースします!

共通編

「えいや」と「 決めの問題」を多用

:frowning2: < NG
これは決めの問題だ。えいや!

システム開発において決めの問題が発生することもあります。
しかし、決めの問題やえいやはそこまで多くないはずです。
冷静に考えた上で決断してください。

何でこんなことになっているんだ・・・というシチュエーションに出会うことがよくあります。
自分の作ったシステムを将来メンテナンスする人達のためにも本当に決めの問題なのか一度立ち止まって考えましょう。

:relaxed: < OK
○○と××を天秤にかけた場合どちらでも問題無いが処理速度を優先して○○を選択しよう

仲が悪い

:frowning2: < NG
:weary:.。oO(あいつ嫌いだから話したくないんだけどな)質問したいんですけど
:tired_face:.。oO(うわ、なんかきた)何ですか?

お互いの心の声はきっと聞こえています。
嫌いな人もいるかもしれませんがお互いに大人の対応をしましょう。
無理にでも笑顔を作ると良くなります。(きっと)

:relaxed: < OK
:smiley: < 質問があるのですがお時間よろしいでしょうか。
:smile_cat: < なんでしょうか?

最後に

仕事を行ううえで大事なのは配慮と思考の共有です。
今の会社では、お互いを認め合いチームとしてコミュニケーションを活発にとっているため、ここまでに挙げた仕事の進め方が良くなかったことに気付けました。
配慮と思考の共有のどちらかがかけてもチームが上手く機能しないため、ここに挙げたコミュニケーションをとっている方は振返りを行ってみてはいかがでしょうか。

株式会社エイチームライフスタイルでは、一緒に働けるチャレンジ精神旺盛な仲間を募集しています。興味を持たれた方はぜひエイチームグループ採用サイトを御覧ください。
http://www.a-tm.co.jp/recruit/

エイチームライフスタイルアドベントカレンダー2017、明日はイケメンデザイナーな @manooo さんがデザイン関連のツールについて書いてくれるらしいので、お楽しみに。