Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save asufana/8310414 to your computer and use it in GitHub Desktop.
Save asufana/8310414 to your computer and use it in GitHub Desktop.
作らないで済むならそれに越したことはない

作らないで済むならそれに越したことはない

  • 社内勉強会資料

ソフトウェアは資産なのか?

ソフトウェアは資産なのか負債なのか - プログラマの思索 https://www.readability.com/articles/wwdszj2n

  • ソフトウェアは資産化されるが実際には負債ではないのか?
  • 「ソフトウェアも同様に、資産と思って買い物をしたはずなのに、実際は多額の借金をかけて作ったものであり、実際に使って元を取らなければ、単なるガラクタだ」
  • 「そんな現実が明確になってきたからこそ、アジャイル開発のように、ソフトウェアを定期的に価値あるものとして証明できる開発スタイルが必要になってきたのだろうと思う。」

⇒ 作りゃいいってもんじゃない


作ってから更に3倍のコストがかかる

IT関連コストの75%は稼働後に発生する - 日経BP https://www.readability.com/articles/7twjb0p9

  • 企業におけるIT関連コストのうち、新規開発費用は24.3%
  • その後の保守開発+運用管理コストが75.7%
  • 100億以下の企業でみれば、新規開発コストは更に下がって20.7%

⇒ 作ったら負け?


ソフトウェア開発でスタートアップが大手企業に勝つにはどうするか?

スタートアップにおけるソフトウェア開発の無駄をなくす大事な3つの考えかた - ソニックガーデンブログ https://www.readability.com/articles/qjwyqpu1

  • スタートアップには体力がない
  • 大企業と違って、一度開発の落とし穴に落ちたら一巻のおしまい
  • いつまでも完成しない・完成しても誰も使わない・直したくても直せない
  • 落とし穴にはまらないためには無駄をなくすこと
  • 「本当に高い生産性を発揮する方法は「なるべく作らないこと」です。作ることはコストがかかることで、ソフトウェア開発をしないでも、ビジネス上の価値を出せるのであれば、まずはそれを優先すべきで、開発しないで済むにはどうすれば良いかを考えます。」

⇒ スタートアップ ≒ 予算のない社内情シス開発、とも読める

⇒ 作らないで済むならそれに越したことはない


開発の目的をもう一度見直そう

ソフトウェアは完成しても価値はない - ソニックガーデンブログ https://www.readability.com/articles/sew8mtu6

  • アジャイル開発の本質は「アジャイル開発では当初に想定した機能を”全部”つくらない」こと
  • 「全てを作らないことで、変化に対して柔軟に開発していく」
  • 開発の目的はなんなのか?「ソフトウェアの完成」なのか「ビジネスの成功・成長」なのか
  • 「ソフトウェア開発に関わる人たちの多くは、作ることで価値があると勘違いしています。」
  • 「「ソフトウェアの完成」ではなく、「ビジネスの成長」を望むのであれば、作らないことにも価値があるのです。」

⇒ 費用の面からも、目的の面からも「作らない」という選択肢は非常に重要

⇒ エクストリームプログラミングでは1999年から既にYAGNIとして提唱とされている

http://ja.wikipedia.org/wiki/YAGNI


まとめ

  • 余計な機能は実装しない
  • 自分の時間を浪費するだけでなく、それを読む他人の時間も浪費させる
  • 最適化は2回目に同じ問題にぶつかった時に考える
  • と言ってもトランザクションスクリプトで記述すればいいわけではない
  • 定石となるリファクタや構造化は押さえて、オーバースペックな実装をしないということ
  • コードだけでなく、要件もユーザリクエスト通り馬鹿正直に実装しないこと
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment