2011/07/30

手、手首、腕、その他

先週末に、リリース前だからと無理をしてしまったせいで、かなり悪化してしまった。
月曜、水曜、木曜の夜は痛くて眠れなかった…
これまでに行っていた整形外科とは違う、職業病の類が専門の病院へ行ったけれど(なんと歩いて少しのところにあった!)治すなら半年は休むしかないねえとのこと。まあそうだよなあ。触診が容赦なくて痛かった…
取り合えず通院しながら様子を見ましょうということになったけれど、うーん。なんともならないだろうな。

お盆に実家に帰ったら、色々相談だなあ。

2011/07/23

三連休

は結局日曜と月曜は働いた。

月曜に会社の人とインドカレーを食べた。おいしかったなあ…カレーだな矢張り…カレーです。

カレーだ!!!

反省

一つ前のプロジェクト終わった後の反省はこんな感じだったわけだけれど。
  1. 仕様が無い
  2. ユースケースが十分に共有されてない
  3. 時間が無い
  4. 自動化されたテストが無い
  5. 手動テスト項目が無い
  6. ロードマップが無い
それぞれ振り返ってみる。

前回同様仕様はもらえなかった。
仕方が無いので、もう勝手に作っているものの実装を書こう、とボクが勝手に書き始めたりした。内部向け(というか自分のため)に書いていたのに、どうせならお客さんに見せようみたいになって、手が加わった形でお客さんにも公開された。それにお客さんが手を入れて、結局マージとかどうするのという問題が発生。そうなるのは分かってたので、渋ったんだけれどなあ…
どうするんですか、とマネージャーに聞いたら、なんとかします、といわれて、まあ当然何とかしてもらえなかった。この時点で更新放棄。残念。
できないことをできるというのは不誠実だし、炎上の第一歩なので、本当にやめて欲しいんだけれど、これに限らずそういう言動が多いので、あまり信用できない。今のマネージャーの下で働くのは、会社や仕事に余裕があるときなら兎も角、今みたいなデタラメな仕事を請けているときには、ほとんど罰ゲームじみている。まあ仕事だしやるけどしんどい。

ユースケースは、作っているものの性質上、明らかだった。ラッキー。

時間は無かった…けれど、ボクの手首が調子よければ、一人で全部できたよなあ…悲しい。
開発は二人チームだったけれど、一人はアーキテクチャの知識ゼロからスタートだったので、あまり戦力にはならなかった。まあ仕方ない。ペアプロとかできればよかったんだろうけれど、何か嫌がるし、そもそも別の場所で仕事してるっていう imihu な状況だった。imihu すぎる。
プロジェクト始まったばかりのころ、手首のことを考えると正直しんどいなあと思ったけれど、実際しんどかったなあ…もう無理、と三回ぐらい思った。

自動化テストはなし。単にできなかっただけなんだけれど、幸いなことにユースケース同様、作っているものの性質から重要度は低かった。よかったですね。

手動テスト項目は不十分な形のものはあった。しかしこれは、バイトの子の仕事なので仕方ないねえ…内容に関しては、大部分自分でテストしたので、まあ問題ないだろう。テストの記録という点では、自分もイマイチだったので反省だなあ。

ロードマップは、前回同様ぐだぐだ。これはしかし、正直ボクにはどうしようもないというのが分かってきた。どうしたもんかなあ…


正直体が限界なので、努力で何とかするみたいなのはもう無理だと思った。

にっきききき

四日分だから、にっきききき。

火曜。
曖昧だった API の仕様がある程度 fix される。何故か API の仕様に、アプリケーションの振る舞いに関する記述があったりして戸惑う。悲劇の始まり。あとテスト用に提供され続けると思っていた API が何故か本番用の実装(幸い production 設定ではない)になってて焦る。これも悲劇の始まりか。
チケットのやり取りぼーと見て、お客さん機嫌悪そうだなあと思う。フラグ。悲劇の始まり。悲劇全部この日に始まってる…
色々決まってないために、進めたい部分が進まない一日だった。

水曜。
android に入っている apache commons の httpclient は 3.x 系で、4.x 系とちがって multipart entity のサポートはない…ので自分で entity を実装していたのだけれど、boundary の長さを決める関数が typo によって、たまに 0 を返す、その結果 boundary が空文字列になるという、バギーな動作をしていた。
rails によって誤ったパースが行われたあとのログを貰う。一人うんうんうなっていたのだけれど、同僚がチラッとログを見て "----" という文字列が含まれていることから boundary が空になっていることに一発で気づいた。スゴイ。ボクはというと、一所懸命にパースがどう行われたのかをエスパーして、元のリクエストを復元しようとしていた。今思えば、rails のバージョンも分からない状態で(分からないという自覚はあったので教えろーといったりしたけど)誤ってパースされたものを復元するのは、かなり難しいはずだし、筋が悪かったなあ…同僚に感謝しなければならない。同僚っていうか、一般的には先輩に値するのでアレなんだけれど、しかし先輩後輩みたいなの別にないから、まあ同僚でいいか…
あとは API 仕様に書かれていたアプリケーションの振る舞いの扱いについて、お客さんとやり取り。結果、不十分なものが出てくるが、ボクがそれじゃ全然ダメだよ、と突っ込む前に他の人が OK ですと返してしまう。アイヤー。終電寸前までこれについて話し合い。
あと前のプロジェクトのバグ対応とかもしていた。今思うと忙しい一日だったなあ。

木曜。
終電寸前まで話しあった問題は、お客さんの返事待ってられないので、結局こちらで決めて進めることにボクが帰ったあと決まったらしい。実装面倒になるしいやだなあと思っていた案になってしまって実際面倒だった。アーキテクチャに一定の理解のない人間が選択することことごとく外れるということでしかないけれど、コレに限らずボクの同意なしに物事が進むことが多くて兎角苦労した。
異常系のテストのための API 一式を自分で実装する。
手動テスト開始。洗い出してもらったテスト項目が、テスト手順が無い上に、項目も不十分なものでがっかりするが、バイトの子の仕事だったので、まあ仕方ないかと思う。結局テストしながら手順も書き出していく形に。人間は三人いるのに端末が二台しかなくて悲しかった。
あと有事。火曜のフラグが消化されたらしく、お客さんキレる。イライラするしげんなりもしたが、まあボクは大人なのだから、ペースを崩さず仕事しよう…と仕事した。その後マネージャーが謝りに行ったりして解決したらしい。大人は大変ですね。
まあ忙しかった。手が痛かった。

金曜。
引き続きテスト。テストし記録し、バグを見つけては直す、見つけては直す、見つけては直す。
本番用 API の実装が、完全に本番用なので、お客さんのコードマージしないと動かせないという事態に。この辺のやりとりは本当にぐだぐだであまりに酷い。普通はレスポンスだけ正常に返すものを用意してそれで確認だと思うんだけれど…結局 API まで含めてテスト、デバッグみたいな形に。夕方にお客さんのコードマージ。
その後一旦 RC 提出。提出何時にするんですか、と聞いたのに、ちゃんと返事もらえずにそのまま提出された。以前のプロジェクトでも同じことがあったのでげんなり。
その後 API 仕様に一部変更が加わることになった…はいいが、来週、API とアプリケーションの実装を修正しましょうという話だったのが、夜に何故か API の実装が修正された状態に。デバッガで無理やり値書き換えてテスト続行。正常系、異常系全てのテストを終え、確認された問題を全て修正。RC には間に合わなかったけれど。
忙しかった。手が痛くて痛くて辛かった…


なんでこんなこと書いたのかというと、書きながら、思い出したり確認したりすることで、やり残したことはないかなあ、というのを確認するためなのでした。いくつか見つかったのでまあよし。
そんなわけで一段落。

2011/07/16

仕事

