皆さんこんにちは、OYOYO-PROJECTです。
OYOYO-PROJECTはウェブサービス(ウェブアプリケーション)を開発するサークルですが、メンバーは僕一人です。
一人でアプリケーションを開発・運営することについて考えてみたいと思います。
やらなければいけいないこと
ウェブサービスの開発は通常複数名のチームで開発することが一般的です。
- プロデューサー/ディレクター
- デザイナー
- フロントエンドエンジニア
- バックエンドエンジニア
- ネイティブアプリエンジニア
プロデューサー/ディレクター
プロデューサーやディレクターと呼ばれるメンバーは全体の統括、スケジュールの管理、マネジメント等、アプリケーションが円滑に運用出来るように各所の面倒を見る担当です。アプリケーションの宣伝なども担当します。
デザイナー
名前の通り、ウェブアプリ、ネイティブアプリのデザインはもちろん、サービスの全般的なデザインを担当します。
フロントエンドエンジニア
皆さんがブラウザでアクセスする「WEBページ」を担当します。WEBページを使いやすく、見やすく、PCでもスマートフォンでも綺麗に表示できるようにするのがフロントエンドエンジニアです。
バックエンドエンジニア
皆さんが直接見ることはありませんが、例えば皆さんがSNSに投稿した日記のデータをDBに保存させたり、それを検索して表示出来るようにしたり、不正なアクセスが出来ないように、セキュリティーを考慮しながらデータを加工するプログラミングを書き、サーバーの維持・管理を行います。
ネイティブアプリエンジニア
スマートフォンなどでウェブサービスを使いやすくするために、ウェブサービスに「アプリ形式」の玄関を作るエンジニアです。
iPhone向け、Android向けのアプリを開発します。
と、このように、ウェブアプリケーションというものは通常4〜5名、最低でも2〜3名で開発を行うのが一般的です。
(あくまで一例として上げたものですので、上記に沿わないウェブサービスもあるかと思います。)
しかし、OYOYO-PROJECTは一人で運用しているわけなので、1人で全ての役割を行う必要があります。
でも、僕はいわゆるスーパーハカーではありませんし、超人でもないので、到底全ての役割を完璧にこなすのは無理です。
じゃあどうすればいいのか。
「すべての役割を完璧にこなそうとはしない。必要最低限、出来ない部分は切り捨てる。」
はい。最低限の実装、不必要と判断できる部分は切り捨てる。
これしか方法はありません。
ではどこを切り捨てればいいのか。
「セキュリティ、アクセシビリティ、ユーザーエクスペリエンス」
ウェブサービスには大きく3つのセクションがあると考えています。
まず、セキュリティーは言うまでもなく、サービスの安全性です。
データの保存方法、サーバーの運用管理、アカウントのパスワード管理などです。
つぎにアクセシビリティ、つまりアクセスのし易さ、PCでもタブレットでもスマホでもフィーチャーホンでも、何でもアクセスできる。これがアクセシビリティです。
そして、ユーザーエクスペリエンス、ユーザー体験、ユーザーがウェブサービスを使った時に喜んでくれるか、楽しんでくれるか。
主に見た目であるデザインや、メニューボタンなど、各種ボタン操作時の演出などです。
この3つの中でOYOYO-PROJECTでは優先順位を決めて実装を行っています。
セキュリティ、ユーザーエクスペリエンス、アクセシビリティの順番です。
セキュリティー
まず、絶対に切り捨ててはいけないのがセキュリティ。
セキュリティの部分では最低限ではなく、標準以上の実装を心がけています。
なのでセキュリティは切り捨てることは出来ません。むしろ付け足す必要があります。
ユーザーエクスペリエンス
ユーザーが一つのウェブサービスを思い浮かべるときのイメージは「ユーザーエクスペリエンス」が全てです。
ユーザーエクスペリエンスが悪い=出来の悪いサービス、という事になってしまいます。
なにせ、ユーザーが実際にウェブサービスを利用する際の「利用体験」を生み出している部分ですので、とても重要です。
しかし、OYOYO-PROJECTは「慢性的人的リソース不足」なので、切り捨てが必要になってきます。
最低限のユーザーエクスペリエンスを保証しつつ、実装上時間がかかる部分、サービスの利用に影響のない部分は切り捨てます。
具体的にはデザイン時に色で悩まない、こだわらない、無駄に画像を作らない。ボタンのクリックイベント等の演出を行わない、などです。
アクセシビリティ
アクセシビリティは門戸を大きく広く開けて、たくさんのユーザーにウェブサービスを利用してもらえるように配慮します。
PC向けのサイト以外にも、スマホ向けサイト、またはフィーチャーホン向けのサイトも準備することもあります。
その他にも、スマートフォンを利用しているユーザーがログイン無しで、簡単にウェブサービスを利用できるようにスマホ用に専用のアプリを準備したりします。
たくさんのユーザーに使ってもらうためには大変重要な項目です。
しかし、アクセシビリティこそ、OYOYO-PROJECTでは切り捨てる必要のある部分です。
セキュリティーを下げて、ユーザーの信頼を損なうよりも、ユーザーエクスペリエンスを下げて、ユーザーの満足度を下げるよりも、アクセシビリティを下げて、利用できる端末を絞るほうが、ウェブサービス全体のクオリティを落とさずに済むからです。
ただ、ウェブサービスを運用しているということは、たくさんのユーザーにサービスを使ってもらう必要があるわけなので、実際は一番手をかけたい部分でもあります。
ウェブサービスは利用してもらえてナンボですので。
というわけで、OYOYO-PROJECTでは
「すべての役割を完璧にこなそうとはしない。必要最低限、出来ない部分は切り捨てる。」
「セキュリティ、ユーザーエクスペリエンス、アクセシビリティの順番で考える」
ことで、一人でウェブサービスの開発を行っています。
ですが、何も好きで一人で開発しているわけではありません。
興味がある方はぜひ、OYOYO-PROJECTに・・・・
次回は一人で開発することのメリットとデメリットを書いてみたいと思います。
一人でアプリケーションを作るということ②
最近のコメント