だらだらと思いついたこととか書くブログ

エンジニア的なネタとか備忘録とかを書いていく予定

2022年の振り返りと開発プロジェクトの進め方について

気づけば2022年も年末。

犬の散歩をしたり大掃除をしながらふと今年を振り返りながら、プロジェクトの進め方や管理、特に"アジャイル"について少しだけ考えたり感じたりしたので、それのメモも兼ねて書きます。

前提

自社サービスのバックエンドサービスの開発・運用に携さわっている。

年齢は30代後半で、エンジニアとしては十数年働いており、現在の会社は2社目で4年超の在籍になる。

  • 周りの元同期や年次が同じくらいのエンジニア界隈の方も、組織を率いていたりグループやチームなどをリードしていく立場にある人が多い
  • 一方で自分の所属している会社では「スーパーフラット」という組織構成になっており、開発部隊ではCTOが居てその下は全員、上下関係といったヒエラルキーの無いフラットな組織である

チームは領域やサービスによって分かれておりチームごとに文化の違いはあるものの、基本的には開発方式はアジャイルで「スクラム」を基本としたものが採用されている。

  • スクラムマスターの有無もチームごとに異なっている
  • 現在所属しているチームはメンバーが6人いるが「専任のスクラムマスター」が存在しておらず、スプリントごとにローテーションしていくスタイルを採っている

最近感じていることや取り組んでいること

(これは以前からの課題であるが)"フラット"であるがゆえの自由さや物事の進めやすさがある。

  • 一方でそこのいわゆる勘所が"経験"や"個々人の指向"などに依存している部分が多く、特に経験の浅い、いわゆるジュニアメンバーはここがつかめず苦労している印象がある
  • さらにコロナでリモートワークがメインになり今後も続いていくことが決まっているので、この流れはさらに加速していくと考えられる

今までは「スプリント内の定期進捗MTG(週1程度)」や「振り返り」などでここをカバーしていたつもりだったが、なかなか報告・相談のタイミングがうまくつかめなかったりという状況が発生していた。

  • 対策として最近は「デイリーハドル」を開催するようにしてみていて、一定の効果が出ているように感じている
  • ただ、一方でデメリットとして全体の進捗が見えづらくなっているという面もあり、これは進め方の工夫が必要だと考えている

ジュニアメンバーで、自分でも課題を抱えている自覚はあるがどうして良いのか分からない状態に陥っているように見えるメンバーが居り、1on1で本人の課題感やアドバイス的なことなどをお話させてもらった。

  • それを皮切りにせっかくなのでと考えて、メンバー全員と1on1をしてみた
  • リモート中心になってから一緒に仕事をするようになったメンバーも多くいることなどから、メンバーの意外な面や抱えている課題、考えなどが聴けて個人的にはとても良い機会だったと感じている

その中で出てきたコメントの1つとして、担当プロダクトのカバー範囲が広くなってきており、途中からの参画などにより"すべて"の把握が難しいメンバーが居るということも分かった。

  • これは自分も"そうなのかな"と感じていた部分でもあったので、あらためてここを確認できて認識の答え合わせが出来た

今までは「なるべくすべてカバーしよう」という雰囲気になっていたが、一方で「プロジェクト単位でメインで担当する範囲を区切る」という試みも行っている。

  • 特に経験の浅いメンバーにはこの試みで"自信"と大まかでも"プロジェクトの進め方"について学んでもらえると良いなと感じている

また、あるメンバーとの会話の中で「アジャイルもっとちゃんとやっていきたい」という話が出ていた。

ここはチームとして「課題」を抱えていると同時に、「改善の余地がある」部分でもあるので、ここについて掘り下げてみたい

チームとアジャイルについて

チームでのアジャイルと課題について

  • 先述の通り"スクラム"をベースとした開発手法を採用しており、"専任のスクラムマスター"が居らずローテーションで回している
  • プロダクトオーナー(以下PO)が存在しており、POと開発チームで「リファインメント」によって"次スプリントでやること"が決められていく
  • JIRAを利用しているがバックログの管理があまりちゃんとできておらず、自分や気づいた開発メンバーがメンテしていることが多い
  • リファインメント前のタスク整理は、当番のスクラムマスターが担当している
    • ただし事前の大まかな整理は自分が暗黙的にやっている
    • 上記のバックログの整理も含めて自分の"シャドウワーク"となってしまっていてあまり良い状況とはいえない
  • スプリント内にタスクが消化しきれず"持ち越し"が多い(=タスクの進捗が安定していない)
    • さらに持ち越しが常態化しているメンバーも居る

なぜ問題が発生しているのか

  • チーム全体(POも含めて)の「アジャイル」に対しての共通認識が持てていない可能性がある
  • POの責務が広すぎて"バックログの管理やメンテ"といったことに対応できていない
  • 特にジュニアメンバーに見られがちだが「自分のタスク」にフォーカスしすぎて、その結果何が起こるのか、そもそもなぜこの仕事をしているのかが見えていないのかなと感じることがある
    • 結果としてタスクを持ち越してもいいや、となってしまっているように感じている
  • これは個人的に感じたことだが、TeamGeekなど触れられているHRT(謙虚・尊敬・信頼)がチーム内で欠けてしまっているように見られた
    • 自分としては"信頼"が薄らいでしまっているメンバーが居るように感じている
    • もしかしたらメンバー間の"尊敬"も人によってまちまちだったりするのかもしれない

信頼について

"信頼"についてはこれもあくまで個人的な考えだが、いわゆる"社会人としての基本的なこと"がもっと大事にされてもよいのではと感じる場面がある。

結果そこが"信頼"の欠如につながってしまっている一因となってしまっているのではないかと考えている。

  • 例えば、時間や約束を守る、敬語を正しく使う、他人に関心を持つ、貢献してくれた人にお礼を言う etc.
  • この辺りを学ぶ機会に恵まれなかったという面もあるような気がしている
    • 少なくとも"自分が感じている違和感"が、少なからずそのメンバーに対するマイナスイメージに繋がってしまっているという影響も多少あるような気がしており、この状況は良くない

我々は課題にどう立ち向かっていくのか

  • スクラムに関するワークに関しては、あらためて「専任のスクラムマスター」を置くことも検討しつつ、少なくとも"シャドウワーク"はなくしていきたい
  • 1on1のときにも話題に出たが、チーム感で「アジャイル」や「スクラム」の対する共通認識を持つ機会を作る
    • 以前に実施したことがあったがその頃と今とではメンバーもだいぶ変わっており、時間も経過しているのでいまの状況やメンバーに合わせたカスタマイズが必要と思われる
  • "社会人としての基本的なこと"について相互理解や、どこがお互いの着地点かを探る機会を持つ
    • 自分の価値観が古い部分や正しくない部分なども大いにあるはずなので、お互いの相互理解を深めつつ、お互いにとって働きやすい関係性を構築したい

最後に

そんなことをふと考えた2022年末でした。

来年も色々と忙しく充実した一年になりそう予感なので、引き続き頑張っていきたいと思っています。

来年もよろしくお願いします!

p.s

こっそり会社主催のLTがありプレゼンをする機会がありました。もしよければご一読いただけますと嬉しいです。

https://www.docswell.com/s/sora083/5RPG1Z-2022-08-26-093111