Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

SIのモノづくり。

最近友人から作ったアプリのRvをしてくれと言われてよくそのアプリを触ったりするのですが、やっぱり作った後になって要件がポンポンと出てくることが普通なんですよね。プロトタイプを作ってその後で不満が出てきて改修する、基本これの繰り返しで、僕が大学時代にサークルのHPを作ってた時なんてまさに毎日夢中で改修をしていた記憶があります。
そこで改めて思うことは、このSIの一括請負って運用を回す前に完成品を作り上げるわけだから、サンクコストが発生してしまうということです。改修は勿論その後の運用以降でまた開発サイクル回せばいいのですが、たとえば10作ったものを1に戻すような改修はかなり難しい。初期投資が無駄になってしまうサンクコストの考え方が引っ張って、更改という大きな舵を切らない限りは意思決定を顧客側で行うことはかなり厳しい。
よくSIは建築に例えられますが、初めて聞いた時から僕は違和感を感じていました。だって家の用途ってかなり限られていて、何が必要でどのような機能がいるのかって基本はっきりするじゃないですか。それは僕らの生活にかなり近いモノだからだと思うのです。けど、ソフトウェアってどうかと言うと、用途なんて目的によって無数にも広がっていて、ユーザーにとって基本身近なものではないので要件を明確化できない。モノが出来上がったあとゴミになってしまうことだってあるわけです。扱ってるモノの性質がそもそも違うじゃん!と思うわけです。そうした要件を明確化することが難しいソフトウェアを運用に乗せる過程を踏まずに完成させてしまうことは、本当の価値を生み出せているのかと疑問に思ってしまいます。ある種、失敗が許されないモノづくりをしているわけですが、モノなんて試行錯誤の末に初めて価値付けることが出来るのではないかと、ひよっこのSEは思うわけです。
きっとアジャイルはそういう意味では適合性のある開発手法なのだと思うのですが、問題となるのはもっと手前の契約形態の段階なのではないかと思います。

僕は要件定義を専門にやっていますが、最初の要件定義で全てを決定することには限界があると思っています。
そしてその段階で人月という単位で見積もり、顧客にとって多大な投資が行われることに違和感を感じます。

SE2年目の所感でした。
Remove all ads