SSブログ

社内の常識は世間の非常識(2) [プログラマー現役続行]

これだけ情報化社会になっても、最近、つくづく思うのは、ソフトウェア開発においても「社内の常識は世間の非常識」ということが多々あるということです(「社内の常識は世間の非常識」)。

ソースコードのコミットと担当モジュールの開発完了 [プログラマー現役続行]

ソフトウェア開発においては、Subversionなどのソースコード・コントロールを使用します。各開発者は、割り当てられたコンポーネントやモジュールの開発を行う行います。さらに今日では、テスト駆動開発によるテストコードの作成を行い、そして、継続的インテグレーションによりテストを実行することで開発されたソフトウェアの品質を確保していく訳です。

このような開発では、開発者が担当部分の開発が完了したと報告するのは、テストコードも含めてすべてコミットされて、開発成果物がソースコード・コントロールのリポジトリに入っており、継続的インテグレーションもパスしている状態です。

1980年代までは、資産としての自動実行可能なテストコードの整備という考え方はなく、テストコードは使い捨てでした。さらに、継続的インテグレーションはおろか夜間ビルドという考えもない時代だったりします。そして、開発者者は開発したソースコードを自分だけの環境に持っていて、それでもって開発が終わったと報告したりしていました(もちろん、その後にビッグバン・インテグレーションという悪夢が待っていたりするのですが)。

時代は、すでに2010年代に突入しています。しかし、ソースコード・コントロールへソースコードをコミットせずに開発終了と報告することを許す開発プロセスと、そのことが当たり前だと思っている開発者の集団としての開発組織が存在することは、残念ながら日本でのソフトウェア業界の現状なのかもしれません。

※ このような開発組織内で様々な指摘を行うと、開発のリーダでさえ単に怒られているとしか受け取らなかったりすることがあります。指摘の方法にも問題があるのかもしれませんが、ソフトウェア開発における基本ですから、基本の指摘に対してリーダークラスが現場の開発者に徹底できなければ、部外者が指摘しても駄目だったりします。