開発にワクワク
今週のタイムライン
エネルギーを奪った出来事(悲しくなった・不幸になったなど)
- 人との会話が少なかった(月曜日)
- 集中力がなかった(月曜日)
- 楽天モバイルのSIMとXiaomi mi9の相性が悪かった(水曜日)
エネルギーを与えた出来事(幸せになった・安心した)
戸惑った出来事や疑問に思った出来事
- スクラムにおいてチームメンバーが増えそう(火曜日)
話したいこと
1.スクラムにおいてチームメンバーが増えそうなこと 2.久々にAPI実装の担当になった
開発を早くするためにスクラムでチームメンバーが増える
私はもう少しで3年目のエンジニアなのですが、スクラム(完全なものではない)で開発を進めていて、最低限のドキュメントしかない状況で、日々チームで認識を合わせながら開発しています。
開発力を強化するという目的で、1〜2人メンバーが増えることになりそうです。現在のチームは4人+4人の8人体制です。現在の開発力を維持しつつ、数カ月先に開発力を上げるためにどうしたら良いだろう。体制としては様々なパターンがあります。
- 5人+5人: それぞれのチームに一人ずつ追加するパターン
- 3人+3人+4人: それぞれのチームから一人ずつ出して、3チーム目を作るパターン
- 4人+4人+2人パターン: チームはそのまま維持し、3チーム目を作るパターン
事前の話し合いでパターン2が一番良いのではないかと思いながらチームでの議論に向かいました。
一番人気がなかったのがパターン4でした。理由は日々の認識合わせによって培ってきた品質の認識やコードの書き方などを新しいチームに伝えづらく、技術的負債が増えてしまい、逆に開発スピードが落ちる可能性があったためです。
次にパターン1とパターン2を比較し始めました。
パターン1
- pros : 現在のチームを維持できる。計画する際の合計時間が増える。
- cons : チーム内での意思決定が遅くなりそう。
パターン2
- pros : チーム数が増える。小回りがききそう。
- cons : チーム全体での意思決定が遅くなりそう。
結果としてはパターン2が選ばれました。理由は チーム内での意思決定が遅くなりそう です。私達のチームではプルリクエストを承認する方法としてチーム内全員のOKが必要です。5人チームになった場合、承認をもらう人数が増えれば遅くなりますし、承認する人数を減らした場合には最初に誰がレビューをするのかで責任が変わってきそうな気がします。一方で3人チームとなった場合は承認の人数が減ることで承認スピードが上がることが期待できつつ、全員がレビューをするためチームの責任であることが維持しやすいのかなぁと思います。まずは決まって良かったです。次は誰が新たなチームに行くかの議論がありそうですね。
API実装に悩む
画像のアップロード機能の送信側の設計をしており、既存のコードを修正するのではなく、新たにパッケージを切って書いていくことになりました。画像はS3に保存し、画像の情報はデータベースに保存するような形です。3層アーキテクチャーに習って以下のように切っています。
root |- application | |- HogeService |- domain | |- Hoge |- infrastructure |- controller | |- HogeController |- repository |- HogeRepository
最近テストの大切さを知り、プロダクションコードを書く前にテストを書きたいのですが進め方がわからない… ちょっと相談したところ、まずはインタフェースだけ決めちゃえばかけるかもいうことで以下の事を実施
- それぞれのクラスにインタフェースを切る
- それぞれのクラスに必要そうなフィールドを追加
これでなんとなく書けそう。かもというところまで行けました!早くテストを書いて、実装を進めたいところです!
最後に
スキーへ向かうバスの中でこの記事を書いています。一年以上ぶりのスキーなので楽しみすぎるぞ!