BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Venkat Subramaniam氏が日々のソフトウェア開発の事実と誤信ついて講演

Venkat Subramaniam氏が日々のソフトウェア開発の事実と誤信ついて講演

ソフトウェア開発は、やりがいがありとても楽しい事だが、チームがITプロジェクトで成功することを妨げるいくつかの要因がある。これらの要因はたいていツールや技術ではなく、ソフトウェア開発プロジェクトの成功に影響を与えるのは人間である。Venkat Subramaniam氏(リンク)は日々のソフトウェア開発の事実と誤信について講演した。彼は先ごろ行われたCodeMash 2009カンファレンス(リンク)で基調講演を行い、開発者やプロジェクトマネージャがプロジェクトを確実に成功させるために気をつけなければならないことについて話をした。

以下は、Venkat氏が基調講演で語った、ソフトウェア開発における誤信である。

もっとお金と時間があれば問題は解決するだろう:
Venkat 氏は、プロジェクトに取り組む際は「ビジネスの目的」を明確にすることが重要であると述べた。彼は、プロジェクトで実装された機能の64パーセントはめったに使われず、プロジェクトの期間が長くなるほどプロジェクトが成功する確率が低くなる、という統計を示した。ソフトウェア開発者は、彼が「優れた実際的な価値のあるソフトウェア」と呼ぶものを開発する必要がある。
 

これほど大きなベンダからのものだから、優れたものである:
彼は私達には本当にEJB(リンク)が必要だったのかと疑問を呈した。EJBによって(時として)開発は複雑で重いものになった。開発者達はこうした状況について(ほとんど全てのユースケースにEJBを使用したことを)いくぶん非難される。EJB採用の理由の一つは(ニーズではなく)競争によるものであった。ニーズが技術を決定するべきであり、技術がニーズを決めるのではない。そして、新しい手法よりも先に標準化が起きるのは良い進化ではない。Rails(リンク)やSpring(リンク) のようなフレームワークは、標準化前の新しい手法が、ベンダよりもむしろコミュニティが主導する、有用で実際的な価値のある開発フレームワークをもたらすことを示した。
 

オフショアを行っているのは、コストが削減できるからだ:
Venkat氏は現在のオフショアモデルと、それが実際に機能しているのか否かについて話した。彼はこのモデルを、企業が全てのことをアメリカで行い、私達がまだ成功していなかった場合と比較した。そこで彼は、なぜ皆さんは設計者とプログラマの間に海を挟み、異なる結果を期待するのか?と尋ねた。オフショアモデルは、大部分は「減らしたために失敗した」戦略となっている。彼は、プロジェクトマネージャが知的でスキルがあり飲み込みの早い開発者を雇い、彼らに最も素晴らしいツール、高質であまり形式ばっていないツールを与えてはどうかと提案した。能力の高い開発者達の小さなチームは、平均以下の開発者で構成される大きなチームよりも優れている。オフショアは定着しており、世界規模の素晴らしい才能を利用しなければならない、と彼は主張した。


動的言語は安全ではない:
彼は強く型付けされているJavaについて話し、Javaでコードを書く場合に気をつけなければ、Ruby(リンク)やGroovy(リンク)がそうであるように、依然としてClassCastExceptionは発生する。言語自体によって強く型付けされることでコードが改善されるわけではない。コンパイラは有用だが、しばしば過大評価されている。というのは、プログラマの意図を完全に検証できるコンパイラは無いからである。彼は開発者にScalaのような新しい動的言語を利用することも勧めた。
 

静的型付けはコードの明快さに不可欠である:
Venkat氏は、開発者はどんな言語を使っても、可読性があり、わかりやすく保守性のあるコードを書くことが出来ると述べた。彼はきれいで保守性があるコードを保つために、以下のプラクティスを提案した。

  • メソッド/クラスの名前を説明的なものにする。
  • 簡潔なクラス/簡潔なメソッドを書く。
  • チームがお互いに影響しあい、コミュニケーションをとるようにする。
  • 単体テストを自動化する。単体テストには冗長な可能性がある。これにより、正しく設計せざるをえなくなる。
     

彼はソフトウェア開発のライフサイクルにおける単体テストの重要性についても論じた。単体テストは実行するのと同等のソフトウェアであり、それほど優れているにもかかわらず、多くのプログラマが実際には使用しない。単体テストはコードの質の改善を助け、もしコードがテストしやすければ、設計が優れているのである。Venkat氏はソフトウェアの中に「意図」を表現することが重要であることを強調し、講演を結んだ。

原文はこちらです:http://www.infoq.com/news/2009/01/venkat-codemash-keynote

この記事に星をつける

おすすめ度
スタイル

BT