この記事には、ソフトウェア開発を経験した中で得たこと・感じたことを備忘録として残す。
読みやすい文書でもないし、正解が書いているわけではない。
設計(デザイン)についてもう少し考える
日々の悩み
ソフトウェア開発というのは、とても金のかかる仕事である。
金がかかるといえば、人生においての最大の買い物は住宅購入…は、異論が少なかろう。
例えば注文住宅の建築を依頼した場合、ピンキリではあろうが「3千万円くらいじゃね?」あたりが一般的だろうか。
さて、3千万円とはどんな金額だろう?
これまたピンキリではあるのだが、システム開発事業者に月単価100万円で準委任契約で業務委託したとしよう。
(感覚的にはそこそこいい値段であるので、そこそこ優秀なエンジニアを期待できる)
3千万円あれば、30人月規模で開発出来そうである。
早速ググってみた。
(引用: IPA/SEC ソフトウェア開発データ白書(2016-2017)https://www.ipa.go.jp/files/000057877.pdf )
30人月≒5000人時として見てみよう。
(1日8時間、土日はしっかり休んでもらうとして8時間20日×30人月=4800人時。まぁ1日2~30分の残業には目をつむって5000人時)
相当大雑把だが、ざっくり5~50KLOCくらいの範囲だろうか。
中規模程度のシステム開発をやる金があれば、家が建つということだ。
(ちなみに人件費以外のもろもろの経費を無視しているので、本当はもっとかかる)
何が言いたいかというと、とにかく無駄な作業にコストを使いたくないのだ。
###文書作成にかかる労力
ソフトウェア開発は、どうにも文書作成との戦いになりがちだ。
なぜか。
もちろん書物となった仕様や設計は、エンジニアの道しるべとなり、議論の材料となり、将来保守担当者の拠り所となる場合が多い。
その重要性は否定しない。
だが、どうだろう。
エンジニアの低い技術力からくる顧客・マネジメントの不信感を避けるため、しぶしぶ書いている文書はないだろうか?
価値のある文書はウェルカムなのだが、価値のなさそうな文書をよく見る。
この傾向は、V字下側の文書(詳細設計書、単体試験仕様書)で顕著だ。
こと詳細設計については、良い文書と悪い文書がはっきり分かれるので、プロジェクトとしてしっかりと方針を決めておきたい。
デザインの語源
先日投稿した記事でも行ったが、外の世界からソフトウェアの世界を見てみると、新たな発見があって良い。
今回は、設計=Designの語源を考えてみようと思う。
デザインという言葉をWikiで調べると、すぐに語源が分かった。
デザインの語源はデッサン(dessin)と同じく、“計画を記号に表す”という意味のラテン語designareである。
(引用: フリー百科事典ウィキペディア(Wikipedia)https://ja.wikipedia.org/wiki/デザイン )
なるほど、計画とはとても複雑で、記号に表さないと整理がつかない。
例えば人生計画を立てようとしたら、原稿用紙100枚に文章を書きなぐったりはしないだろう。
Wikiには次のようにも書いてある。
また、デザインとは具体的な問題を解き明かすために思考・概念の組み立てを行い、それを様々な媒体に応じて表現することと解される。
(引用: フリー百科事典ウィキペディア(Wikipedia)https://ja.wikipedia.org/wiki/デザイン )
これはしっくりくる。
本日は以下をまとめにしようと思う。
ソフトウェア設計=目的(問題解決)に対する手段(ソフトウェア)の組み立ておよび表現
書いてみたら、普通の事だった。
当たり前のことを、当たり前のように腹落ちしている状態は、きっと良いことなのだろう。
眠くなったので本日はここまで