【開発】大きい機能を開発してみての振り返り:機能開発とテストの優先順位
はじめに
ベータ版リリース後の次の大きな機能として、
を、ここ2週間開発していた。
アレクサの音声リマインドのような機能である。
実際に利用したユーザーから、下記のリクエストがきたので、拡張性も高そうだし開発しようとなった。
当初は、1ヶ月くらいかかるだろうと想定していたものの、結果的には半分くらいの日数で開発を終えることができ(現在PRレビュー待ち)、それ自体は良かったのだが、今回大きい機能を開発してみての振り返り(マインドセットと、どう開発を進めていくのが効率的か)を備忘録として記載しておこうと思う。
実際に開発した内容:アプリで任意テキスト入力したものを音声再生
まず、実際に開発した内容を、テスト形式で記載しておこうと思う。
今までは、こちらが作成したデフォルトのフレーズ(5つの性格と4つの方言)からユーザーはどれか一つを選んでそのフレーズタイプに保存されているフレーズを再生できるだけだったが、アプリでミーアに喋らせたいフレーズを再生時刻とともに入力することができ、その時間になるとミーアがフレーズを話す
自分が作成したフレーズは公開非公開を選ぶことができ、公開した場合は、他のユーザーもあなたが作成したフレーズを取り込むことができる。Slackの絵文字取り込みのようなイメージ
フレーズを作成したら、音声合成されるとともにフレーズの内容を元に、感情ID(喜怒哀楽その他)が付与されて、その感情にマッチする目の画像が音声再生時に表示される。
基本的には、任意のフレーズを作成するCRUD機能ではあるが、そのフレーズに対して、再生スケジュール(日時と時刻)を設定したり、公開非公開ができて、公開フレーズからの取り込みもできるようにするという点で、複雑度が上がった。
実際に開発した内容の一部は、下記記事で記載した。
大きい機能を開発しての振り返り
過去にも、もしかしたら同じレベルの複雑で、かつ大きい機能開発したことがあったかもしれないが、今回開発した機能もなかなか手がかかるものだった。
まず取り掛かる
以前に、こちらの記事でも記載したが、 重たいタスクはどうしても後回しになりがちなので、重たい腰を上げてとりあえずやってみるのが重要。
このタスク、重たいなと身構えてしまっているタスクを重たく感じる理由は、タスクの見通しが立っていなかったり、実行可能な工数にまで分解できていなかったりという状態のために、全体としてなんとなく大きく見えてしまっているということがほとんどであり、実際に始めてみるとそこまで重たくなかったりすることもある。
逆に、想像以上に途中からやるべきことが増えて、重たくなるケースも無きにしも非ずだが。
集中して取り組む
他の細かい開発の方が、すぐに終わるので、仕事をやった感じがあるのだが、 すべての仕事はマルチタスクではなくて、シングルタスクでできるだけやった方が最終的な効率が良いため、今回は、、
続きは、こちらで記載しています。