ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

トヨタのカンバン方式やJITって、アジャイル(とくにTDD)に似てますよねえ?そのため。。

2005-11-01 16:35:56 | 開発ネタ

 ものすごーい唐突なんですけど、トヨタなどでおこなうカンバン方式や、物流でおこなうJITとかと、アジャイル開発、とくにTDDに近いものがあると思うんですよ。

 カンバン方式では、カンバンを使うことにより、必要なものを、必要な分生産するということですよね(これが無駄を省く)同じ理屈で、JITも、必要なものを、必要な分配送するということになった。

 で、TDDなども同じで、要件を満たす分のプログラムを作るという形。在庫である、さきまわりした開発を否定している。




 で、もし、その構図がただしいのなら、TDDも、トヨタのカンバン方式やJITと同じ問題が発生するということですよね。

 カンバン方式の問題点は、その工場の、最下流工程となる、部品調達、これがいつでも必要な分できないと、カンバン方式が成立しない(たとえば、部品をあつめるのに、1ヶ月かかるとしたら、必要なときに、あ、部品がない!っていうので、生産が1ヶ月止まってしまう。たしか、アイシン精機かなんかで、火事かなんかで、こんな問題、おきなかったっけか?気のせい?)

 部品調達が、いつでも必要な分できなるということは、その会社は、言われた分だけ生産できるという機動力を持っているということで、これは、人と経済力がないとできない(お金がないと、すぐに買い付けられない)。つまり、部品工場にかなり高い能力がないとできないことになる。

 これをTDDに置き換えると、どうなるかは、今度かくかも(実は、この先の話が書きたくて、今日、この話題を書いたのだが。。)




 JITの問題は、いわゆる部分最適と、全体最適の話。

 ジャストインタイムで、ってことは、1回ですむ配送を、何回も何回も行うことになり、そのため、エネルギーを使うことになる。全体的にみると、よくないかも??。。

 
 これは、TDDの世界でもいえる。

 仕様をみたすだけなら、Strutsだと、Actionメソッドに、いろいろ処理内容をかいてしまってもいいし(本屋さんで売られている本は、これがおおい)、もっとひどいケースは、値をじかがきしてしまってもかまわない。

 でも、ふつうは、先読みする。よく、Actionメソッドで、以下のように、モデルの対応メソッドをよびだす「だけ!」というモデル処理がある。

public class Test extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
 HttpServletRequest request,
HttpServletResponse response)
{
TestModel tm = new TestModel();
return tm.execute(mapping,form,request,response);
}

まったくの無駄なプログラムにみえる。。。つーか、むだだ。
けど、これ、結構やってる気がするんだけど。。。どーかなあ??

 理由は、こんなかんじ
(1)モデルの対応メソッドのほう「だけで」画面を使わないで、テストできるので、単体テストが画面のプログラムができてなくてもできる

(2)自動生成した場合、ここに処理を書いてしまうと、新しく更新した場合、また書き直さないといけないが、この方式なら、自動生成してしまって、問題ない。

(3)jarを受け渡すとき、テスト用スタブと、実際用で切り替えたい場合、テスト用のモデルを集めたjarと、実際用のjarと、きれいにjarが分けられるので、テストのときは、jarの入れ替えだけで、テストモードが切り替えられる

 まだまだあるけど、省略。

 でも、これは必要最小限ではない。将来の問題を先回りしている。

 ところが、テストを先回りして設計しないと、ある程度のところで、品質は、とまる。

 なお、値埋め込みの問題は、ここに書くまでのこともないでしょう(データ更新されると。。ってこと)。




 つーことで、ふつうは、必要最低限の仕様ではなく、テストのストーリーを考慮にいれて、システムを作っていたりする。。

 で、そんなことは、どーでもよく、上の機動力とか、財務力の話を、
 こんど、覚えていたときに書きたいと思います。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブラウザで検索させる場合、データもJavaScriptに書くときは、メンテに自動生成が、いいかも!

2005-11-01 15:29:45 | Weblog

 CDやDVDに焼いたデータを検索させたいケースというのが、たまにあります。
 この場合で、インターネットにアクセスしないでやるとき、JavaScriptを使ってやる人も、います。

 つまり、検索対象データは、JavaScriptに直接、配列の初期化の形でかいてしまうというもの。。




 このとき、問題となるのは、検索対象データのメンテナンス。
 検索対象データを変えるたび、プログラムも変えないといけない。手離れが悪くなってしまう。

 そこで、考えられる方法が、この前のブログに書いた、雛形から、自動生成するプログラム。

 検索部分のプログラムを一度作っておけば、で、そこで繰り返し部分にタグを入れておけば、データの変更の場合は、自動生成すればいいだけ(だれでもできる)。

 まあ、そもそも、JavaScriptにデータを埋め込んじゃう時点で、いかがか?というのはあるかもしんないけど

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする