PASONATECH


[ホーム]
[最新エントリー]
[あすなろBLOG]
[あすなろNEXTBLOG]
[あすなろカウンセラーBLOG]
[インタビュー]
[スペシャルコンテンツ]
[テックスペース]


踊るプログラマ物語


前へ   次へ

大谷 弘喜

2008年10月09日

アプリケーションのソースコードは負債のこともある

昔々,「ザ・ゴール」と言う本を読みました。製造工程で部分最適化じゃなく全体最適化をしましょうと言う内容です。その中で在庫は負債であると言うことが書いてありました。まあ,手っ取り早く言えば在庫は悪と言うことです。これは基本的にアリエルの社内のお話です。

アプリケーションの開発では,日々,膨大な量のコードが生まれます。一日に一人の人が千行のコードを書くこともあります。 で,テストを行ない,出荷されるのですが,テストの途中でコードにバグが見つかることはよくあることです。出荷の間際にバグが見つかると,リリースを延期するか,その機能を削るかと言う選択にせまられます(実際にはもう少し選択肢はおおいですが)。

なるべく機能を落とさない方向で調整しているのですが,そのリリースでは機能を削ることが必要だと判断されれば,そうします。そうやって,出荷されない(できない)テストにパスしていないコードができます。ただし,そのリリースでは機能が落ちだけなので,次のリリースには復活する必要があります。まあ,機能を落とすのはよくないことで,落ちちゃうのはエンジニアの力不足のことが多いので,社内ではとても恥ずかしいことになっています。すくなくとも,誰も何も言わないですが自分の力不足と認識してほしいです。

落ちた機能は,リリース後速やかに復活してテストにパスする必要があります。 理由は,テストにパスしていないコードは誰にも何の価値も提供しないからです。そんなコードは単なる趣味です。次に,人は忘れる生き物です。自分のコードもすぐに忘れます。昨日のコードと一年前のコードでは,昨日のコードの方がメンテナンスし易いです。なので、すぐに機能を復活してテストにパスすれば,最初の実装コスト+今回の修正コストになります。それが時間が経つにつれて思い出すコスト,自分のコードを理解し直すコストが発生して,当初の予定してい工数をどんどんオーバーします。

このことは,機能を実装してからテストをするまでの時間でも同じことが言えます。実装とテスト,修正までの時間を短くしないと,余計なコストがどんどん発生します。

まあ,僕は物覚えが悪いので,自分の書いたコードもすぐに忘れるからかもしれません。 


前へ   次へ

最新エントリー


大谷 弘喜
2011年04月19日
AsciiのHadoop & NoSQL
大谷 弘喜
2011年04月14日
プログラマにとって椅子は命
大谷 弘喜
2011年04月12日
血圧計で血圧を測る日々
大谷 弘喜
2011年04月08日
3月分の電気代
大谷 弘喜
2011年04月05日
iPadのi文庫はとってもできる子だった

前へ

バックナンバー




ページトップ


[ホーム]
[ブログコンセプト]
[個人情報]
[著作権]


i-mobile

ITエンジニアの仕事見つかる!PASONA TECH

Copyright(C)2006-2011
Pasona Tech. inc.
All Rights Reserved.