2012年4月10日火曜日

わいわい流品質の作り方?

Androidアプリを作る1デベロッパーとしても非常に
興味深いテーマが品質です。

昨今では、

・品質は上流工程で作り出すものだ
・プロセスが重要だ
・品質はマネジメントするものだ

などいろいろと言われ、実行している方々などを目に
しますが、いっこうに効果が現れていないというのが現状だと
思います。


そもそも、
「設計を上流行程」
「実装を下流行程」
などと表現しているところで、非常に違和感があります。

設計がなぜ上流なのか?あるいは単価が高いのか?
実装がなぜ下流で単価が安いのか?
これって間違っていると思いませんか?

わいわいは、そもそも設計が上流、実装が下流などと
している段階で、品質なんて考えてないのでは?
なんて思っちゃいます。

確かに、設計がきちんとしていれば防げたものは
あると思います。

ただ、よほどの天才でない限り、あるいは、時間が
無限にある方でない限り、設計ですべての事象や動作
を把握し、洗い出すことなんて出来ないと思ってます。

だって、目の前に「モノ」がないんですから!


では、どうやって品質を上げていくか!
それは、考えながら実装を進めることをいつも実践しています。

もちろん、大まかな動きや機能なんかは事前に考えるのですが、
(まぁこれをちまたでは設計とニアリイコールかとは思います)
実際の動作は、実装していく段階で考えながら作ります。

特にバグとなりやすい部分って、ちまたでいう設計段階では
わからない部分であったりする事が多く、実装していく中で
あ!ここはこうしないとまずいなとか、ここはこんな構造に
しないとまずいなとか、思いつくというかひらめくというか
気づく部分が往々にしてあります。

また、ここはちょっとまずそうだから綿密にテストしないと
だめだなとか、実装段階で気づくものも多くあります。

なので、わいわいは、考えながら作る、つまり、
設計をしながら実装する
というスタイルをとっています。

つまり、設計者=実装者となる事が一番の理想型かなと
考えています。

そういった意味で、上流行程が・・・下流行程がなんて
いうのは意味がなくて、上流も下流もなく、
「考えながら作る」
ってのがわいわい流品質向上策です。

うーん、評論家や文章書くプロの様にうまい文章ではない
ので、うまく伝わるかどうかかなり疑問な所では
ありますが・・・

まぁ、大きいプロジェクトなどの場合にはまた違った
観点が必要になってくることは理解しています!


ソフトウェアを作るにしても、システムを作るにしても
もの作りなわけなので、もの作りに上流も下流もないと
強く思う昨今です。

分業化が進んで、考える人、手を動かす人(=考えなくてもいい人)
なんていう考えが浸透していますが、なんかこの
考え方に非常に違和感を感じています。

ここで私の持論を披露します

「技術者は職人である」

一人一人が職人であり続けるため、日々切磋琢磨して
一人一人がそのレベルが少しでもあがっていくような
日々が理想ですね^^

ただ、技術は何のために身につけるのかを忘れては
なりません!!!

これは日々わいわいが事あるごとに口にする事と
関係がある事ですが、ユーザーさんのため、お客さんのため
もっと言えば、直接は関係がない、誰かのため
であることを忘れてはいけないと考えています。

これを忘れると、独りよがりになってしまいますから・・・

いささか話題がずれましたが、
以上、わいわいが考える、品質の作り方でした!