研究・開発分野で学生たちに対するプロジェクト・マネジメントはどうあるべきなのか?
by Syed Tauseen Tariq Ali
優れたツールを作り出す上で重要なのは「多くの人で協力して1つの課題に取りかかること」だとコーネル大学でコンピューター・アーキテクチャとプログラミング抽象化について研究を行うRachit Nigam氏は語っています。大人数で1つの課題に取り組むことにより、ビジョンが広がり、より野心的なアイデアに向かうことが可能となります。一方で、チームのメンバーが常に一丸となるためには効率的なマネジメントが必要になりますが、このマネジメントタスクにストレスを感じる人も多いはず……ということで、Nigam氏は自らの経験から博士課程の学生たちをマネジメントする方法についてまとめています。
Project Management for PhD Students | Rachit Nigam
https://rachitnigam.com/post/project-management/
マネジメントに取り組む方法の1つとして、Nigam氏はまず「いくつかの具体的な質問をすること」を挙げています。この質問の例は以下の通り。
◆コミュニケーションの主な経路はどこか?
◆ミーティングはどのくらいの頻度で行い、ミーティング前にどのような準備をすればいいか?
◆コードの管理はどこで行うのか?メンバーはどのようなことを知っておくべきなのか?
◆ToDoアイテムをどのように管理するのか?
◆衝突は解決すべきなのか?
この問いに対する答えはプロジェクトの進捗にあわせて変わってくるはず。例えばプロジェクトが初期段階であればコードをどのように・どこで管理するのかは問題になりませんが、プロジェクトが成熟し、他のプロジェクトが関わってきたり、デプロイメントが関係してくると、扱いには慎重になるべきです。「自分の場合は」という前置きつきで、Nigam氏は以下のようなマネジメントのポイントを語っています。
◆コミュニケーションの主な経路はどこか?
by suju
この問いには「メール」あるいは「チャットアプリ」という答えが一般的です。ただし、いずれかを選択する時には両者のメリット・デメリットを理解しておく必要があります。
メールは会話のスレッドを見つけやすいという点が大きなメリットですが、複数のプロジェクトを抱える時に確認に手間がかかるという点がデメリット。一方でチャットアプリはチームでのコミュニケーションを容易かつ迅速に行えるようにしますが、スレッドを分けて会話を線引きすることが難しくなります。
ただし、コミュニケーションの主要な経路はチームメンバーの好みでおのずと決まっていくものなので、そこまで難しい決断ではありません。
覚えておきたいのが、例えメールやチャットで主要なコミュニケーションが交わされるとしても、人と面と向かって会話しようとするべきだということ。テキストベースの媒体で感情を正確に伝えるのは難しく、何気ないコメントを「攻撃的だ」と読み違えるという事態も起こりがちです。
◆ミーティング
ミーティングはチームの全員があらゆる情報を共有するための場であり、ある程度の準備が必要です。Nigam氏は毎週最低2回のミーティングを推奨しており、2回のうち1回はアドバイザーを含むメインのミーティング、もう1つは学生だけで行われるミーティングがよいとのこと。
・メインミーティング
メインミーティングで学生が準備すべきなのは以下の3つ。
(1)週ごとのアップデートを短くまとめたもの
(2)割り当てられたタスクで面している技術的な課題について
(3)割り当てられたタスクで生じた疑問やわかったことについて
そしてメインミーティングの最後には以下のものを残すことが推奨されています。
(1)その週で割り当てられる少なくとも1つのタスク。周囲の人間が読めるよう、紙などで内容を説明した状態で残すこと。
(2)疑問の答えを見つけるための分別
多くの学生はタスクの優先順位づけに苦労します。研究を行う学生は時間を有効活用するための計画を持たないことが多いので、「週ごとにタスクを割り当てる」ことで、重要なタスクに集中することが可能になるとのこと。
・学生ミーティング
フォーマルではない学生ミーティングは、タスクを完遂するまでに面する比較的小さな問題について議論を深める場となります。
◆コードベース
by StockSnap
ソフトウェアのコード開発を行っている場合、管理者がコードを評価してプロジェクトのバージョンをアップデートする前に、リポジトリにアップロードする必要があります。「チェックイン」と呼ばれるこのような行為により、チームの他のメンバーがコードを見たりコメントしたりが可能になるので便利です。注意すべきなのは、このような重要な情報を保存する場所は、最小限にするということ。
Nigam氏はgitとGithubを使っているため、上記の注意点に従い、コードはGithubベースにしているそうです。そして、Githubを使う上でNigam氏は、「プロジェクトリーダーがコードベースのあらゆる側面をよく理解していること」、そして「ブランチやプルリクエストという機能を使うこと」などが重要だと述べています。
◆ToDoリスト
by Alexas_Fotos
ToDoリストはタスク作りを簡単にし、議論の促進を行うのに加え、誰が何にとりかっているのかを分かりやすくしてくれます。Nigam氏のチームメンバーは自由にToDoリストを作れるようになっており、その際、タスクを以下の3つのカテゴリに分けているそうです。
・トラッカー
トラッカーは、論理的には1つの事柄から派生する小さな問題の集まりのこと。問題としては小さいのですが、存在するとプロジェクトの全貌を分かりづらくします。リーディングリストや優先順位の低いタスクに「トラッカー」のタグが着けられるとのこと。
・提案
トラッカーはToDoリストの核となる存在。システムの機能や実装のスケッチ、大きなバグなどを話し合うために「提案」タグが使われます。
・雑多なもの
「雑多なもの」というタグは疑問や小さなバグの報告に着けられるタグ。このタグは頻繁に使われ、多くの場合は即座に回答を得られます。
◆紛争解決
by skeeze
リサーチプロジェクトが野心的なものであり、学生がオーバーワークしがちであるほど、多くの人がストレスを感じるはず。もしチームメンバーが過度なプレッシャーを感じていたり、他の人の個人的な行動に嫌悪感を抱いていたら、直接当事者と話したり、チームの1人に仲介してもらったりという方法が考えられます。これは難しい仕事ですが、物事を放置して悪化させるよりは、チームの考えやストレスについてカジュアルな話し合いをした方が長期的に見てよい結果をもたらすとのこと。
◆結論
チームマネジメントにはさまざまなものが存在しますが、Nigam氏はよりカジュアルな方法を好んでいます。研究という分野で、チームメンバーはみんな新しいアイデアを考え出し、時には「いかれている」というアイデアを追求するもの。研究やプログラミングの「楽しさ」を奪わないマネジメント方法をNigam氏は推奨しています。
・関連記事
これがNASA流の仕事術、「プロジェクトマネージャーが守るべきルール100」が公開される - GIGAZINE
完璧なチームはどうやって生み出されるのか? - GIGAZINE
ビル・ゲイツが「20世紀最高のビジネスリーダー」と評する人物から得られる教訓とは? - GIGAZINE
成功したGoogleのチームに備わっている5つのカギとは? - GIGAZINE
ソフトウェア開発プロジェクトにはどうして遅延が生じてしまうのか - GIGAZINE
・関連コンテンツ