クレイには次の3つの強みがあります。
- デモンストレーションとフィードバックを繰り返しながら開発するアジャイルソフトウェア開発ができること。
- プラットフォームに縛られず多様なデバイスやクライアントに対応したアプリケーションを開発できること。
- HTML5などの標準技術を使ったリッチなウェブアプリケーションを開発できること。
これら3つの事についてご紹介します。
アジャイルソフトウェア開発とは、製品全体を一度に設計/実装するのではなく、期間毎に完成させる機能を選択して設計/実装し、それを顧客に公開してフィードバックを得ることで、製品の完成度を高めていく開発スタイルです。
アジャイルソフトウェア開発にはスクラムやXPといった主要なフレームワークがありますが、決まった方法はなく、チームやプロジェクトに合わせて作り上げていきます。
アジャイルソフトウェア開発を採用することで、次のような価値を提供することができます。
- 決められた期間と予算の中で製品の価値を最大にする
- 定期的に実際の動作するソフトウェアを見せられる
- プロジェクトの終盤でも仕様変更に対応できる
また上のように定期的に動作するソフトウェアで確認できるため、顧客と開発チームでの認識違いを無くしていくことができます。
KRAYではこんな事ができます
クレイではプロジェクト開始時に、いくつかのステップを踏みます。
- かんがえるシートを使って、コアとなる価値を明らかにする
- 「かんがえるシート」ではどのような問題を解決できるか?喜ばせたい相手は誰か?など、開発するサービスや製品のコアとなる価値は何なのか、プロジェクトでは何を優先すべきなのかを明らかにします。
- ストーリーの抽出を行って、実現したいことを明らかにする
- ストーリーは、ユーザにとって価値のあるサービスや製品の機能を簡潔に記述したものです。ストーリーを優先順に並べることで、実現したいことを明らかにします。
- イテレーションを実施して価値を目に見える形にする
- イテレーションというのは製品とプロセスの改善サイクルのことです。クレイでは一週間を1イテレーションとして、一週間毎にデモンストレーションとして顧客に価値のあるソフトウェアを提供します。
このように短いサイクルで実際に目に見え、触れられるソフトウェアを提供することで、本当に価値のあるものを作りあげていきます。
また顧客は着手していないストーリーをいつでも変更したり優先度を変えることができます。
関連ブログ
アジャイルでの主な実績
- 某通信会社様 リアルタイム情報共有システム
- PC, iPadで動作するウェブアプリケーションです。画像やPDFを共有して、手書きやテキストでの注釈や拡大縮小、移動などもリアルタイムに共有することができます。
- プライベートSNSサービス
- 毎週デモンストレーションとフィードバックを繰り返しながら開発を進めています。iPhone, Android, PC, iPadで動作するサービスを開発しました。
これまでアプリケーションやインターネット上のWebサービスを利用していたのは、PCなどのパソコンが中心でした。その後、i-modeを始めとする携帯電話が登場し、昨今はiPhone、Android、WindowsPhoneといったスマートフォンやiPadを始めとしたタブレットなど、様々なプラットフォームが普及しています。
プラットフォームが多様化することでユーザがアプリケーションやWebサービスに触れる機会が増える一方、どのプラットフォームをターゲットにするかは大きな問題となっています。複数のプラットフォームに対応すればより多くのユーザに使ってもらえますが、その分開発費が大きくなります。
開発費を抑え、より多くのデバイスに対応するためには、主要な仕組みを共有化し、各デバイスの特性に合った開発方法を選択していく必要があります。
どのデバイスでも体験できること、それがこれからのサービスの重要な要素になると私達は考えています。
KRAYではこんな事ができます
アプリケーションやサービスには目的やターゲットとなるユーザがいます。
その目的やターゲットユーザに合ったデバイスを決めていく必要があると考えています。
クレイでは「かんがえる」でアプリケーションの目的やターゲットを明確にし、それに合ったデバイスで開発できるように、iPhone、Android、PCなど様々なデバイスでの開発手法を採り入れています。
例えば、現在開発中の情報共有システムでは、iPadとPCで動作するようにHTML5でのウェブアプリケーションとして実装し、またそれぞれの特性に合わせ、iPadでは指で操作することに最適化し、PCではマウスで操作することに最適化しています。
その他に、iOS / Android それぞれのネイティブアプリケーション開発やTitanium mobileを使った開発なども行っています。
関連ブログ
マルチデバイスでの主な実績
- ベネッセコーポレーション様 HTML5研修デモ
- PC、iPad、Android Tabletで動作するウェブアプリケーションです。Drag&Dropによる教科の選択やリアルタイムにメモを共有したり、動画とテキストが連動するなどネイティブアプリケーションに近い操作感で動作します。
- ディップ株式会社 ハピナス診断 iPhone/Android向けアプリ
- 診断コンテンツを管理するネイティブアプリケーション部分と診断コンテンツ部分のウェブアプリケーションのハイブリッドな構成となっているアプリケーションです。診断コンテンツ部分をウェブアプリケーションにすることで、iPhone, Android両方に同じコンテンツを提供できています。
- プライベートSNSサービス
- 毎週デモンストレーションとフィードバックを繰り返しながら開発を進めています。iPhone, Android, PC, iPadで動作するサービスを開発しました。
HTML5は従来のhtmlの単なる拡張ではありません。 HTML5はテキストを装飾するマークアップ言語という枠に留まらず、動画や音声データを簡単に扱えたり、JavaScriptで図を描けたり、よりリッチなウェブアプリケーションを構築することができるようになっています。
HTML5では次のことができるようになります。
- 文書構造をより明確にすることができる
- 動画や音声データを簡単に扱うことができる
- 動画再生のためのFlashプレーヤは不要に
- 様々なAPIを使って、より高度なアプリケーションを作ることができる
- リアルタイムなデータのやり取り
- 位置情報やスマートフォンが持つ各種センサー情報を取り扱う
- アニメーションやベクタデータなどの描画処理
HTML5は理想を求めて新しいものとして作られたのではなく、既存のHTMLや技術を再利用し、また改良し、実際に利用されることを考えられて作られたものです。
現状では、古いブラウザでは利用できなかったりサポートが中途半端だったりしますし、最新のブラウザ間でもサポートの程度や速度に差があります。企業内のPCのように新しいブラウザへのリプレースが難しい環境などでは HTML5のメリットを享受できないことも考えられますが、今後環境が整うにつれて基礎技術として使われていくことになるでしょう。
KRAYではこんな事ができます
HTML5でウェブアプリケーションを作るためにはHTML5、CSS3、JavaScriptだけではなく、サーバ側との連携も重要になります。
クレイはブラウザだけではなく、連携するサーバ側まで一貫して開発を行うことができます。例えば、サーバ側にRuby on Railsやnode.jsといったWebシステムフレームワークを使い、WebSocketと呼ばれる技 術を使ってリアルタイムに操作が伝わるアプリケーション開発なども手がけました。
関連ブログ
- JavaScript 3DレンダリングエンジンのThree.jsを試す
- rails3 + html5 canvasでお絵かき投稿サイトを作ろう!
- Pusherでお手軽WebSocket – iPhoneから加速度をリアルタイム送信
HTML5を使った主な実績
- ベネッセコーポレーション様 HTML5研修デモ
- Drag&Dropによる教科の選択やWebSocketを使ってリアルタイムに知識の共有を行ったり、動画とテキストが連動することで学習効果を高めるような作りになって います。
- 某通信会社様 リアルタイム情報共有システム
- 画像やPDFを共有して、手書きやテキストでの注釈や拡大縮小、移動などもリアルタイムに共有することで、コミュニケーションを補完するツールになっています。 HTML5 + Ruby on Rails + node.jsで構築されています。
- トランジットデジタルワークス様 AR fitting コントロールパネル
- 店内に設置されたiPadから試着したいアイテムを選択すると、モニターに試着した姿が映し出されます。クレイではiPadで操作するコントロールパネルとSNS連携などのバックエンドを担当しています。