0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

備忘録:Flutterの生産性

Posted at

はじめに

界隈で話題になった、

アプリ開発市場の現状と今後の予想(2023〜2026)

の中で「Flutterはどのくらい工数を圧縮できるのか?」という話題があり、
これは自分も感覚値だと1.5とか1.7とかなのだけど、営業と話していても顧客と話していても話題に上がるので、もうちょっと考えてみようとなった。

自分はFlutterの案件を3年前から取り組んでいて、3案件ほど開発や保守を行なってきたエンジニアです。
主にPMをすることが多いですが、レビューやたまにコードを書いたりもしています。

考察

自分の担当する案件ではいわゆるV字モデルでの開発をすることが多い。

なので、おおまかな工程で区切って考えてみます。

工程 概要
要件定義 お客様の要望を取りまとめて、アプリで実現する目処を立てる。次工程以降の見積もりをすることもある。
基本設計 画面、機能のアプリの外観を整理する。細かい仕様もここで詰める
詳細設計 アプリのHow Toを決める。画面間、機能間の共通機能の取り決めやコンポーネントの設計をする
製造 アプリの実装、パターンよりも粗いレベルで挙動の実現度を確認する(動作確認)
単体試験 アプリに対しての試験、ホワイトボックスをベースにブラックボックスレベルでも確認する
結合試験 画面間、機能間、あるいはモジュール間の連結を確認する
総合試験 本番相当の環境を用意し、シナリオベースの試験、性能・負荷などの非機能試験、ユーザーシナリオ以外の運用想定シナリオの試験を行う

これをFlutterで対応する場合は、

工程 Flutterでやる場合
要件定義 開発言語の生産性は関係しない。ただし、クロスプラットフォーム言語の場合、OSレイヤに近い機能を使う場合には制限やAPIがない場合、結局2OSそれぞれ実装しないといけないこともある。とはいえ、それらの事情は基本設計以降に回す。
基本設計 2OS独自の機能がなければ、1OSの工数で進められる
詳細設計 2OS独自の機能がなければ、1OSの工数で進められる
製造 2OS独自の機能がなければ、1OSの工数で進められる
単体試験 この時点で実機や2OSそれぞれの試験を行うか次第だが、1OSでも十分な感覚
結合試験 この時点では実機で実際の動作確認をした方がいいので、2OS分の工数がかかる
総合試験 この時点では実機で実際の動作確認をした方がいいので、2OS分の工数がかかる

完全に個人感覚になりますが、基本設計〜単体試験が1OSで十分なので、
それぞれNative開発した時に100+100=200のような計算だとすると...130程度でしょうか(※)。

※要件定義(10)+基本設計(10)+詳細設計(20)+製造(20)+単体試験(20)+結合試験(10)+総合試験(10)で雑に計算した場合。

まとめ

気になったので、雑にまとめてみました。
作るアプリや会社としての知見、その時の体制やPJの進め方によって前後すると思います。
Flutterでの生産性を上げていく場合、どこまでがFlutterで工数を圧縮できて、それ以外の部分はどう品質を保つかは知見の蓄積が必要かな、と思いました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?