はじめに
私はWebエンジニアとして10年目になります。
前職の会社がSIerで、約8年ほどWebシステムの開発ENとして従事していました。
ウォータフォールで開発が主流で、規模にもよりますが1案件3名くらいがアサインしていました。
こちらの人員の内訳としては窓口兼PM的なベテランENが1名、実装をするEN(自分)が1名〜2名、両者を取り持つENが1名、みたいな開発体型でした。
現在は転職を経て、スクラムで開発している現場で業務をして2年ちょいくらいになります。
今回はリードエンジニアとしてENメンバー(実装をするEN)の取りまとめでどのような立ち回り、工夫をしたのかをまとめます。
後述はあくまで上記の経歴で、 それぞれの開発手法を体験してどのように感じたかという、主観混みのただの感想である旨をご了承ください。
リードエンジニアとして
工夫、したところ
- スケジュールをタイトにしすぎない
- とはいえ、マージンたくさん設けない
- やって欲しいタスクのゴールを決めて、あとは自由に実装してもらう
- 実装はお任せすることで、不自由にさせない。
※設計からしっかりやらないといけないものを除く
- 実装はお任せすることで、不自由にさせない。
- 仕様等の解像度が低い場合は、ENメンバー全員で話す
- 結構重要。共通認識をチームメンバーと一緒に築く😇
- 実装に時間がかかりそうなところがないか、都度壁打ちをする
- 労力とアウトカムの釣り合いが取れていないのであれば、POやデザイナに相談して簡単な実装になるように仕様を変更する。
- これも重要😇
- もちろん、顧客体験を損なわないか?も吟味した上
- 労力とアウトカムの釣り合いが取れていないのであれば、POやデザイナに相談して簡単な実装になるように仕様を変更する。
- 相談しやすい人として接する。問題がないか気にかけてあげる
- 相談しにくいと、実はこんな実装してしまいました〜とかあると、後々軌道修正が大変
- 細かいタスクは自分が吸収して、ENの実装に集中できるようにする
- 集中できるタイムブロックが長ければ長いほど、生産性が上がる
大変だったこと
- 自分がまとめて開発する時間があまり取れないため、実装する時のいわゆるゾーンに入るのが時間がかかる。
- 結構これが大変。
- ENのフォローを優先するため、この刺さり込みによって、自分のタスクの消化が進まない。
- 進まないこと前提ではあるが、タスクの取りこぼしがないように、カレンダーやタスクに起こしておく必要あり。
- 技術的なことや、データの構造に関するベースに関する取り決めの最終決定をしないといけないため、自信を持たないと、不安に襲われそうになり、ストレスが溜まってしまう
おわりに
工夫していた点はリードエンジニアとしてというよりかはエンジニアとか関係なく、メンバーを取りまとめるための長として、メンバーが心地よく作業に集中するため、誰でもできることをしているだけなので、これらを腐ることなくコツコツと実行できるかが重要だと思いました。