ブログ

開発プロセス

2016年10月27日
斉脇 一志

プロトタイピング道場では、開発プロセスを定義し、「運用」しています。一般的な開発プロセスと異なる部分もありますが、定義して「運用」しています。

開発のスコープ、期間、人員によって開発プロセスのいい悪いは変化します。ウォーターフォールか、アジャイルかについても同様です。どの粒度で前進させ、どの範囲で螺旋的に成長させるのかが大切です。開発プロセスは分類ではなく、運用こそが肝になります。また、技術の変化に合わせて組み替える必要があります。

以下では、プロトタイピング道場が定義した開発プロセスを紹介します。それぞれのプロセスにコンセプトがあり、一気通貫で行うことで効果を発揮します。また、各プロセスがツールスタックに依存していることも否定しません。規模は、2,3人で、2~3ヶ月で立ち上げるWEBサービス・アプリを想定しています。

大枠


  • A.スペック : システムのコンセプトと要件をテキストベースで記述します
  • B.プロトタイプ : システムのインターフェースを構築します
  • C.ビジネス : システムの運用サイドの要件を確認します
  • D.アーキテクチャ : システムの実装視点での要件と品質を定義し、不確定要素をなくします
  • E.プロダクション : 実装し、リリースし、運用する部分を扱います

基本的には、A~Cがアイデア、D~Eが実装という位置づけです。

B.プロトタイプで静的コーディングを行いますが、あくまでもアイデアの具現化が目的なので、詳細なテストや品質については扱いません。詳細な品質や設計はD.アーキテクチャで扱います。

プロトタイピング道場で扱う範囲

プロセスBまでが基本です。ただ、プロセスCについても座学中心に行います(詳細なレビューは行いません)。

A.スペック

A.スペックはテキストベースでの要件定義になります。ここで大切なポイントは、どの範囲まで対応し、どこから棚上げするのかを決めていく。優先度を整理し、後から変更できることを伝え、可能性をつぶさず、安心感を作り、発注側の期待値を調整することも大切な要素です。

  • A1.コンセプト : 概要、説明、価値、背景、リスク、展開について記述します
  • A2.プラットフォーム : ユーザーデバイスの対応優先度を記述します
  • A3.ペルソナ : ユーザーロールを分類し、ユーザー属性を設定します
  • A4.ユーザーストーリー : できるようになることを整理します
  • A5.ファンクション : 機能を洗い出します

B.プロトタイプ

ユーザーインターフェースを構築し、精巧なプロトタイプを構築します。最終的には静的コーディングを行います。この段階で、WEBサービス・アプリの完成系のイメージが固まります。

  • B1.ペーパーモック : 画面一覧、画面構成、画面遷移をまとめ、対象のテストデータを作ります
  • B2.ワイヤーフレーム : 画面の状態、ルーティング、スキーマを定義します
  • B3.カラーリング : 色彩、ロゴ、各種アセットをまとめます
  • B4.マークアップ : 静的にコーディングします

C.ビジネス

運用視点でシステムの構成を考えます。事業としてどのようなチャネルを管理し、バックオフィスを行うのか、そして、それらの管理画面を構築します。

  • C1.チャネル : マーケティング、セールス、サポートの要件を確認します
  • C2.バックオフィス : チーム、ファイナンス、リーガルの要件を確認します
  • C3.ビジネスモデル : 損益とKPIを確認します
  • C4.アドミン : 管理画面の設計をします
  • C5.ユーザーテスト : 想定顧客へのヒアリングを行います

D.アーキテクチャ

目的は、「実装上の不確定要素」をなくすことです。そのために、たくさんのデモを構築します。

  • D1.要件レビュー : 実装レベルの仕様書とチケットを作成します
  • D2.サンプルコード : 小さなデモをたくさん作ります
  • D3.工数見積もり : サンプルコードの組み合わせコストを見積もります
  • D4.品質定義 : 検収の手順書を作成します

E.プロダクション

実際に実装し、リリースし、運用します。どのようなことが必要なのか整理しています。

  • E1.セットアップ : 開発環境とインフラを作ります
  • E2.実装 : 本番用プログラムを作ります
  • E3.ローンチ : ローンチリストを満たした形で公開します
  • E4.運用 : ログを収集し、監視します

開発プロセスの詳細と背景

講義ではそれぞれの開発プロセスの詳細と背景を扱います。また、なぜそのタイミングでそのようなプロセスが必要なのかも紹介します。詳細に興味がある人は是非参加していただければと思います!!