CodeZine(コードジン)

特集ページ一覧

開発現場の「なぜかうまくいかない」問題を乗り越える、コミュニケーションとアクションの小さな工夫とは?【デブサミ2021】

【19-E-8】小さな力で困難を突破するための「負債を避ける開発」とは?

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/03/26 12:00

 想定を超える開発時間や開発コストを抱え込んでしまうといった、開発現場の問題。技術力やパワープレイで解決できればいいものの、そうはいかないのが現実だ。実は、ちょっとしたコミュニケーションやアクションを改善するだけでも、開発現場の課題を乗り越えることができるという。grasysのCloud Developmentエンジニアである西野竣亮氏が、開発現場に起こりがちな「なぜかうまくいかない」問題と、それらに有効な工夫のポイントを自身の経験から語った。

目次
株式会社 grasys Cloud Development エンジニア 西野竣亮氏
株式会社 grasys Cloud Development エンジニア 西野竣亮氏

開発現場のコミュニケーションを改善する、ちょっとした工夫

 grasysの開発の流れは、プランとフィードバックを繰り返すいわゆるアジャイル開発だ。アジャイル開発においては、仕様書が薄い分だけ、開発フローを早く回せる一方、開発の幅が出て、携わるエンジニアによって品質に差が出ることもある。

 「こういった課題を感じている企業は多いのではないか」と西野氏は指摘したうえで、自身が最も苦労してきた「コミュニケーション」と「開発」についての課題をひも解いていった。

 まず、コミュニケーションの課題。ここで言うコミュニケーションとは「コミュ力」といったものではなく、開発にあたって発生する報告・連絡・相談を指す。

 西野氏は、3つのポイントでコミュニケーションにおける自身の失敗と改善を説明した。

課題と進捗の管理

 まず、マネジメント側が課題を管理する際のコミュニケーションで起こりがちなのが、催促を重ねてメンバーを焦らせてしまうことだ。

 西野氏自身、現場の管理を任されて進捗が悪いと感じたとき、メンバーに聞いたり「あとで報告してね」と課題管理表にコメントしたり、それでも返事がない場合に全体チャットで催促したりと、せっかちな行動をとりがちだったというのだ。

 「あとでメンバーに聞いてみたら、プレッシャーを感じて、ちょっとしんどかったといった声があったんです」

 そこでいくつかの教訓を得た西野氏。まずは、事前に、進捗・報告のタイミングと粒度を決めておくというもの。進捗がいいときは報告して、進捗が悪いときは報告しないという人がいるので、ばらつきが出ないように、タイミングを決めて報告できるようにしておくのが良いと考えたという。

 また、進捗を把握したいから報告してもらうのであって「良いか悪いかの判断はその次の話」ということも、きちんと伝えておくことが重要だと指摘する。

 もうひとつ重要なこととして「各人がプロジェクトの目的にどのくらい共感を持っているか理解しておくこと」も挙げた。プロジェクトの目的に共感できている人は、最初はつまずいても結果を出すことに信念を持っているはずだからだ。

責任の考え方

 2番目のポイントは、責任の所在。「僕も経験がありますが、何かをやらかしたとき、とりあえず嘘をつく、しれっとパッチを当てる、失敗した人を非難する……といった場合がありますよね」と西野氏。

自分の身を守ろうとして、周りに迷惑をかけてしまう

 人間は完ぺきではないので仕方ないこともあるが、自分の身を守るために行動してしまうと、周りに迷惑をかけてしまうこともあるだろう。ただ、そこで「失敗を個人の責任にしてしまうのは、プロジェクトのリスク管理不足」だと西野氏は指摘する。

 そこで重要になるのが、失敗があるという前提で、その場合の手順を決め、チーム内で合意をとっておくなどの「心理的安全性」を確保することだという。

リーダーシップ

 3番目のポイントは、リーダーシップの考え方だという。

リーダーシップを発揮しても、ちょっとシビアになったときに厳しくなる

 マネジメントやプロジェクトリーダーの立場にいる人が、「オレにまかせろとリーダーシップを発揮して、『この技術を使えばうまくいく』『この作業よろしく!』と意気揚々とした雰囲気を作ることは、最初のうちは良いのですが、ちょっと状況がシビアになったときに努力だけで何とか解決するというのは難しい」と西野氏。

 そこで大事なのが、プロジェクトを成功させるためのオーナーシップ持ったうえで、そのオーナーシップを部下に継承していく取り組みだ。

 リーダーシップを持つ人は、プロジェクトの背景などを知っていて、いかに意義があるかを理解し高い熱量でプロジェクトに向き合える。一方、背景などを知らない他のメンバーは「なんか仕事が下りてきた」という感覚になってしまうことが少ないないという。

 「メンバーにも情報を共有して、自分の仕事がプロジェクトにどのような影響を与えるのかを理解する機会を設けることが必要。そうすることで、どの機能をどこまでやりこむのかといった『力の入れ加減』もつかめるようになるので重要です」


関連リンク

  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

バックナンバー

連載:【デブサミ2021】セッションレポート

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5