たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

ソフトウェアやサービスの何が重要なのか

ソフトウェア、サービス: ユーザーに使われるもの
ユーザーに価値を提供するもの

価値そのものを生む場所、価値を生むことを実現する技術
スーパー黒子

DDDにおけるドメイン: 価値の源泉

ソフトウェア/サービスと金の延べ棒の違い

利用に価値があるのか、存在に価値があるのか
道具なのか、資産なのか

金は存在自体に価値がある。金の延べ棒を貰ったらとても嬉しいけど、金は食べれもしないし明日の天気を教えてくれもしない。金は利用して価値を生むものではなく、存在自体が(交換可能な)価値をもつ類の存在である。要は資産。

一般に、ソフトウェアやサービスは資産(動産)、すなわちその存在そのものが交換可能な価値をもっている存在ではない。
ソフトウェアやサービスは、使って価値を生む道具である。
だから生み出す価値が全て。ソフトウェアやサービスの存在/所有自体に対する価値は小さい。
利用者が生み出す価値が全て。利用者に提供できる価値が全て。
ソフトウェアの価値は、ユーザーに提供できる価値で決まる。

ToDoリストサービスは、やるべきことリストの書き留めと引き出しという価値を提供する。
DBアクセス権を売ってるわけではない。DBを無くすことができるかどうかは価値に直結しない。

開発手法

価値を生む仕組みが完璧に構築できるのなら、それに従ったソフトウェアを書けば完全なソフトウェアができる (価値を生むことが約束された仕組みを実装したのだから)
現実には、人間は不完全。価値を生む仕組み(ビジネスモデル)を完全に予見できる人間なんかいない。
不完全な価値産生仮説に基づいてソフトウェアを書き、仮説を検証・修正し、それに合わせてソフトウェアを改修する。
この方が合理的。
この方法を取るためには、ソフトウェアの柔軟な改修を可能にする必要がある。
また、仮説の考察にソフトウェア側から貢献できればなおよい。

kuranuki.sonicgarden.jp

ソフトウェアが占める、ユーザーの価値産生における重要度、もポイント。
ソフトウェアの重要度が上がれば上がるほど、開発手法を合理化する意味が大きくなる。