旧サーバー

ソフトウェアは、知的生産活動

『知的生産活動』・・・なかなか、聞きなれない言葉です。
少し古いですが、こんな記事があります。

 [url=http://gihyo.jp/lifestyle/serial/01/software_is_beautiful/0016]第16回 生産性を上げるソースコードの書き方[/url]

[quote]ソフトウェアの開発は「生産活動」ではあるのだが,建物を建てる,料理を作る,野菜を育てる,ハードウェアを組み立てるなどの生産活動とは大きく違うのだ。

建物の場合で言えば,明確に定義された「設計図」がある。そして,その設計図に基づいて土台を作る,骨組みを作る,屋根を付けるなどの「行程」を定め,それを順番に実行していく。建物がユニークなデザインをしていても,「土台を作る」などの行程そのものはどの建物でもほとんど同じだ。そのため,100坪の建物の土台を作るにはどのくらいのコンクリートと人手が必要で,期間がかかるのかという見積りは難しくない。実際の作業も,天候などに左右されることはあるが,ほとんどの場合見積り通りの期間とコストで完了できる。

一方ソフトウェアの場合は,設計とコーディングが切っても切れない関係にある。良いソフトウェアを作るためには,プロトタイプを作りながら徐々にアーキテクチャを固めていき,実際にソフトウェアを走らせて問題点を洗い出しては,アーキテクチャや仕様に変更を加えていく,という作業が不可欠なのである。[/quote]

私も例え話でやってしまいがちですが、全然違うものなのです。

[quote]なぜソフトウェアがこんな特徴を持っているかに関してはいろいろな説明のしかたがあるが,すべてがデジタルであるソフトウェアの場合,建物における「建築」,ハードウェアにおける「組み立て」行程のコストがゼロである,という説明が私は好きである。そのためソフトウェアの製造コストは,建物やハードウェアで言えば「設計図を書く」,料理で言えば「レシピを作る」という,クリエイティビティが必要な知的生産活動に100%のコストが集中している。それゆえ,建物を建てるときのように「複数の行程に分割して,それぞれの作業コストを見積もる」ことが難しい。[/quote]

この表現は、正しいと思う。
私は、『伝統工芸』とか『職人作品』と言うこともあるが、言いたいことは↑のようなこと(笑)
つまり、ソフトウェアは『知的生産活動』の塊なのです。

山形県米沢市の伝統工芸に『お鷹ポッポ』という笹野一刀彫があります。
職人が、喬木を特殊な刃物で上手に作り上げていきます。
こういう感覚とソフトウェア開発は似ていると思います。
おそらく、設計書を書いて大量生産させることは可能かもしれません。
でも、職人が1つ1つ作りあげ、その独特の味や気品が生まれます。
職人一人ひとりが、『知的生産活動』を行っているのです。
だから、誰でも最高傑作を作れるかというと、そうではないと思います。

[quote]ソフトウェアの生産性を上げるためには,プロジェクトに関わる人全員に,この「ソフトウェア作りはクリエイティビティが必要な知的生産活動である」という事実をちゃんと認識してもらう必要がある。[/quote]

当事者じゃないと、分かってもらえないだろうなぁ。
この業界、ムズイ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Lineage再開?!

2013年2月5日

MySQLからMariaDBへ

2013年2月9日