2020年11月24日火曜日

2013年「ソフトウェア開発プロジェクトをとりまく6つの誤解」→俺氏「いうほど誤解でもないんだけどね」

いや別に反論ではないんだけどね。おもに経営者層目線で書いてるようなので、現場から観るとそうでもないという。

ソフトウェア開発プロジェクトをとりまく6つの誤解〜プログラミングを経験しないとわからないこと | Social Change! https://kuranuki.sonicgarden.jp/2012/08/post-78.html

誤解:既にあるソフトウェアを流用した方が速く作れる
  • 流用元の品質と、改造差分と、作業者の実力次第。
誤解:ソフトウェアはハードと違って後から容易に直せる
  • マジレスすると「容易」の「定義」が先。
  • CDとかDVDとか書籍出版に比べたら容易といわざるを得ない。
    • 工場ラインも動かないし、活版並べて20万部刷っちゃったとかもない。
  • 修正後に稼働に関するリスクは、別層の問題。
誤解:誰が作っても中身は同じ品質になる
  • 実力が近ければ概ねそうなる。
    • ブログ主は「美しさ」と言ってるが、「平易」な実装ができることも実力の一つ。plain is best
  • プロジェクト全体として、メンバー個々人の実力の(大きな)違いを容認することは、属人的な対応をしてるのと同義だと思われる。
    • 法人格の仕事としては望ましいとはいえない。
    • 個人の癖は、本来はソースレビューなり、ペアプログラミングなり、最近ではプルリクエストなりで吸収できるし、そうするべき。
誤解:共通部品から先に作ることが出来る
  • 事実。
    • 古くは JavaBeans とかね。
    • 各種フレームワークの存在とその需要がそれを証明している。
    • ただ流石に、仕様の全貌がつかめてないと非現実的。
誤解:人を増やせば一度に沢山の機能が作れる
  • 事実。
    • 本来Javaのような固い言語はそういうのを目指していたはず。
      • ビルドが通れば、実装の理論に問題はなさそう。とは言える。
    • ただそれが期待通りに動くかどうかは別層の問題。
    • 人数に対して生産性が1次関数的に増えるかどうかは別層の問題。
  • オープンソースの大規模グループは、ある意味その証明とも言える。
誤解:正確な見積もりを出すことが出来る
  • 「正確な」の定義が先。
  • 1ヶ月スパンならそうそう外さないでしょう。
    • そして経営層が最初期に求めてる情報量もそのぐらいのはず。