上流工程を極める!

いや、私の言葉ではないですよ。雑誌「ITアーキテクト Vol.10」の中の連載企画の題名です。いつもは、特に興味をそそられるような内容ではないのですが、今回結構使えそうな内容があったので。



前号から「要求開発*1アジャイルプロセス」というお題で、筆者の経験談に即した話が書かれています。で、実践のポイントとして、以下の6点が紹介されています。

  1. 固定期間のイテレーションを短く回す
  2. リリースサイクルとイテレーションサイクルを区別する
  3. 要求をトリアージする
  4. マイルストーンを設定し、必ず達成する
  5. パイプライン制御で効率を高める
  6. 1人屋台方式でバトンリレーをスムーズに行う

この中で、いくつかピンときたものを取り上げてみます。

リリースサイクルとイテレーションサイクルを区別する
システムを実際に本番機にリリースするサイクルと、システムの開発の単位であるイテレーションサイクルは、別にして構いませんよと。私も、この二つは一緒にしなければ、つまりイテレーションごとにユーザにリリースする必要があると思い込んでいました。
要求をトリアージする
ユーザからの要求に優先順位をつけて、やるべきものからやっていこうということ。これ自体は別にどうってことないのですが、優先順位付けの手法がなるほどと思いました。その手法とは、「機能が実現されたときの『満足度』」と機能が「実現されなかったときの『不満足度』」の両方を考慮するというもの。前者は普通に考慮しますが、後者の視点は(少なくとも私には)あまりなかったところです。
1人屋台方式でバトンリレーをスムーズに行う
作業を各個人に細分化すると、その間でのコミュニケーションロスが発生するので、できるだけ一人でやれる範囲のことはやりましょうと。同感です。

うーん、雑誌ではもっといい内容を書いているはずですが、いまいち伝えきれない。(このつたないエントリで)興味を持たれた方は実際に雑誌を買って読むか、私まで借りにきてくださいな…


ITアーキテクト Vol.10

ITアーキテクト Vol.10

*1:いわゆる、要求定義をもっと自発的・積極的に行おうというもの。ちゃんと調べてないので、正確なニュアンスは違うかも…