http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html
を読み返したり。
こないだ書いたのはちょっと紛らわしいから:
計画を立てる
要件を洗い出す
見積もりを出す
プログラミング
コーディング
テストする
としましょう。
そういえば、不思議なことに、開発プロセスの話でプロ
グラミングっていう言葉が出てくることは少ないんです
よね。残念なことです。
一般にはプログラミングとテスティングは別物だとされて
るんだけど。最近はユニット・テストも広まってきたし、
そもそもプログラムを書いて終わりを確認しないなんて
ことはないわけで、プログラミングにテスティングを含め
ちゃっても問題ないでしょう。
だから、大雑把にいえば、ソフトウェア開発というのは、
『計画を立てて、プログラミングする』っていうことです。
で、もうちょっと詳しくいえば、『要件を洗い出して、
見積もりを出して、コーディングして、テストする』って
いうことです。
ただし、基本的には、要件策定、見積もり算出、プロ
グラミング、コーディングっていう順番で進むんんです
けど、その順番が変わることもあって、それはそんなに
珍しい話じゃなくって、それが悪いわけでもないという
こと。
たとえば、テストするときに仕様の抜けが見つかったり。
そうしたら要件から見直さないといけなくなる。そもそも
要件を洗い出すときも、テストのことも考えておいたほうが
いいし。そうでないと要件を実現できたかどうか決定
づけるものがないから。
そういうふうに、1つの活動から他の3つの活動に常に
フィードやフィードバックがかかる。いってみれば、
そっちのほうが現実というか、正常というか、健康な
状態。どっかでフィードやフィードバックが止まっちゃう
ほうが不健康。
これがソフトウェア開発を『活動』っていう面から見た
基本なわけ。全体像といってもいい。
こういう基本をほっぽっといて、やれツールがどうたらとか、
そういう話が多すぎるんですよ。くだらなさすぎる。
それと、agileっていうのは、お気楽方法論じゃないからね。
agileっていうのは現実に対応するためのものであって、
そのためにはやっぱり考えないといけないんだよ。
--
いや、だから、Daveがいう『ツールを愛せ』っていうのは
正しいんだけど。それは彼が基本を知ってるからであってね。
その前に『ソフトウェア開発を愛せ』っていうのがあるわけ
でしょ。でなきゃソフトウェア開発で考えたり悩んだり
できないでしょ。
Copyright © 1905 tko at jitu.org