アジャイル開発で失敗する方法

1.簡単なことだけをやってみる。

⇒ 次のフェースへの応用が利かず、お蔵入り(スクラップ)、一からスクラッチし直す。

⇒スクラップ アンド スクラッチ

2.主だった仕様に基づいてデータフローを作成し、ここからテンプレートを作成する。

⇒ ループの無いスマートなIPOでエレガントに作成。

⇒そこに集計結果と明細を一緒に出力する事案が隠れていた。

⇒集計結果をワークテーブルに書く。

⇒明細結果をワークテーブルに書く。

⇒2つのワークテーブルの中身をレポートライターに突っ込む。

⇒簡単すぎる基本設計により、レポートライター単体で簡単にできることを、色々ハードコードして実現することになった。

3.行き当たりばったり。
【教訓】

  1. シンプル イズ ベスト は正しい。
  2. 物事を正しく簡単にすることは難しい。
  3. 無理に簡単すると、『余計な無理が生じる』だけだ。
      • (例)標準的な機能で実装しよう。
        • HTMLのレイアウトには大穴がある。
          • 3段組み以上は固定幅にしないと組めない。
            • 但し、jQueryで頑張って固定幅を書き換えることは可能。
              • 但し、画面の文字が踊りだす。
          • HTMLは『やっつけ仕事専用レイアウト言語』である。
            • HTMLを作った人は大層なことを考えて作った訳では無い。
            • 簡単に案内の画面が作れて、簡単な操作で観たい画面に飛んで欲しかっただけだ。
        • SQLでサブルーチンを要するようなコードは書けない。
          • 検索結果に順に番号(行番号)を振りたいなどの素朴な要望は、各メーカーの独自実装を使うしかない。
          • SQLを作った人や標準SQLをまとめたひとは、集合論の達人であり、

      『一般に要素数不明である集合の要素に対して、プロシージャや連続的な番号を振る行為を行うと処理時間は∞になる』
      のだから標準的なSQLでの実装を見送るのは当然のことだろう。

        • Javaで作ったコードは長く使える
          • と云う話はJREの1.5で早々に幕を閉じた。
        • と云う様に『一般的な要望』と『一般的な開発パッケージ』の間の意志の疎通はほとんど取れていない。
        • なぜ、取れていないのかというと、一般的なWEBの成果は、『一般的な開発パッケージ』の上に、沢山の先人たちの汗と努力の成果が積み重ねた結果でしかないからだが、簡単に画面を操作する側が、そんなことを知る訳が無い。
  4. つまり、良かれと思い、無理せず「標準的な機能で実装しよう」とすると⇒泥沼開発⇒デスマーチ に直結する。
  5. つまり、無理をしないためには「せーいっぱい頑張る」しかないのである。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA