tkymtk's blog

Ruby on Rails及びその周辺について調べたこと。Do whatever you want to do at your own pace.

Rails インクリメンタル開発手法

RailsによるアジャイルWebアプリケーション開発 第4版からまとめ。

指針

  1. 作業を始めるのに十分な仕様が立案できたら、直ちに機能の開発に着手する。
    • コーディングを開始する前に全ての仕様を決定することはしない。
  2. 小規模な設計と開発のサイクルを繰り返す。
    • アイディアのテストとフィードバックの収集を続けながら。

手順

  1. アプリケーションの大まかな仕様を書き出す。
    • 高レベルのユースケースを検討
    • アプリケーションのページフローのあらましを記述
    • アプリケーションで必要となるデータについても検討

      初期段階での推測は誤ったものである可能性が高いことをわすれずに。

詳しく

ユースケース・ページフロー・データについて図を書く。

ユースケース

  • ユースケースとは、何らかのエンティティ(実体) がシステムをどのように使用するか記述したもの。

  • まずアクター(行為者)を定義する。

  • その次に行為を記述する。

そんなに細かく手をかけない。フィードバックの中で問題点を見つけていく。

ページフロー

最初にアプリケーションの主要なページの構想を立て、 それらのページをユーザーたちがどのように移動するか、大まかに把握する。
不完全なページフローでも、行うべき作業を明確にして、 アクションの流れを順序立てて理解するのには役立つ。
必要以上に詳細を決めてしまうと、後で困ったことになりかねない。
あとでユーザがアプリケーションを使い込んでから修正出来る。

データ

スキーマクラスといった用語は使わない。
ここで検討する対象はあくまでも単なるデータ。
開発段階では、データベースを使用するかどうかさえ定かではない。

  • 場所はあるけど、不定なものは空白にしといて構わない。
  • 高レベルなデータについて検討する。詳細はあいまいな状態で良い。

コーディングの開始

  • 前回までのステップで開発方針に問題が無いことを確認。
  • 上で用意した3つの図に基づいて作業を進める。
  • フィードバックを得るとそれらの図は早い段階で使わなくなる。
  • だからすぐ捨てられるようにあまり図を書くのに時間をかけない。
  • 何から作業を始めるべきか考える。

データをもとにしたアプリケーションならそのデータの管理画面から始めるとか。 システムで扱う基本的なものをまず定義する。

出典:

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

最近買いました。Rails4には対応していないので迷いましたが、いろいろまとまっていて良いです。 Railsの概念を理解するのにはとても役立っています。ここでは文章でしか紹介できませんでしたが、書籍にはユースケース、ページフロー、データの実際の図が載っています。  

間違いがあれば、ご指摘下さると幸いです。