近年、ハードウェアの性能向上などにより、IT業界をめぐるインフラは、ようやく市場の要求に耐えうるようになってきた。以前はプラットフォームの陳腐化によって5年と持たなかったソフトウェアの平均寿命は、ここへきて徐々に延びつつある。 このような状況の中でソフトウェアに求められるものは、繰り返し行われる機能追加に耐えうる「拡張性」と、長期に渡って品質を保てる「保守性」だ。これらの課題については、クラウドのような分散コンピューティング技術や、オブジェクト指向デザインのような設計思想といった大きな枠組みの中で数多く議論され、ソフトウェア技術の進歩を押し上げてきた。「実際の現場においてこれらの課題をインプリメントするのは、システム設計者やSEといった上流工程を任された人間の役目である」と一般に言われている。 彼らのアウトプットは、基本的に文書(Document)だ。文書は日本語や図から構成されており、読
![ソースコードの質:気難しいプログラマ:エンジニアライフ](https://cdn-ak-scissors.b.st-hatena.com/image/square/c7f3ec6bb6d60d55b2783d915b9e45138f9c8c96/height=288;version=1;width=512/https%3A%2F%2Fel.jibun.atmarkit.co.jp%2Ffor_sites%2Fimages%2Flogo_el_1200x630.png)