こんにちは。
ピクトリンク事業部開発部 開発2課 に所属しています松本です🐹
3月末に中途社員としてフリューに入社しました。
今回は、転職後にチームにJOINしてみての感想もろもろを記事にまとめてみました!
はじめに
前職ではウォーターフォール開発を採用していたので、下図のような流れで開発を行っていました。
仕様検討のフェーズを過ぎると小さな仕様変更も結構難しく、
ウォーターフォール開発のデメリットとしてよく挙げられる『開発時の柔軟性の低さ』にはもどかしさを感じることが多かったです。
では実際に、BtoCのアジャイル開発現場に参加することで
開発時のもどかしさや、モチベーションはどのように変化したのかを、初めて触れた技術・実装手法などと一緒に記録させてください!
初めてのBtoCアプリとアジャイル開発
私は現在、ピクトリンクのWeb・iOS/Android版ネイティブアプリの開発を担うチームに参画しています。
既存機能に対する新たな機能追加を実施する際は、ペルソナやユーザーストーリーを細かく設定し、それらが軸となり施策が考えられ、バックログに積まれたタスクを開発チームが捌き、形にしていきます。
『ペルソナちゃんを幸せにするために』という思いのもと、日々精査される届けたい価値を、アジャイル開発が叶えるスピード感でエンドユーザに届けられる過程を体感して、純粋に感動しました。
スクラム!スプリント!
チームにJOINする前に、まずはスクラムとは何かを「スクラムガイド*1」や「コアスクラム(日本語訳)*2」などを読んで勉強しました。
スクラムとは簡単にいうと、アジャイル開発における開発手法(フレームワーク)のようなもの…だと把握しています。
現在はこのようなDEV+SD/UDが在籍する混合チーム構成になっています。
これにより実装時、仕様やデザイン面で再検討したい事案が発生しても
PO、SD、UDがチーム内にいることで整合〜反映までが爆速で完了するのです。
体験したことのない開発リードタイム…!
スクラムでは決められた期間で実装とイベントを繰り返すのですが、スプリントとはその反復される期間の単位を指します。
スプリントは1ヶ月以内の決まった長さとされており、各イベントはタイムボックスで区切られています。現在チームでは1週間を1スプリントとしており、イベントスケジュールは以下のようになっています。
各イベントのタイムボックスはメンバー数によって変わったり、
決まった頻度や場所での参加を可能にするために様々なアプリケーションが使用されていたりします。
一連のイベントに参加してみて、「アジャイル開発ってパズルゲーみたいだ」と感じました。
DAY5はほぼイベントで埋まっているので、
定例イベントとタスク、MTG、その他たくさんの作業を約4日という短い期間で
ちゃかちゃかと消化していくメンバーの背中を見ながら「カッケー!!」と思うなどしています。
SD/UD/DEVメンバーのタスク状況管理にはMiroを使用していて
可視化されたボードは、チームによってデザインが異なるので眺めるだけでも面白いです。
フルリモートのメンバーもいる中で適宜いろいろなアプリケーションを使い分けており、カジュアルにコミュニケーションをとりやすい環境だと感じます!
ペアモブで作業を行ってみて
前職では、個人で担当する機能と納期がある程度確定された状態で、1人でプログラミングを行っていました。
ソロ作業しかしたことのなかった私がモブプロ・ペアプロを実際に行ってみて個人的に感じた良い点と難しい点を挙げてみたいと思います。
✏️良い点
- 考え込んで結局分からないという切ない時間が減る
- コミュニケーションをとりながら作業できる
オンボーディングなどの際に、知識が浅いメンバーの手が止まることが少ないという(ペアプロの代表的な)利点は、実際に経験してみて「こういうことか〜」と感じました。
ペア中は秒速で質問できる環境であることや、環境構築などをサポートしてもらえたことが、個人的にはとてもありがたかったです。
それと、作業中にコミュニケーションを取れることが不思議であり、私にとって新しい感覚でした。
✏️難しい点
- ドライバーで焦りがち、指示待ちがち、手を動かすことに徹しがち
- モブでタイピストじゃない時黙りがち
(もちろんメリットを感じる場面も多かったのですが)そもそも慣れていないこともあり「ペアプロ(モブプロ)難しい!」と感じることのほうが多いです。
ドライバーだと、ナビの方を待たせている感覚で焦ってしまうし、
話し合いながら手を動かしたとしても、頭の整理が追いつかないまま進んでしまうこともあり...。
理解しながら作業を行うことがおざなりになってしまう状態が習慣化しないように、と、最近は危機感を持ちつつ実装タスクに入っています。
まだまだ知識が浅いので、モブのように人数が増えた状況だと発言回数が減ってしまうことも自分の中で改善すべき点だと考えています。
ペアモブやアジャイル開発を行っていく上で
『1人でじっくり考える時間を経てプログラミング』だった作業ルーティンを
『どう組み立てて実装するかを考えながらプログラミング』にうまく切り替えることが自分の課題になりました。
(書籍など読みつつ適応していきたいです...!)
まとめ
ピクトリンクというサービスを開発する過程の中で、
(これは弊社の雰囲気やメンバーによるものかもしれないですが、)新しい施策に関するMTGやスプリントレビューではポジティブなリアクションやフィードバックがすごく多いです。
イベントに参加しながら「BtoCで、尚且つインハウスのモノ作りってこんなに楽しいんだ!」とよく思いますし、実際、開発のモチベーションも高く保てています。
ただ、ガッと集中してプログラミングを行っている時間は単純に減ったので
個人のスキル向上を目指すには、日々のタスクをこなしているだけでは全然足りないな、と感じます。
フリューは技術領域が広いエンジニアが多く、すごく刺激になります。
チームに入って見つかった個人的な課題のクリアやスキル向上を目指して鋭意努力していきたと思います!