Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

ソフトウェアの品質を上げるために

ベタなタイトルだな。で、先に言っとくけど答えはない。
 
何をやるとソフトの品質は上がるんだろうな、とあらためて思う。
最近、こういうことを考えてなかったな、と思う。
 
うちの部署は「ひとりプロジェクト」が多い*1

レビューだって、部署内でしたらいいのはわかっているけど、
わざわざ何も知らない別の案件のレビューに
自分の時間を使って参加したい人なんていないよな、と思うし、
みんな自分のプロジェクトがあるんだから、
「ちょっと(よその)レビューしてよ」ってのも難しいし。
 
そもそもレビューって効率がよいと思えない。
ましてや、他のプロジェクトをやっている人に、
どこまで精度高く不具合を発見してもらえるというのだ?
 
結局、自分で動かして自分で解決するしかない。

バグの原因なんてしょーもないミスってことが多い。
 
何をシェアして、何が再発防止になるというんだ?
しょせん「ケアレスミス」なんだよ、と当人は思うだけだ。
いや、実際、その程度のミスなんだよ、バグって。

仕様の不理解とか、コミュニケーションの問題って、
もっと違う現れ方をするから。
だから今はそこはふれない。
 
 
バグの原因って、結局は「ケアレスミス」であって、
だからこそ「レビュー」とか「(他者による)テスト」とかで
他人の目にさらして、なんとか誰かに見つけてもらうしかなくって、
でも、小粒な「ひとりプロジェクト」ばっかで、
わざわざよそのプロジェクトのことなんてかまってられないし、
じゃなくって、レビュー等の必要性は理解するけど、
目の前の自分のプロジェクトだってうまくいってないのに
他のプロジェクトのことなんてかまってらんねーよ、って思うだろうし、
実際そうだろうし。
 
 
もう一つは、やはりちゃんと動かしてみることしかなくて。
動作確認が不十分なことは意外と多い。特にデグレのときには。
だから、繰り返しテストできる環境をなんとか用意して、できる限り動かして確認する。

 
 
まあそんなわけで、
地道に何かをしないといけないのかもしれないけど、
説得力のある取り組みのアイディアをみんなに示せないでいる。
 
 
だから、何か取り組むとするならば、
ぜったいこれやったら俺らうまくいくよ、ってやつじゃないと
みんなやらないよね、って思うんだよ。
ひとつ間違うと、「銀の弾丸」探してるみたいになっちゃいそうだけど、
そうじゃなくて、みんなで納得して「それ、効果ありそうじゃん」て思えるやつ
探さないと、って思うんだよ。
で、これを「ふりかえりしようよ」とか「みんなで考えて」なんて言って任せちゃうと、
たぶんそれは「イケてなく」て、
もっと強くみんなを動かせるようなものを私が打ち出さないといけないんだと思うのだ。
 
 
不具合なんていつも同じことの繰り返しで、ちょっとしたミスが多い。
 
漠然と、ではあるけれど、
「繰り返すこと」「エコシステム」で、
各自があまり負担を感じることなく、
いいノウハウややり方を循環させることができないか、ということと、
またまたバズワードだけど、
いい「メトリクス」を見つけて、
うまくプロジェクトの状況をモニタできるようにできないか、
と、ぼやーっと思っている今日この頃なのでした。
 
 
あー、なんだか、目先のことばっかで、もっといろんなことを考える時間がほしいよー!!
というか、疲れてて、アタマ回ってないし。 もっとねたい。
 
 
メトリクスて、単によしあしを評価するもんじゃなくて、
状況を把握し分析するためのもの、って思って使わないと、
意味のあるモニタにならないよな。勘違いしないようにしないと。

*1:まぁ私が管理職なので、私がPLだったりPMだったりで、何かしら「見ている」わけではあるけれど。コードも見てたり見てなかったりだし。QMSは持っているけど、私の関与の具合はプロジェクトそれぞれで違っているのが実情だ。