<< 全体イメージ:プロジェクトの副題 | main | アジャイルを低コストで簡単に >>

単純にする

システムを作るときの三つの関心事。

・網羅性
・整合性
・単純性

伝統的なシステム開発方法論は、網羅性と整合性に重点がある。
アジャイルな開発方法論は、単純性に力点がある。

単純に考える、ということをネットで検索していたら、こんなページを見つけた。

The Four Laws of Simplicity, and How to Apply Them to Life

四つのステップで、単純化する。

1.Collect 集める
2.Choose 選ぶ
3.Eliminate 捨てる
4.Organize 組み立てる

Collect 集める

関係ありそうなことを、とりあえず一か所にあつめる。
広いテーブルの上に集めるのが良いらしい。

システム開発だと、さまざまな要求事項の収集かな?

Choose 選ぶ

本当に重要なごく少数のものを選びだす。
これは、かなり難しい。
関係者が多いと、おそらく、合意は難しい。
まあ、だれかに「まかせた」とやるしかないかな?

良いシステム設計の基本は、おそらく、この、ほんとうに重要なごく少数のことを「選ぶ」こと。

ユースケース候補が、100とか200とか集まってきた中から、ほんとうに重要な5つを選べといわれたら、かなり大変。

でも、中核の5つのユースケースを見極めれば、システム全体の構造、開発の段取り、人の割り当てなどが、ともて簡単に決まってくる。

Eliminate 捨てる

これも、難しい。
「捨てます」「やりません」「いりません」とぶっきらぼうにいったら、トラブルの種かな?

まあ、私は、とりあえずの置き場所、たとえば、次のリリースの要求リストとか、検討リストとか、名前をつけて、そちらに回すようにする。

別の入れ物をつくって、とりあえずそっちに詰め込んでしまうことで、実質、捨てたのと似た効果を期待できる。

捨てきれなかったことで、後で不発弾として突然爆発、というリスクはあります。
可能であれば、廃棄しておきたいんですが。

Organize 組み立てる

集めて、選んで、捨てた。
あとは、残った重要な要素を、どうやって組み立てるか?

原理は簡単。

・関係するものを集めてグループにする。
・グループの間を空ける。

ソースコードだと、3行くらいをひとつのグループにして、空行でグループの区切りを表現する。

図や表でも「空き」を使って、グループ間の区切りを表現する。

システムでも、システムとシステムの間に「空き」を設けて、区別する。

組織化の基本は、「グループにする」ことと「間を空ける」ことです。

まとめ

集め上手  集め下手
選び上手  選び下手
捨て上手  捨て下手
組み立て上手 組み立て下手

私はどんなんだろう?
あなたはどうですか?

短い納期の仕事って、実はやりやすい。

集める時間がない
重要なことだけ選んで、あとは捨てざるを得ない。
結局、残った部品は少ないので、組み立ても簡単。














コメント
こんにちは。ブログ立てちゃいました。

system-enablers日記
http://www.system-sekkei.com/yamauchi/

いろいろ設計ネタとか書いていく予定です。
コメントする









この記事のトラックバックURL
トラックバック
calendar
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
  • 番号より名前。 ニーモニックコードより名前。 【パターン】
    師子乃 (03/10)
  • Smart UI が優れている?
    masuda220 (03/10)
  • Smart UI が優れている?
    kagehiens (03/09)
  • オブジェクト指向プログラミングの教え方?
    masuda220 (12/05)
  • オブジェクト指向プログラミングの教え方?
    ZACKY (12/04)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    kompiro (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    JHashimoto (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (02/28)
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM