今週一週間

今週は、それほどきつくなかったかと。というか、ぶっちゃけぬるぬる。SVからは、これがIT業界と思うなと釘を刺される。まあ、僕としては.NET未経験なだけに勉強できる時間があるのでかなりありがたい。ということで、ここ2週間は.NETを勉強しております。

今まで、JAVAが好きで、HPCの研究室にもかかわらず、自分の研究で用いるプログラムは強引にJAVAで開発してきたけど、.NETも良いかなーと思い始めている。まあ、まだぜんぜん語れないけどね。

そして、同時に開発方法論も学んでいる。僕のSVは、Agileの信奉者で、彼の開発哲学の下、システム開発のなんたるかを勉強させてもらっている。Agileは、テストファーストリファクタリングペアプログラミングなどなど、これまでのウォーターフォール型とは違う方法の開発を推している。

Agileでやってみた感想は、Agileの方が効率的だということ。例えば、まずテストスクリプト書いて、コーディングして、テストプログラム書いて、デバッグ地獄。。。みたいなフローより、テストプログラムをまず書いて、コーディングして、ちょっと作ったらテストしてみて、というサイクルをガンガン繰り返していく方がミスが少なく済む。しかも、コメント満載のテストプログラムを作るので、最後JavadocやNDocみたいなドキュメントツールでどーーんとやってしまえば、テストスクリプトの替わりになったりするので、一工程省ける。

ただAgileは、従来の方法論とは相容れない部分も多く、現場はみんな、Agile的な開発に賛成しているのに、上層部が理解を示さないこともあるらしい。実際に手を動かしてみないとこの良さは分からんな。たぶん、オフショア開発なんかのグローバルなコラボレーションやプログラミング言語の進化なんかによって方法論も変わっていくと思う。そういう時、こういう現場の意見を理解できる人になりたい。

そういった意味で、いきなり戦略の提案フェーズにアサインされたりしている同期に焦りを感じないこともないけど、ここは腰を据えて頑張ろうと思う。方向は間違ってないはず。ただ、焦らず一歩ずつ着実に。。。

@IT:特集:.NET開発者のための開発プロセス入門(前編) アジャイル開発を導入できていない.NET開発者たちへ