何か、この仕事は駄目だと分かっていた、みたいなことを言われてしまった。うーん、まあそうなんだろうという感じだけれど、仕事終わってないのにそんなこと言われても…という感じで、少し困った。分かっていたから現状で良いなんていうことは一切ないし、分かっていたならいたで、さすがにもう少しやりようもあったんじゃないかとか、いろいろ思うところはあるけれど、何言おうとどうにもならないだろうなあ。
いよいよという感じの有様だ。他人事みたいに書いてるけどまあボクのことだし、でもまあ、どうでもいいか…

三連休一日目

なんだか長いおやすみは久しぶりな気がするけれど、実際久しぶりらしい。

手の調子がものすごく悪いので今日はボーっとするデイ。まあそうでなくても定期も切れてしまっていて、どこかへ行く気もすっかり失せている…

キーボード触るのつらいと、ニコニコ見るくらいしかなくなる。ゲームやろうにも DS が重くて持ってられないし…なんともいえない。

そろそろ日も傾いてきたしお散歩だなあ。週に一回するかしないかのお散歩くらいしか運動してないしこんなことでいいのか。いいか。どうでもいいな…

そろそろお盆休みのことを考えなくてはいけない。考えなくてはいけないっていうか、会議で聞くだけなんだけれど。祖父の初盆だ。

2011/07/06

TODO

夏が全てを損なっていて、冗談抜きで危険が危ないが…やることはやらねば。

* comfrk vol3 原稿。clang compiler plugin の書き方、そんなに重くないものの予定
* 第二回 jvm ソースコードリーディング予習
* いい加減りせけん
* あんどろあぷり scala で作って色々調査
* scalatra 読む
* ミルキィホームズ・デイ

今月は上二つでいっぱいいっぱいかな…
成せば成る!成せば成る!

夏に殺されたので一回休み…
プロジェクトのお尻を支えないといけなかったはずが。

2011/07/02

バテ

バテてる
なんともならない

2011/07/01

テスト

を書くには、きちんと何をどうテストするか考える必要がある。この行為って割とこう物事をクリアにするんだよなあ。

ということはもう何度も何度も何度も何度も何度も何度も認識している事実なんだけれど何かすぐ忘れてテストとりあえずいいかみたいに思う。
お間抜けも度が過ぎると罪~

6 月が終わった

納品だったらしい。なんというか、破綻したプロジェクトだった。
次の仕事も同じお客さんの仕事だというんだから、中々大変な話だなあ(他人事)。

しかし、お客さんはまあ酷いが、こっちもはっきりいってお話にならないレベルで酷かった。
  1. 仕様が無い
  2. ユースケースが十分に共有されてない
  3. 時間が無い
  4. 自動化されたテストが無い
  5. 手動テスト項目が無い
  6. ロードマップが無い
どこまで書いていいのか分からないけれど…

まず満足な仕様というものは存在しなかった。お客さんが、お客さんのお客さんに出すための仕様はあったが、作る側の仕様は存在しなかった。さもありなんという話だけれど…
とはいえないものは作るしかなかったのだと思う。しかし作らなかった。問題が発覚するのはいつも物事のお尻だから、気づいた頃にはもう遅い。そもそも問題だと認識されていたのかみたいな問題もあるけれどまあどうでもいいな気づいた人間が言えばいいのだから…

ユースケースは十分に共有されていなかった。お客さんとの打ち合わせでは、前述の仕様を話し合って埋めていくのが精一杯で、埋まったときには「ああやった進んだ」なんて皆が思うんだけれど、後になって考えてみれば、あんな妄想みたいなものが埋まって喜んでいたなんて、正直頭が正月すぎる…反省。何故ボクはこういつもいつも甘いのか…
他にも思うところがあるんだけれど後述。

時間は、最初はなかった。ので、動かない手首に鞭打って、それなりに頑張ってるうちに、ずるずると納期が伸びて、気づいたらなんだか暇だねーなんてことになったんだけれど、上に並べたとおりの状況だったので、最後には問題が発生しまくって、まあ結局最後は忙しかった。仕事の質が低いから発生した、無駄な忙しさだと思う。

