2019年のふりかえり
昨年はオンプレミスの運用保守からWeb/モバイルアプリ開発へと異世界転生しました。
前職では挫折したスクラム開発の流れの中に身を置き、10月はReact・Amplify、11月はFlutter・Firebaseなどを学習。12月から本格的なモバイルアプリの開発に着手しました。社内向けの管理ツールだけど実際の顧客案件を想定して、どこの現場でもお手本となるような進め方を意識しました。
- POとデザイナーは東京、開発メンバーは沖縄。
- 週始めに計画会議、週半ばにバックログリファインメント。毎日レビュー。
- 内製のリモート会議ツールを常に起動し、65インチのディスプレイに他拠点の様子を映してお互いの空気感を共有。
- プロダクトバックログはTrelloで管理。リモート会議をしながらTrelloをその場で更新し、POと開発メンバーで合意を形成。
- スプリントバックログ以降のタスクは拠点内でアナログのカンバン(ホワイトボードに付箋紙)で管理。
- なにかあればSlackで気軽に質問。曖昧なままで放置しない。
- ユーザーストーリーに着手する前に、技術的に不明瞭な部分はスパイクを打つ。1〜2時間程度の技術調査をしてから実装の可否判断や見積もりをする。
- 開発言語/環境はFlutter・Firebase。同一ソースコードでiOS・Androidアプリを作成できる。
- 65インチのモニタ2面を並べて、開発メンバー3名でモブプログラミング。Mobsterを使ってドライバーは10分毎に交替。
- デザインツールはfigmaを使用。デザイナーが作成・更新したものをリモートで確認しアプリのUIに反映。
- ソースコードはGitHubで管理し、pushやtagをトリガにしてBitriseにてビルド自動化。さらにビルド結果をSlackで通知する。
等々。。。
前職のやり方だと
- Wordで仕様書を作成
- PowerPointで説明用の資料を作成
- Excelでテスト仕様書を作成。
- 手動でテストを実施し、結果をExcelに記入。スクショ貼り付け。
- 質問があればExcelの質問管理票に記入してやりとり。
- ドキュメント類はメールで顧客・関係者に送付
- 添付ファイルはパスワード付きzip。パスワードは別メールで送信。
- ソースコードはtar.gzで固めてDVDに焼き、本番環境に持ち込んで解凍。
といった感じなので、ものすごい文化の違いに圧倒された3ヶ月でした。
いちばん強く感じた点は、とにかくコミュニケーションを重視すること。ユーザーにとって価値の高いものは何か、POと開発メンバーで話し合う。開発作業中も会話をしながらモブプロ。
また、決まってないことはやらない。必要最低限のことだけやる、という点を強く意識していた。結果的に最短距離でリリースまで到達できたと思う。
基本的にはタスクを付箋紙に書き出して、ドキュメントは作らずにどんどんコーディングしていた。ただ、複雑な処理になるとさすがにきついので、ホワイトボードに図を書いたりしながら開発メンバーの認識を合わせていった。
ホワイトボードに書いたものは必要なら写真に残すが、ソースコードを見れば設計意図が分かるような実装になっているので、正直なところ後で見返すことはなかった。最近の言語は本当にすごい。シンプルな記述がしやすい言語仕様になっているので、よほどのことがない限りスパゲティ化することは無さそう。
とはいえ、覚えることがありすぎて自分の中でまだ消化吸収しきれてない。この年になっても新しいことを学び成長する機会があるのは非常にありがたいこと。
このアプリは12月末にリリースしたので、ここからが本番。実際にエンドユーザーに使ってもらい、価値を高めていく段階にようやく入ったところ。作って終わりではなく、使い続けてもらえるアプリにしていきたいです。
2020年の抱負
今年は新しい世界での経験を積むインプットの時期と位置付けているので、スクラム開発の仕事もやりつつ、いろんな場に参加してどんどん吸収したい。
直近でいうと、
- RSGT2020のボランティアスタッフ(1/7~10)
- AgileJapanサテライト沖縄の開催(1/18)
- スクラムマスター研修(2/6~7)
- Startup Weekend Okinawa Vol.10(2/14~16)
一段落したらヨガのインストラクター講座も受けたいけど4月以降になりそう。
また、自分がやっている仕事の内容を人に説明できるレベルまで理解を深めたい。モヤっとしている部分をなくしたい。
プロポーザルが通れば、DevOpsDays Tokyo 2020でこの経験談を話してみたい。はやく書かねば。