始めに
WEB開発の仕事にかれこれ16年関わってきました。
ここ10年弱は手を動かして開発する側ではなく、マネジメントする側の役割がほとんどとなりました。
開発組織の構築、採用、チーム規模拡大ようなことを経験してきたので
これまでエンジニア組織で大事にしてきたことをポエムします。
仲間意識を大事にする
特にエンジニアという職種に多いと思うのですが、あるあるネタが共通してることが多いと思います。
「徹夜でコーディングした」とか「急な仕様変更でブチギレた」とか「リリースの日に外部サービスに障害発生」とか。。。
中途社員やフリーランスの人など複数社経験してきた人ならすぐに仲間意識が生まれるので、
その結束力を開発業務にも生かせるよう大事にしています。
(困ったら誰かがすぐ助けるみたいな)
自己組織化を促す
スプリントを完成させるのはチームとしての責任。
メンバーが自己管理して開発進めるけど、全ての業務はチーム全体の
アプトプットになることを意識してもらうようにしています。
システムに障害やバグが発生してもチーム全員の責任。
そのために自分は指示型ではなく支援型でサポートするよう意識し、
開発するのに障害があれば取り除けるようルール作りしたり、
つまらない作業は自分がやるようにして、開発に集中してもらうよう環境作りをしてきました。
道路を作って、交通整理するみたいな。
ここに居たらスキルアップできそう✖︎プライベートも楽しい
選り好みしなければ、エンジニアの転職先はいくらでもあるご時世ですが、
現状採用している技術よりも、近い将来新しい技術を採用する計画イメージを示すことで、
ここにいると継続的にスキルアップできると思ってもらえるようにしています。
また、(自分がやりたいからですが)スプラトゥーン大会を開催したり、飲み会したり
ランチはみんなで一緒にいって雑談するなども大事にしています。
何を作るのかではなく、何でつくるのかを伝える
自己組織化して開発進めるためには、何をどのように作るかではなく、
何で作るのかを伝えられるようにしています。
何で作るかを理解していれば、壮大な要件定義書は不要だし
手掛ける開発に責任感が生まれるので業務知識が増える。
どんどん開発効率がよくなると信じています。
(ただし小さく作るためにアジャイルである前提)