手始めに、面白い事実:仕事を始める前に、プロジェクトグループ全体、そしてこれ:製品ディレクター、アートディレクター、プロジェクトマネージャー、アナリスト、デザイナー、iOS、Android開発者、QAスペシャリスト、Asconaはスマートデバイスを寄付しました-どうやら、より良い睡眠を取り、より生産的に働くことができるように。工場から直接、枕、睡眠トラッカー、ベッドのベースが私たちのイジェフスクオフィスに到着しました-これらすべてを接続する必要がありました。私たちは実際にこれらの枕で寝ました-そしてこれは私が情熱的にそれらを推薦する準備ができている時です。私はもはや古い合成防寒剤に戻ることができず、プロジェクトが完了した後、私は家族全員のためにスマート枕を購入しました(Asconaは広告にお金を払っていません、それは残念です)。
これは、クライアントが開発者の面倒を見て、その結果、クールなアプリケーションを作成した場合です。しかし、まず最初に。
製品アプローチ
Asconaは30年以上にわたり、快適で健康的な睡眠のためのソリューションを開発してきました。蓄積された専門知識と最新のテクノロジーを組み合わせることで、同社は睡眠をより効率的にするのに役立つ製品の作成に着手しました-このアイデアで、クライアントは私たちに来ました。
スマートベッドルームとは何ですか?これは、制御可能なベッドベースからスマートライトやカーテンに至るまでのデバイスのエコシステムです。その助けを借りて、あなたは快適な睡眠に最も適した寝室に個性的な雰囲気を作り出すことができます。
サービスのアイデアを研究した後、私たちは同僚に段階的に行動し、開発に製品アプローチを使用するように招待しました。彼はそのようなタスクの実行に非常に適していました。私たちはTKやFTではなく、製品のビジョン、つまりその究極の目標に依存していました。そして、これに必要な機能はプロセスで決定されました。
まず、MVPアプリケーションを作成することを計画しました。最初のリリース以降、ユーザーからのフィードバックとその要求を評価し、機能を徐々に拡張して新しいデバイスを接続します。
Scrumの作業は、2週間のスプリントで編成し、設計、開発、テストを別々の段階に分けませんでした。チーム全体が最初からプロジェクトに完全に没頭していたので、私たちはスキームに従って作業しました。最初に、内部のすべてのソリューション、アイデア、機能を調整し、次にそれを顧客に渡して承認を求めます。
2週間ごとに、お客様向けにデモを実施しました。お客様は既製のソリューションを示し、次のスプリントの計画について話し合いました。このアプローチのおかげで、私たちは常に中間結果を評価し、プロジェクトに多くの有用な詳細を追加する機会がありました。
アイデアを製品に変えた方法
顧客との最初のミーティングで、アプリケーションと対話するための主なシナリオとデバイスを接続するための手順を決定しました。
MVPには、次の3つのデバイスが含まれています。
スマートピロー-人の心拍数と呼吸数を監視するスマートピロー。
Sleep-dotは、部屋の湿度と気温のレベルを監視し、人が眠りにつく時間を記録する小さなセンサーです。
ベッドベースエルゴモーションは、角度が可変の複数のセクションで構成され、マッサージを行うことができます。
枕とスリップドットからデータを収集し、それに基づいて睡眠の質とその悪化の理由を評価することができます。これらのデバイスからのデータは、アプリケーションのスリープフェーズをプロットするのに役立ちます。また、ベッドベースには、アプリケーションに便利なコントロールパネルを実装しています。
同じ会議で、おおよそのカスタマージャーニーマップをスケッチしましたが、作業の開始時には、最初はあまり見えなかったため、まだ閉じられていないように感じました。当初、私たちの想像力はすでに利用可能なソリューションに限定されていたため、多くのクールなアイデアがすでにプロセスに取り入れられました。たとえば、MVPで作業しているときに、アプリケーションを同様のソリューションと区別する機能を見ました。プラグ可能なデバイスは、さまざまなデータをアプリケーションに送信しますが、それ自体はユーザーにとってそれほど価値がなく、理解するのは簡単ではありません。私たちのアプリケーションは、スコアリングだけでなく、睡眠を改善する方法についての個別のアドバイスもユーザーに提供する必要があると判断しました。このアイデアは、Asconaの目標と製品ビジョンに完全に適合しています。そのため、クライアントは専門の睡眠スペシャリスト(睡眠障害の予防と治療を扱うスペシャリスト)を巻き込んで、推奨事項に取り組みました。
3つのスプリントで、アプリケーションの最初の実行可能なバージョンを実装しました。これは、スマートピローに接続し、リアルタイムでデータを収集しました。さらに1か月半後、接続、ユーザーのオンボーディング、構成、ステータスモニタリング、レポート生成、および個別の推奨事項を実装することで、このシナリオを完全に終了しました。
さらに3つのスプリントについて、スリップドットを接続してデバイスを切り替えるための同様のシナリオを開発しました。
ベースを接続するのにもう少し時間がかかりました。まず、パンデミックは独自の調整を行いました。チームは、デバイスをテストするために厳しいスケジュールでオフィスに出向かなければなりませんでした。次に、接続するには、独自のライブラリを作成する必要がありました。
開発:SDKがない場合の対処方法
これはデバイスの最初の経験ではありませんが、このプロジェクトでは、再プログラムできないデバイスを接続する必要がありました。アプリケーションの便利な操作と直感的なインターフェイスを作成するために、各デバイスの操作を徹底的に調査しました。チーム全体が例外なく、枕とスリップドットをテストし、ベースの取り扱いを学びました。ユーザーがデバイスを操作する方法を理解することは重要でした。これは、問題を引き起こす可能性があります。たとえば、ガジェットのバッテリーが切れてアプリケーションコマンドに応答しなくなった場合など、異常な状況を解決する方法を理解することが重要でした。
「コマンドをベースに送信する」と「枕をリセットする」という独自のミームもありました。
おそらく最も難しい部分は開発者のためでした。
作業の開始時には、デバイス用のSDKはありませんでした。ネイティブアプリケーションを逆コンパイルしようとすると、16K行のコードとコメントが中国語で表示されました。
ここでは、Githubで検索するスキルが役に立ちました。そこで、枕とスリップドットのSDKが見つかりましたが、基盤のSDKは自分で作成する必要がありました。
ドキュメントには多くのエラーが含まれていましたが、コードの記述中にBluetooth経由での接続に問題がありました。ドキュメントとの不一致を見つけるために、トラフィックをスニッフィングする必要さえありました。それらは小さかったが、アプリケーションの動作に影響を与えた。
すべての開発をライブラリにパックし、それを使用してアプリケーションでの作業に成功しました。それらをテストし、財団の活動を独自に理解したい場合は、コメントに書き込んでください。ご希望の方がいらっしゃいましたら、オープンアクセスで掲載させていただきます。
クリーンアーキテクチャを使用してアプリケーションを作成しました。さらなる製品スケーリングを提供することが重要でした。
プロジェクト中期の再設計
デザイナーはプロジェクトに最初に参加した人の一人でした。当初から、多くのスリープトラッカーに馴染みのある暗い色を選択しました。暗い画面は、ライトがオフのときに目を痛めたり、メラトニンの生成を遅くしたりしません。
すべてが説得力があるように見え、顧客はレイアウトに同意しました。
しかし、数回のスプリントの後、アプリケーションと枕での作業がすでに可能になったとき、デザインには表現力が欠けており、競合他社から構築したいものが視覚的に「キャッチ」されないことが明らかになりました。
当社の設計者は、アプリケーションの操作全体といくつかのカスタムスクリプトを完全に再考しました。
まず、ハートビート、呼吸、スコアリングインジケーター、チャートなどのアニメーションを追加しました。レポートのアクセントを強調表示し、ナビゲーションをより理解しやすくしました。新しいバージョンでは、配色は暗いままでしたが、よりコントラストが強くなり、要素間の空気が増えました。デザインはより明確で理解しやすく、表現力豊かになりました。
これは、製品アプローチの疑いのない利点の1つです。現在の決定が望ましい結果をもたらさないことをチームが理解している場合、それらを変更することができます。
このプロジェクトへのチームの没頭のおかげで、多くの成功したアイデアが生まれました。たとえば、ベースの動作をテストしているときに、設計者は、テレビのリモコンのように、+ボタンと-ボタンの形でセクションの傾きを通常制御することは、スマートフォンの画面ではあまり便利ではないと判断しました。そして彼はそれらをスライダーに置き換えることを提案した。このオプションは、このような要素がアプリケーションのもう1つの機能になると判断したため、お客様と合意しました。
アプリケーションでは、プリセットを保存する機能(個々の基本設定)を追加しました。工場のリモートコントロールにはそのような機能はありません。
アプリケーション以外のいくつかのソリューションを探しました。たとえば、デバイスが停止している場合はどうなりますか?そして、どのようにユーザーがそのような状況を防ぐのを助けることができますか?私たちのアプリケーションは定期的にデバイスに充電レベルを要求します。低い場合は、対応するインジケータがデバイスカードに表示されます。そのため、ユーザーは時間内にデバイスを充電する時間があります。
テスト:仕事を家に持ち帰る
アプリケーションは、最初のスプリントから継続的にテストされました。
まず、設計をテストしました。私たちのデザイナーは、物議を醸す問題について最もクリックしやすいプロトタイプを収集し、チーム内でそれらをテストしました。
枕接続スクリプトを備えたアプリケーションの最初のバージョンが登場するとすぐに、彼らは実際のデバイスでそれをテストし始め、アプリケーションのすべてのステップを追跡しました。開発者、デザイナー、QAスペシャリストなど、全員がこのプロセスに参加しました。
テスターは文字通りスマートデバイスに似たものにならなければなりませんでした。推奨事項を確認するには実際のデータが必要であり、それらは睡眠中にのみ取得できます。彼らは枕とピルボックスを家に持ち帰り、夜にデバイスを接続してテストを実行し、朝にすべてをチェックしなければなりませんでした。何かがうまくいかず、テストが機能しなかった場合、次のテストの機会は夜にしか現れません。
すべてのデバイスをアプリケーションに接続した後、サロンに必要なデバイスを持っているAsconaの従業員を含めることでユーザーグループを拡大しました。同僚がアプリを使用して、フィードバックをくれました。
それらから、アプリケーションの操作についてのコメントはほとんどありませんでした。これは、私たちのチームワークが生産的であったことを示唆しています-私たちは高品質で便利で理解しやすい製品を作りました。
次は何ですか?
これで、アプリケーションはすでにストアにあります。 3つのスマートデバイスに接続し、枕とスリップドットから情報を収集します。アプリケーションは、デバイスの読み取り値を分析することにより、睡眠不足または入眠遅延の考えられる原因をユーザーに説明し、個別の推奨事項を提供します。将来的には、過去数週間の読み取りの履歴を考慮して、推奨事項を改善します。これらはさらに正確でパーソナライズされます。
このアプリケーションでは、ユーザーからのフィードバックを自動的に収集します。組み込みの分析システムは、多くのメトリックを追跡します。このメトリックから、最も頻繁に使用される機能を学習します。これにより、問題が最も頻繁に発生するユーザーの興味を引くことはありませんでした。したがって、製品開発の次の段階では、私たち自身のビジョンだけでなく、ユーザーの要求や要件を示すビッグデータにも依存します。