2015-11-14

ソフトウェア品質を上げるたった唯一の方法

■背景と問題点

SI業界におけるシステム開発プロジェクトでは、ソフトウェア品質問題になることが多い。

結局、ソフトウェア品質悪化されるのは、「人」である

問題点は、知識不足経験不足な人間が大量に放り込まれプロジェクトでは低品質なクソコード(※1)を大量生産してしまう事にある。

※1:クソコードとは、可読性の低さ、保守性の低さ、コーディング規約違反テストが不十分、静的解析の指摘結果が多い、命名の悪さなどが該当するコードである

■解決方法

真っ先に思いつく品質向上手段としては、レビュー指導教育)が考えられると思う。ただ、コストがかかり浸透するまでに時間がかかるのが欠点だ。

そこで、人間感性に訴える「羞恥心」をうまく利用する方法はどうだろうか?

クソコード基準を作り、基準に満たないソースコードコミットした人物を徹底的に「晒す」ことで、

危機意識が高まり、クソコードコミットする前に見直しする結果、品質が上がると考える。

晒す」とは、クソコードコミットした人物の所属会社名と所属プロジェクトと氏名を館内放送するなどプロジェクトメンバーが一目瞭然で分かる公知の事実にすることである

月末にクソコードコミットワーストランキング作成し、食堂トイレ、休憩スペースなどの目に付くあらゆる場所に掲示することで危機意識が生まれるだろう。

人月単価交渉の際にも基準値に満たない数値が出ていることを示すことで、具体的な根拠を持った単価の切り下げ交渉も可能だろう。

朝会・夕会があるのであれば、クソコード作成者を読み上げて周知の事実とするべきだろう。

請け負った会社単位でのクソコードコミットワーストランキング作成し、会社ぐるみでの取り組みも強化させることで品質が向上するだろう。

■まとめ

プロジェクトメンバの意識が「クソコードコミットすると恥をかく」を徹底させ、

きちんとしたものを作らなければならないという意識を芽生えさせる事が一番重要である

ソフトウェアは目に見えないものなので、品質が分かりにくいが、

物作りの現場だとクソな部品を渡されれば次の工程人間が困るのは目に見えている。

物作りの現場では、誰が不良品を作ったか?を特定されて、詰められるのは当たり前だろう。

だが、ソフトウェア現場では未だそれを見ない。そろそろやっても良いのではないか?

読者の皆様はいかが考えるだろうか?

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん