$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

AirPods ProとKrispでリモートミーティングの音声を快適に

最近家族と同室でリモートワークをしている。自分と家族は別々で仕事をしているので、家族が電話中の時に自分はミーティングをしていることがよくある。その時、家族の声によってミーティングの声が聞き取りにくくなったり、家族の声がミーティングに入ってしまうと、快適なミーティングができなくなってしまう。

この問題に対処するため色々試したところ、AirPods ProとKrispを使うと非常に快適になるということが分かったので紹介。

家族の声でミーティングの声が聞き取りにくくなることを防ぐ

これは単純でAirPods Proのノイズキャンセリング機能がかなり優秀なので、それをONにするだけで終了。

ただノイズキャンセリング機能を使うと自分の声が聞き取りづらくなるという問題もあるので、静かな時は外部音取り込みモードにしている。AirPods Proはイヤホンを長押しすれば、外部音取り込みモードとノイズキャンセルモードを瞬時に切り替えられるので便利。

家族の声がミーティングに入ってしまうことを防ぐ

次に家族の声がミーティングに入ってしまうことを防ぎたい。

まずAirPods Proは、PC付属のマイクと違ってそこまで周りの音を集音しないので、それだけでもだいぶ家族の声が入るのを防いでくれる。その上で大きめな声だと少しだけ入ってしまうので、Krispを導入して、よりノイズキャンセルするようにした。

jp.vcube.com

AirPods Pro + Krispを使うことで、部屋の中で自分と家族が会話していたとしても、自分の声しかミーティングには入らない状況にできて満足している。

こちらも、そもそも静かな時は全部の音を伝えた方が臨場感も出るかなと思い、静かな時はノイズキャンセリングをオフにしている。Krispは1クリックでオンオフを切り替えられるので良い。

f:id:shiba_yu36:20210413100237p:plain:h300

参考: 他の人の音声のノイズを消す

これはKrispを導入するまで知らなかったのだけど、Krispは他の人の音声のノイズを消すこともできる。これも非常に便利で、例えば一時的に外出している人と通話をしていて会話が聞こえづらい場合に、こちら側でノイズキャンセリングを有効にすることで会話が捗った。

まとめ

今回はAirPods Pro + Krispでリモートミーティングの音声を快適にする体験について書いてみた。参考になれば嬉しいです。

プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行する

プロジェクトマネジメントにおいて、見積もりをどのように行うかは結構難しい。僕は理想日見積もりの形式も、相対見積もり(ストーリーポイント)の形式も試したことがあるが、どちらも一長一短であった。

最近色々試す中で、プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行するという方式がやりやすいと感じた。今回はその様子を紹介してみる。

理想日見積もりと相対見積もりそれぞれのメリット・デメリット

見積もりの基礎知識と「ストーリーポイント vs 理想日」の考察の記事を読むと、理想日見積もりと相対見積もり(ストーリーポイント)それぞれのメリット・デメリットがさっと把握しやすい。自分としては、それぞれ以下のように思っている。

  • 理想日見積もり : 他の割り込みが全くなく、1日中タスクに取り組んだ場合を1理想日とする見積もり方式
    • メリット: 他に基準となるタスクがなくてもとりあえず雑に出せる。相対見積もりの概念を把握しなくても出せる。
    • デメリット: 人によってバラバラになる可能性がある。プロジェクトが進みメンバーのスキルが高くなるなどで、基準がぶれがち。
  • 相対見積もり : 基準となるタスクを決め、相対的に見積もりをする方式
    • メリット: 人や能力の変化によって見積もりのばらつきが生まれにくい。
    • デメリット: みんなが理解できる基準を見つけにくい。

このようなメリット・デメリットから、理想的には相対見積もりの方が良いはずだが、プロジェクトの初めから相対見積もりにするとなかなか難しいと感じていた。

それぞれのデメリットを緩和するための作戦

メリット・デメリットを考えてみると、実は相対見積もりのデメリットはプロジェクト初期の全員が理解できる基準を見つけていない時だけだと分かる。そこでプロジェクト初期の基準が分かりにくい時には理想日見積もりを使い、プロジェクトが少し進んで基準が分かりやすくなった時に相対見積もりへ切り替えるという作戦にする。

プロジェクト初期は理想日見積もりする

プロジェクト初期は直近でやるべきタスクをプロジェクト所属の人全員で理想日見積もりする。1タスクごとに

  • 見積もりできるように、どうなったらタスクが完了かを明確にする。分からないことがあればみんなでどんどん質問しながら完了条件を詰めていく
  • ラニングポーカーを使って全員で見積もりを出す
  • 見積もりが大きくずれたら、ずれた理由について会話し、再度見積もりを出す

という流れになるだろう。

プロジェクトが進むにつれて徐々に相対見積もりに変える

その後しばらく経っていくつかのタスクが終わったら相対見積もりに変えていく。基準を決められれば良いので、基準となるタスクをいくつかピックアップしていく。この時、全員が見積もりしやすくなるように、ピックアップするタスクはアサインがバラバラになっていると良いだろう。例えば次の画像のように、ポイントごとにタスクとアサインを並べて一覧にする。

