SSブログ

組織の生産性 [ソフトウェア開発組織が持つべきカルチャー]

プログラマー”まだまだ”現役続行 (技評SE選書)

プログラマー”まだまだ”現役続行 (技評SE選書)

  • 作者: 柴田 芳樹
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/09/04
  • メディア: 単行本(ソフトカバー)

拙著の「第12章 30代、40代の人たちへ」からの引用です。
組織の生産性

 自分自身が継続して学習を続けるというのは、自分自身の成長だけでなく、若手エンジニアや自分が属する開発組織のメンバーにも大きな影響を与えます。ソフトウェア開発では個人差は確かに大きいです。作り出すコードの可読性も含めた総合的な生産性の差には、個人差があります。したがって、長い時間をかけて個々のエンジニアのスキルを向上させていく必要があるのです。そのためには、開発組織の中に見習うべき習慣を持っている先輩や上司がいなければ、その組織の中で若手が勝手に成長するのを期待するのは無理です。

 開発組織の生産性の差は、個人差以上に大きいです。私自身は、様々な開発組織で働いてきましたし、自分自身の開発組織で若手を育成したこともあります。どんなに優秀な新卒新人であっても、間違った開発組織に属してしまうと、数年で変な癖がついてしまい、学習しないことが当たり前になったりします。その結果、経験年数が全く当てにならなかったりするのです。

 継続した学習の習慣化、読みやすいコードを書くことや防御的プログラミングの教育と徹底、コードレビューの徹底を行ってきた組織と、全く何もしなくて本人の成長に任せるだけできた組織では、当たり前ですが、開発組織としての生産性は大きく違います。

 また、1990年代まで当たり前に行われていた手動によるソフトウェアのテストを今日でも当たり前だと思って行っている開発組織と、テスト駆動開発による自動テストを行っている開発組織では、その生産性は大きな差なのです。そして、どちらの組織に属したかによって、若手エンジニアの成長は大きく異なるのが今日のソフトウェア開発の現状です。

 開発組織の生産性の差を作り出すのは、若手エンジニアではなく、30代、40代のエンジニア、マネジャー、管理職だったりするのです。継続した学習をしてこなかった人たちが、ソフトウェア開発組織の中堅となった場合には、その組織全体が成長しなくなってしまう危険性があります。つまり、ソフトウェア開発に対する誤った古い考え方でソフトウェアを開発することになる可能性が高くなります。

 たとえば、1990年代前半は、「オブジェクト指向といえば継承」ということで、差分プログラミングが盛んでしたが、それは利点よりも問題を多く作り出すということで、1995年に出版された『Design Patterns』(翻訳『デザインパターン』は1999年出版)では、「クラス継承よりもコンポジション」を主張していますし、2001年に出版された『Effective Java プログラミング言語ガイド』でも、「継承よりもコンポジション」と主張しています。「オブジェクト指向といえば継承」で学習が止まった人たちがソフトウェア開発組織内の中堅以上を占めてしまうと、今でも継承だけでソフトウェア開発が行われてもおかしくはありません。

 このように、30代、40代となっても継続した学習をすることは、自分だけでなく、自分が属している開発組織の能力にも大きな影響を及ぼすことになります。
あるファイルに記述された形式を大量に別の形式のファイルへ変換するのは本来なら変換プログラムを作成するのが当たりまえです。しかし、時間をかけて手作業で転記し、さらに転記ミスが原因で障害が発生している言い訳が、「担当者のスキルが低いから」と平気で中堅リーダーから言われると、やはり現場の担当者が組織の生産性を下げているのではなく、マネジャーが組織の生産性を下げていると再認識してしまいます。
nice!(0)  コメント(1)  トラックバック(0) 

nice! 0

コメント 1

utenmiki

楽しく読ませて頂きました。手動テストが主流の会社に勤めていますので、心苦しく感じました。
by utenmiki (2014-07-31 22:22) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0