この記事では、自分の実体験を交えてチーム開発で大事なことについて解説します。
開発会社に所属していると、さまざまな形でチームでの開発業務に携わることがあります。
プロジェクトの成功率は3割と言われているIT業界。
案件が炎上する場合はコミュニケーション不足による要因が非常に大きいです。
意識しておくことで少し俯瞰的にプロジェクトを見ることができるようになりますよ。
- 開発職7年目(現在上場企業のプロジェクトリーダー)
- 営業職5年経験(最終的に営業拠点責任者)
- 開発でも営業でも派遣・受託開発・パッケージ製品導入など
様々な案件の経験あり - ちなみに写真は嫁さん
記事書いてる人はもっとぽっちゃりしてる
チーム開発で大事なこと2つ
私が思うチーム開発で大事と考えているのはこの2つです。
「コミュニケーション」
「仕組みづくり」
それでは解説していきます。
「コミュニケーション」が大事な理由
過去の実体験からコミュニケーションが大切だと考えるようになりました。
実体験:とある理由でプロジェクトリーダが交代
営業時代の話です。
ある日、その日の営業活動が終了して岐路につこうとしたところ、携帯に電話が。
担当している顧客からでした。
電話の内容はうちの会社のプロジェクトリーダへの苦情でした。
全くこちらの要望を聞いてくれず、取り合ってもくれないと。
どんな要望を出しても「できません」「やりません」しか言わないと。
確かに、淡々と仕事するタイプの方だったので、先方からしたら印象が悪かったのかもしれませんが。。。
駅のホームで1時間ほど、延々と文句を言われたのはしんどかった。。。
後日、社内でPMOを交えて面談したところ、そのプロジェクトリーダはこう言いました。
いやー、今回は相性悪かったね~
いや
(´・ω・`)ソレダケカイ
そんな捨て台詞めいたコメントを残して、そのプロジェクトリーダは窓口に立たなくなり、開発の打ち合わせも私主導でやるようになりましたとさ。
原因はプロジェクトリーダから顧客へのコミュニケーション不足
この話のようになってしまった原因は、プロジェクトリーダから顧客へのコミュニケーション不足です。
必要なコミュニケーションが取れていないため、いらない誤解を生んでしまい、顧客との関係が悪化してしまいました。
これまでの経験則ですが、炎上する案件はチームメンバー間や顧客ー開発会社間のコミュニケーションが不足しているケースが圧倒的に多いです。
「会議を増やせ」という意味ではありません。
必要十分なコミュニケーションをとることが大事、という意味です。
案件の規模が大きくなるほど、コミュニケーションの重要性は上がります。
もちろん、メンバー個々のスキルが全然足りていないなら問題外、ということはあり得ます。
が、まともな会社ならメンバーのアサインはしっかり考慮されますので、そもそもメンバー全員のスキルが足らない、といったケースに直面したケースはこれまでありませんでした。
このアサインの考慮がされていないと感じる会社はブラックといって差し支えないので、転職を考えた方が良いです。
余談ですが、当時営業だった私がプロジェクトリーダ業務を兼任するよう会社から指示を受けたときは、
流石にブラックやろー
って思いましたw
「仕組みづくり」が大事な理由
実体験:納品物が○○
これも営業時代の体験談です。
とある50人月程度の規模の案件に、営業担当としてアサインしていました。
開発メンバーの一部はパートナー社員の方も含まれており、開発フェーズでは10人くらいの体制になってましたね。
中規模程度の開発会社としてはそこそこの規模の受託案件でした。
短納期の案件で、納品前はカツカツでした。
営業の私もテスターとして休日出勤して動作確認の手伝いをしていたくらいなので、はっきり覚えていませんが、開発メンバーの稼働は高かったはずです。
そんなこんなで何とか納期に間に合わせて納品できました。
「納品」はできました。
納品直後にお客さんから電話が。
しかも結構おこ。
嫌な予感しかしません。
ログインできないんだけど、どうなってるの(# ゚Д゚)?
開発したサービスはログイン機能があるものだったんですが、確認すると確かにログインできません。
ソースコードを確認すると、クライアントで動作していたphpソースからは【ログインID】を送信するはずの箇所で、誤って【パスワード】しているという、テストすれば確実に判明するレベルのバグが原因でした。
すぐお客さんのところにお伺いして、謝罪してテストをやり直し、納期を延長してもらいましたとさ。
ほんと、納品物がゴミでした笑
ちなみに、問題の部分の実装はパートナー社員の方の実装箇所でした。
原因は仕組化と運用徹底が不十分だったこと
この出来事で問題だった点は複数あります。
- PMOが十分に機能しなかった
- テスト不足
- パートナー社員とのコミュニケーション不足
いずれにしろ、仕組化とその運用徹底が不十分だったと思っています。
納期前の過渡期は余裕がなくなるとプロジェクトリーダーをはじめ、プロジェクトのメンバーが正常な判断ができなくなる場合があります。
そういった場合にプロジェクトを冷静に評価するPMOが機能できなかったことが問題でしたね。
また、パートナー社員とのコミュニケーションが十分に取れていなかった部分についても、
日次や週次で状況をヒアリングする仕組みが不足していました。
仕組みなんかなくてもできるでしょって思うかもしれませんが、
余裕がなくなることがあるので仕組化した方がよいです。
改善策
現在参画しているプロジェクトでやりにくさを感じている場合は、意識して状況の改善に取り組みましょう。
簡単ではないですが、働く環境はよりよくしたいですよね。
自分から声を上げる
自分の仕事する環境を改善するためにも、ホウレンソウを意識して、少し過剰なくらいにコミュニケーションをとるようにしましょう。
無駄な雑談をたくさんしろ、というわけではありませんが、
チームメンバー間の状況を把握しておく意味でも、コミュニケーションをとることは有用です。
会社内で普及しているプロジェクト運営の仕組みについても、改善の余地が見つかったら声を上げた方が良いです。
これは私の経験則ですが、中小の開発会社において、プロジェクト運営の仕組みを見直すために会社のリソースが割かれることは基本的にありません。
成果が出るまでには時間がかかりますが、声を上げ続けましょう。
転職する
とはいえ、あなたは大きな組織の中の1メンバーでしかないので、いくら声を上げたところで話を聞き入れてもらえないことは往々にしてあります。
諦めずに声を上げ続けることも大事ですが、残念ながらエネルギーを消費するだけで救われないことが多いです。
そんな場合は、よりよい環境を求めて転職を検討しましょう。
すぐに転職を考えない場合も、自分の市場価値を知るためにも転職サイトには登録しておいた方が良いですよ。
まとめ
以上、チーム開発で大事なことを解説しました。
ここで紹介した「コミュニケーション」「仕組みづくり」以外にもプロジェクトメンバーの技術レベルや、設計や上流工程の進め方など様々な要因があります。
技術力や上流工程の進め方も大事ですが、よほどずば抜けた能力がなければ、日本でのシステム開発ではコミュニケーション能力や「仕組みづくり」の方が重要です。
大規模案件ほどこの傾向が顕著になることを頭の片隅に置いておくと、プロジェクト内で立ち回りしやすくなりますよ。