f:id:shiba_yu36:20210405092041p:plain

このように基準さえできてしまえば、その後の相対見積もりは簡単だ。1タスクごとに

  • 見積もりできるように、どうなったらタスクが完了かを明確にする。分からないことがあればみんなでどんどん質問しながら完了条件を詰めていく
  • 基準をまとめたドキュメントを眺めながら、プラニングポーカーを使って全員で見積もりを出す
  • 見積もりが大きくずれたら、基準を元に会話し、再見積もりする

まとめ

今回は、プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行するという方式を試した内容を紹介した。プロジェクトの形によって適切な見積もり方法は変わるが、今回の方法も参考になれば嬉しい。

参考資料

見積もりの基礎知識と「ストーリーポイント vs 理想日」の考察 - yigarashiのブログ

タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM理論を学んだ

自分のプロジェクトマネジメントのスキルをもう一つ伸ばしたくて、タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPMクリティカルチェーンプロジェクトマネジメント)理論を学んだ。この理論を学んだおかげで、よりプロジェクトの計画作りや、プロジェクトの現在の危険度の把握をやりやすくなったと感じる。アジャイルの手法であるベロシティでの管理ともうまく組み合わせられそうだったので、今度試してみたい。

参考にした書籍

「進む!助け合える!WAのプロジェクトマネジメント」「アジャイルCCPM」の二つはかなり参考になった。

CCPM理論のやり方に対する自分のまとめ

CCPM理論の五つの特徴

  • 1) マルチタスクを排除する
    • WIPの数が極力少なくなるように、人員を集中させ、短期でタスク完了できるようにコントロールする
  • 2) クリティカルチェーンによるマネジメント
    • クリティカルパスはタスクの順序関係のみが依存関係に反映されているのに対し、クリティカルチェーンはリソースの並列可能度も考慮に入れている
    • 計画フェーズでリソースを考える時は、タスクに対して人でなくスキル(能力・知識・技術・資格など)を割り当てる。実際に人を割り当てるのは実行段階で行う
    • クリティカルチェーンになっている作業が可能になったら、それ以外の全てを無視してでもクリティカルチェーンのタスクを行うと全員理解することが重要
  • 3) バッファを集約して管理する
    • CCPMでは、各タスクにバッファが組み込まれている状況を無くし、合流バッファとプロジェクトバッファに集約するマネジメント手法
    • 合流バッファやプロジェクトバッファは、そのチェーンの長さの50%で組み込む
    • 不確実性の程度はプロジェクトによるので、バッファのサイズに対してどうしても不安が残るなら調整する。ただしあまり大きくすると夏休み症候群のような現象がぶり返すので注意
  • 4) バッファの消費状況でプロジェクトを監視する
    • プロジェクト全体の進捗状況や危険度はクリティカルチェーンの完了率とプロジェクトバッファの消費率で判断する
    • バッファの消費状況を指標とし、手を打つべきタスクをチームで共有する
  • 5) タスクに必要な万全の準備が整うまで、スタートさせない

CCPMアジャイルの手法を組み合わせる

  • 計画フェーズの工程表作成の手順
    • 1) 実装に必要なスキルの違いなどでフィーチャーをグループに分ける。グループ分けは最小限にとどめておくことを推奨
    • 2) 各グループをマザータスクに変換する。マザータスクの期間はベロシティをベースに求める
    • 3) マザータスクを元にCCPM工程表を作る。
      • 見積もり期間 = ストーリーポイント / ベロシティ
      • 元になるマザータスクの期間の2/3をタスク期間に、1/3をバッファサイズにする。通常のCCPMよりも見積もりは悲観的ではないのでバッファサイズは少なめに
  • 実行フェーズではタスクを始める前に、ある程度の規模にタスクをバラす処理をする
  • メンバー数が変更になった時は、それに合わせて見積もり期間を調整する

ベロシティ管理と組み合わせるには?

基本的には以下のように組み合わせることができる。

  • ストーリーポイントでタスクの見積もりを出す
  • タスクをある程度のグループにまとめ、マザータスクを作る。グループは最小限にする
    • 実装に必要なスキルの違いが大きく異なる場合
    • 他の大量のタスクから依存されているような、クリティカルなタスクな場合
  • マザータスクの依存関係や、リソースの状況を考慮して、クリティカルチェーンを作る
  • マザータスクにまとめたタスクのストーリーポイントを合計し、ストーリーポイントとベロシティから、期間を計算し、バッファをいれる
  • あとは全体のバーンアップチャートだけでなく、クリティカルチェーンとなっているようなパスのバッファが消耗されすぎていないか監視する

まとめ

今回はCCPMについて学んだことをメモしておいた。アジャイルな手法とも組み合わせ可能だと感じたので一度試してみたい。

CCPM理論に興味があれば参考にした書籍を読んでみてもらえると良さそう。特に「進む!助け合える!WAのプロジェクトマネジメント」「アジャイルCCPM」は良かったです。