はじめに
Web開発を学び始めて半年のひよっこ大学生が,未経験メンバーのみで構成されたチームのリーダーとして,あるプロジェクトを進めていくことになりました.
当然,初リーダーです.
「プロジェクト」とは言いましたが,納期や予算こそあるものの対価は発生しておらず,一般的なプロジェクトと比較して規模や責任感はかなり小さいと思います.
しかし,経験の浅い私には,それでも学びが多かったと感じています.
- 技術的不安要素は早めに着手する
- 不安要素は足し算ではない
- 手本となる実装をしておく
他のプロジェクトでは通用しないものもあると思いますが,上記3つについて簡単に説明していきます.
学んだこと
技術的不安要素は早めに着手する
プロジェクトを進めていくには工数の見積りが必要ですが,今回はメンバーの誰も触れたことがない技術があり,その技術が関わる部分については全くイメージできませんでした.
今回は,そのようなタスクに関しては早めに着手することで対応しました.
少しでも着手すれば工数のイメージの解像度が上がると思ったからです.
今回はこの施策が上手くはまり,技術的不安要素を含むタスクに関しても大幅な遅れをとることなく進めることができました.
あくまで目的は工数見積りをより正確にすることなので,優先度を上げて完了まで持っていく必要はないと思います.
実装前に環境構築をしておくのと同じイメージですね.
不安要素は足し算ではない
今回は自分の学習コストが最小になるような技術選定をしました.
理由としては,経験の少ない技術を使った場合,学習コストがかかるだけでなく,設計や見積もりの精度の低下や,環境構築やデバッグの速度の低下といった副作用が二次災害的に生じると考えられるためです.
また,今回は私のマネジメント経験がないだけでなく,メンバーが全員開発未経験であるため,私がある程度教えながらの開発になるであろうことが予想できました.
つまり,私の学習が進まない限り,メンバー全員の開発が進まないということであり,私の学習がほぼ全てのタスクに対するブロッキングタスクになっていたのです.
「慣れない技術を選定する」という1つの選択だけで,不安要素が爆発的に増える可能性もあるということですね.
不安要素は単純な足し算ではないようです.
あのとき慣れない技術を選定していたらと思うと恐ろしいです…
手本となる実装をしておく
これは未経験メンバーと開発する際にやってよかったと思ったことです.
コンポーネントやAPIの簡単な実装例を早い段階でしておくということです.
未経験の人でも,何かコードがあるだけで,それを真似しながら実装できたり,ググる手がかりにもなります.
また,変数名やコードの記法が自然と統一されるという利点もありました.
自分が実装するコスト以上のリターンがあったので,やってよかったなと思っています.
最後に
今回はなんちゃってプロジェクトのなんちゃってリーダーでしたが,この経験を活かして,実際の本格的なプロジェクトでも活躍していきたいです.
アドバイスなどあればコメントいただけると嬉しいです.