成果の出ないパターン

以前は、土日の二日間の休日がえらい長いように感じていた。二日あれば何でもできるように感じていた。しかし、最近は短く感じる。困ったことだ。

仕事がかなり忙しくなってきて、平日デスマ状態になってきた。まあ、良くあるように自分の見積もりが甘かった。普通ならば、正当な理由(機能が増えたなど)があれば延長できるものだが、今回は期末なのでどうやっても延長できん。それを考えていなかった自分の愚かしさを笑うしかない。これをやらないと、来期の立場が苦しくなるので頑張らないといけない。

それにしても、僕のことを技術力があると錯覚している人がいる。というか、うちの上司が多分そう思っている。きっとソフトウェアの世界のことが良く分からないので、不思議なことが起こると、一人の魔法使いがわけのわからないことをやっているように見えるのだろう。僕が、相対性理論の本を読んで、なんか知らんがアインシュタインは天才だと思うのと似たようなものだろうか?

でも、ソフトウェア開発の成果って技術力とは直接的には関係ない。もちろん超絶的なプログラマというのもいるのだが、少なくとも僕はそういう系統ではない。どこかのブログで、「使わない技術を身につけることは、不良在庫を抱えることと同じ」と言っていた人がいた。非常に挑発的な言葉だけど当てはまることも多い。在庫を減らした方が利益率が良くなって会社は発展できる。その結果、売上も上がる。ソフトウェア開発の現場でもそういうことが起こっている。様々な技術が溢れ返っていて、使える技術とそうでないものがごっちゃになっている。Java技術者がJ2EEと格闘している一方で、mixiはてなみたいにperlで作られたサービスが大規模展開されたりする。一昔前のように、「しょせんperlだから。。。」などとはもはや言えない。どちらを使っていようが、三年もしたら技術の流れは確実に変わっている。うちの上司に、「成果物の品質を上げるために、僕は、自分の技術力を上げすぎないように意識して抑えています」とか言ったら驚くかな。

というわけで、もっと重要なことは、自分を知ること、トレンドを知り、そのトレンドの本質を理解すること、適切な技術を採用すること、開発項目を厳選して地雷を踏まないこと、などにある。そしてもう一つは、モチベーションを維持して成果を継続して出すプロセスにある。

以前の僕を見てると、平日の間に土日の開発項目を決め、土日に開発を行っていた。これが自分にとって良いペースだった。開発にしろ、調査にしろ、プロトタイプ作成にしろ、たいていの作業は、二日で切り出せるものが定義できる。それができないというのは、要求分析が良くできていないことだと思う。まあ、この二日というのは、要求分析時の見積もりで、実際は土日の二回に渡ることも多かったのだが、モチベーションは維持できていた。

最近は、土曜日になって、改めて何をやろうか考え出して、「あれやろー」となる。しかし残りが一日なので成果が出ない。そして次の週になると「あれはどうだったかなー」とか言って、また新しいことを考え出す。

ちなみに、今日は、以前の日記で書いた「簡単操作説明ツール」というものを考えていた。このツールは、「共有SWFビューワ」と「操作録画機能」の二つに分けることができることに気が付いた。JavaSWF2のライブラリをいじってみて、何ができるかを調べた。そして録画の仕組みをだいたい考えた。しかし、順番としては、まずは、SWFビューワを作るのが良さそうということになった。SWFのビューワの作り方を調べていたら、ActiveXを使うのでWindows専用になってしまうことが分かった。それでも作る価値があるかどうか悩んだが、作ってみようかなという気になった。

来週違うこと言っていたらごめん(笑)。