見出し画像

プロジェクトをうまく進めるための「中間領域」

今回は、MHTが過去に行った案件での出来事についてお話しします。
過去の案件で実際にあった事象をADSの仕組みを使ってどう解消してきたのかをご紹介したいと思います。

案件概要

案件概要:独自の動画コンテンツの配信サービス
目的  :コア機能の検証および機能開発
開発手法:スクラム開発(2週間/1スプリント)
言語  :Flutter
メンバー:3名(マスターx1 メンバーx2)

Flutterでの開発案件として、自社よりFlutter開発の経験があるアプリエンジニアが3名で参画しました。
ただ、その内2名はまだFlutter開発・業務経験共に浅く、動画機能を実装するのも初めてだったので「ついていけるだろうか?」と不安を抱えていました。
そこで案件に入るまでに、まず社内で他のFlutter開発の経験者を交えて開発ナレッジの共有や教育を行い、少しずつメンバーの不安を解消させて案件に臨みました。

この案件ではエンドのお客様を含め、4社ほどが関係しており、弊社はその中でコア機能である動画機能の技術的な検証と開発を担当することにな、動画開発のライブラリ選定など行い開発を進めました。

想定外の出来事

ところが、3スプリントほど経った頃に当初の要求仕様へ追加される形で新たな仕様が加わることになりました。
これだけであればまぁよくある事ですが、変更後の要求仕様を満たすにはこれまで使っていたライブラリでは不足であることがわかり、ライブラリを変える必要が出てしまいました。

単に仕様が追加されただけではなく、ライブラリを変えた上での修正でこの3sprintで作ってきた機能の、3分の1程度の修正を行う必要が生じてしまいました。

つまり、実に1sprint分を手戻りすることになりました(概要に記載したとおり、1sprint=2weekなので2週間分の手戻りです)。

なぜこのようなことが起きてしまったのか?

仕様を決めていたデザインチームと開発チームでの情報連携が十分ではなく、持っている情報の差異が発生していた

一つの原因としては仕様決めまで行っているデザインチームと開発チームとの連携が不十分なことでした。
うまく連携ができていないままそれぞれが最高の仕事をしようとした結果、必要以上の要求が乗ってしまい今に至るという訳です。


取り戻すために

当然ながら時間は戻りませんし、失ったものは取り返すことはできません。
特に開発での遅れは1時間、2時間であればまだ個人の頑張りでなんとかなりますが、2週間分の遅れは個人の力ではどうしようもありません。

とはいえリリースに向けて何もしないという訳にもいきません。半ば仕方なく、緊急対応として社内のエンジニアに協力して貰いライブラリの載せ替えを行うことにしました。幸い、これまで作っていたものを使うことが出来たので0→1にはなりませんでした。

さて、私たちマンハッタンコードが提供しているADSでは、「問題 vs 個人」にならない様に「問題 vs チーム」で対応する様にしています。
主にこの仕組みはもう少し小規模な問題(例えば、エンジニアが社内のデザイナーにデザインを相談する、エンジニア同士で実装に詰まった時の解消など)に用いられますが、今回のようなケースでも応用することができました。

やったこと
・難易度が高いチケットをテックリードエンジニアが、小さなチケットをメンバーが処理するように役割分担
・社内のFlutter開発経験を持つエンジニアが集まって詰まっている部分を一気に解消

社内エンジニアと連携したことで2週間分という比較的大きな手戻りでしたが、素早く対応することができました。

この一件後今回のことを教訓にプロジェクトチーム内での中間領域を育てることにしました。
中間領域はドキュメントや議事録などの情報を相互に蓄積できる領域(=中間領域)です。この中間領域にあるものをベースにコミュニケーションを行うことで、この一件以降は認識のズレや連携不足を低減させることが出来ました。

振り返ってみて

今回の件を経て、改めて「中間領域」の重要性に気づかされた一件でした。
様々な関係者が絡む場合、ドキュメントや議事録など情報を蓄積できる領域(=中間領域)を設け、そこを育てていくということが今回のような連携不足やよくある認識齟齬を防ぐことにつながります。

そして、反面教師的にではありますが仕様に関して変更や追加があった場合、どこに影響があるのかをいち早く関係者に共有することが本当に大事です。
ADSの仕組みの1つでもある「中間領域」を育て、ナレッジ・ノウハウ・ドキュメントを各関係者が立ち戻れる場所にしておくことが大切です。


お仕事のご相談・ご依頼

マンハッタンコードはスマートフォンアプリの開発に特化しております。
エンジニアリングからデザイン・プロジェクト推進などアプリ開発を総合的に請け負うことが可能です。お問い合わせはこちらから。


いいなと思ったら応援しよう!