前回のプロジェクト(同じお客さん)の時に、ボクが単体テストを書いていたのだけれど、仕様変更が頻繁に起きた。テストを重視していたのがボクだけだったので、ガンガンテストが通らなくなるコミットが行われて、最後にはテストは捨てられてしまった…という経緯があって、今回のプロジェクトを始めるに辺り、前回の二の舞は避けよう、ということでテストなしでやりましょう、ということだったのだけれど…失敗だった。強く後悔している。
前回は、今回以上に真っ白で時間もない状態からのスタートだった一方で、ユースケースが限定的、というか、ようは「このシーケンスがこなせれば OK」という類のものだったので、いい加減な手動テストだけでも、なんとかなったという面があったのだと思う。求められていた物の品質が低かったというか…
そして今回、始まった当初はなんとなく前回のようなもの、という認識でいたけれど、そうではなかったわけで…本来なら、ユースケースをしっかり洗い出した上で、仕様をしっかりと規定し、それを元にテストもしくはテスト項目を記述し、実装し、問題があれば仕様もしくはテストを修正しテストもしくは仕様に反映させ実装し…という作業が必要だったわけだけれど…というか途中でそうでないとこれはダメだと気づいていたんだけれど、あまりの内外の状況の破滅ぷりグダグダぷりにどうでもよくなったんだよなあ…いや正直こんな状況でそれができれば全くスバラシーという感じだしどうでもいいんだけれど、そこでどうでもいいみたいに破滅を受け入れるのはイコール街中で指されても文句は言えないってことだからな…

手動テストは、やるのかなーやらないのかなーとか思ってたけど、特に気合入れてはやってなかったっぽい、よくわからない…今回は何か人がいたので、この部分はボクの仕事ではないみたいに勝手に思ってたけど、まあ誰もやりそうになかったしやるべきだった…正直気づいてたしやりたくないからやらなかった面はある…せめて言えばよかったけど、今回のプロジェクトはただ一言いうだけのやる気すら既に全く損なわれていた。うーん文字にすると酷いな。

ロードマップに関しては、ロードマップというかうーん…こう、全てがただ過ぎ去っていったみたいな感じだった。なんだれそれは…
ロードマップが云々以前に、作業指示みたいなのはほとんどなかった気がする。問題が報告される→対応するためのチケットが作られる→直す、みたいな流れはあったけれど、それだけだった。というか本当にそれだけだったんだろうなあ。それで精一杯だったんだろう、と思うことにする。
何にせよ待ってても来ないというのはよくよく分かった。正直ソウルジェムが真っ黒になるレベルの絶望だけれど、まあそんなもんだろう…7 月から僕はマネージャーちゃん!!というつもりで仕事をする必要がある。
まとめると、計画みたいなものがないから、指示もないし、ただ全てが過ぎ去っていった。


…とまあ、ないない尽くしだった。ていうか色々あってやる気もガンガン削がれてたし、手首は相変わらずだし、正直なんともならない感が強かった…なんともならない感がやる気を削いで、やる気がそがれた結果なんともならない感じになるみたいな無限拍車だ!

あとはそうだなあ、これは愚痴でしかないけれど、デザイン面の作業であんなに時間を取られなければ色々やることもできたろうに…アーキテクチャを理解していないデザイナ(相当)からの指定と、粗悪なアーキテクチャによる悪夢…Android のことですけど。Android のウィジェット周りの設計と実装は本当に酷いし、ドキュメントはろくにないし、ぐぐってもまともな情報は出ないし、このフラストレーションはどこにぶつければ…

まあ何かいつも書いてる気がするけど、自分がやらないとどうせ誰もやらないし、兎に角やろうということになるのだった。
この思考、自殺とかする系の人間の思考っぽい。
成せば成る!成せば成る!

参考:http://twitter.com/#!/NJSLYR/status/67173563685281792

profile


niha

http://niha28.sakura.ne.jp/