ソフトウェア開発でゲームチェンジャーを置く訳
ゲームチェンジャーという言葉には、いろいろな解釈があると思いますが、ここではソフトウェア開発において、状況に変化を与えて好転させるメンバーのこととしています。
なぜ必要なのか?
ソフトウェアの開発中には、好ましくない状況が続き進展があまりないことがあります。例えば「特定の不具合の解決方法がわからない」、「実装の遅れが続いている」といった状況です。この時のゲームチェンジャーの役割は、不具合の解決に導く事、遅れを巻き返す事です。
特定の不具合の解決方法がわからない状況に対しては、高い技術力でゲームチェンジャー自身が解決するのも手ですし、解決するための調査方法やアイデアを提供し、リーダーシップを取る方法もあると考えます。求めているのは現状からの進展です。
ではどういう能力が必要か考えてみます。
必要な能力
1.スケジューリング能力
ゴールからの逆算ができ、各マイルストーンでどういう状態にならなくてはいけないか具体的にイメージすることができる。
2.課題解決力
現状から変化を与えるために目先の課題や今ある手段に固執する事なく、広く解決策を創出する力がある
3.適切なメンバーアサイン
組織内外の関わるメンバーの能力を理解し、課題解決のために適切なメンバーを広く選定し、アサインする事ができる。
システム
単一のプロジェクトを管理するチームならチーム内のメンバーがゲームチェンジャーとなり、進捗を常に把握し、課題抽出と解決を行います。プロジェクト内のソフトウェア部門のリーダーやテックリードが相応しいポジションだと思います。
複数のプロジェクトを管理する組織の場合は、複数のチームが組織内ありますので、ゲームチェンジャーはチーム外のプロジェクトマネージャーやエンジニアリングマネージャーの下につく形が良いかと思います。各チームの進捗を把握し、課題抽出と解決を行います。
課題の抽出には、常に進捗を理解する必要がありますので、チームリーダーと共に進捗ミーティングなどで把握します。それに合わせて独自に技術面のマイルストーンを置き、各ゴールを設定することで、より細かく進捗を管理する事が可能になります。
メンバーを良く理解するためには、1on1の実施も良いかと思います。アサインも必要と考えるとエンジニアリングマネージャーに近い事をする必要があるかもしれません。
さいごに
終盤に課題やタスクが山積になるようなプロジェクトが続くようでしたら、ゲームチェンジャーを置いてみては如何でしょうか。