昨日(1/22)MicrosoftのAgile Dayに行ってきた

皆様お疲れ様でした。イベントレポートって何をかけばいいんだろ?とりあえず、個人的な感想とふりかえりを中心に書きます。 また、勝手な解釈が混じっている事を先にお詫びします。イタリック青字の部分は私の考えなどです。見た感じ、スーツ率高い、参加し…

MicrosoftのAgile Dayに行ってきた

皆様お疲れ様でした。イベントレポートって何をかけばいいんだろ? 個人的な感想とふりかえりになります。また、勝手な解釈をしている部分が混じっている事を先にお詫びします。見た感じ、スーツ率高い、参加している人はプロジェクトリーダ/マネージャが多…

詳細設計書に何を書くべきか?

詳細設計書の書き方については黙っていられないので、ちょっと意見を言わせてもらう。私も「詳しすぎる詳細設計書 - SiroKuro Page」で示されているようなコードと1対1に対応したような詳細設計書は、書くだけ無駄だと思っている。ただ、ちゃんとした詳細…

システムのタイマーをラップしてテスト工数を削減する

システムのカレンダーやタイマーをロジック内から生のまま取得していると、テストの度にシステムのカレンダやタイマーを変更しないといけないため、やたらとテストが面倒になる。たとえば、現在時刻を取得して稼働時間かどうかを判定する処理があったとする…

プログラマ35歳定年仮説について考えてみた

プログラマ35際定年仮説には、2つのとらえ方があって、1つは、表面的な仕事の内容と人月計算の利益が見合わなくなるため、プログラマの定年になるという話、もう1つは、技術に追いつけなくなって、やっぱり定年になるという話。このエントリでは後者の技…

Mavenで配布用zipファイルを作成する

mavenで依存ライブラリや設定用ファイル、バッチファイルなどを含んだ配布用zipファイルを作る方法をメモしておく。 配布物のディレクトリ構成 以下のような構成の配布物を作成します。 +bin/ +sample.bat windows用) +sample unix用) +config/ +config.xml …

進捗報告はfakeです。

最後にQ&Aタイム。Xiao氏の名言が素晴らしかった。 進捗報告はfakeです。未来をすべて計画するのは不可能であることを認めるべき! Agile Conference tokyo 2009に行ってきた - GeekFactory をネタっぽく言い換えると、 進捗報告なんて飾りです。偉い人には…

ご冗談でしょうSIerさん その5

入社して2年目、某官庁の案件のテスト工程に放り込まれた時の事だ。その案件はjavaの案件だったのだが、クラス名が連番で管理されていた。それだけで本当に恐ろしい案件だったと今更ながら思う。これは発注者側の要請ということだったらしい。また、こういっ…

オフショア発注側と受注側との間で最も大きな認識のずれが生じた課題

先日のエントリに関係するアンケート結果があるので紹介する。 オフショア発注側が認識している課題 「オフショア開発における課題と深刻度」日中の認識のずれ: 日本最大のオフショア開発サイトより UMTPが実施したオフショア発注側に対するアンケートに…

ご冗談でしょうSIerさん その4

「ソースコードの修正履歴をコメントアウトでのこしてください。」本当に冗談であって欲しかった。一体何のためにCVSとかsubversionを使ってんだよ!最終的には、なんとかファイルヘッダへの修正履歴の追加になったけれども、これを聞いたときはいまだにこん…

コンストラクタとstaticメソッド

まずはEffective Javaでおなじみ、「http://d.hatena.ne.jp/makiyamakoji/20090326/p1」で紹介されているstaticファクトリメソッドという方法。 public class Hoge { private Hoge() { ... } // static ファクトリーメソッド public static Hoge newInstance…

ポステルの頑健性原則に関する事例

仕事でバイナリデータをCSV形式に変換するデータコンバートツールを作った時のことだ。コンバートツールのテスト項目に、 「データ変換に関係ない部分のデータが異常でも動作を停止しない。」 というのがあって、これが客の目にとまり、気に入らなかったらし…

オフショア開発失敗の原因

オフショア開発のテストに投入されてえらい目にあわされたことがあったので、原因を考えてみる。 ちまたでは、やれ品質意識が違うだのなんだのと言われてるが、俺がえらい目に遭ったオフショア開発では、仕様書の作成からオフショア開発させていた。そりゃデ…

ポリモーフィズムを使ったリファクタリングの実践例

ポリモーフィズムを使ってないひどいコード設計を見たので、どうリファクタリングするべきだったのかを書いておく。 やばい匂いのするコード そのシステムでは、複数の銀行とのやりとりを行うため、銀行コードに基づいて処理を分岐していた。そうこんな風に …

ご冗談でしょうSIerさん その3

CORBAのIDLのインターフェース仕様書を書かされる。それも、どういう値をいれたら、どういう振る舞いをするのか、といったことを記述するのではなく、IDLをそのまま日本語訳したような仕様書を!たとえば、 int getStatus(string userId, string bnkCd)とか…

身を守るための最低限のビルド手順

継続的インテグレーションとか、デイリービルドとか、そこまでやる時間やリソースが無い場合でも最低限守って欲しいリリース用のビルド手順について勝手に述べます。もちろん、継続的インテグレーションやデイリービルドができるのなら、そちらの方が望まし…

ツンデレ

妻がどこからか「0歳児を動物園につれていくと免疫がついていい… - 人力検索はてなより 妻がどこからか「0歳児を動物園につれていくと免疫がついていいらしい、と有名な脳科学者が言ってた」との情報を得て、動物園に行くことにしました。 ・・が、そもそも…

FFCCクリスタルベアラーのCM

テレビでこのCMが流れるたび、 ∧_∧ ( ゚ω゚ ) 俺に任せろー バリバリC□ l丶l丶 / ( ) クリスタルベアラーッ! (ノ ̄と、 i しーJ を連想してしまう。 (aaはhttp://unkar.jp/read/dubai.2ch.net/ghard/1256392590#l660より拝借。)

antを使うのはズル

ご冗談でしょうSIerさん その2 - Sacrificed & Exploited をマクロを組んで作業するのは実力ではないですか?(1/5) - オフィス系ソフト 解決済み| 【OKWAVE】風にしてみた。 私の職業はJavaプログラマー(派遣)ですが少しantがわかるので自動化できるビルド…

ご冗談でしょうSIerさん その2

javaの開発案件で、antの利用が禁止された。開発用のサーバに入れるのもダメで、開発用のPCに入れるのはOKなんだと。オープンソースがどうたらこうたら言ってたけど、おまえらどんだけオープンソース恐怖症なんだよ。 しかたなくMakeでビルドスクリプト書い…

ご冗談でしょうSIerさん その1

COBOL脳の恐怖 - Sacrificed & Exploitedで書いたSIerの話。SIerから、「日々の進捗をステップ数で報告してください。」っていう指示がきた。 まともに測定したところで、ソフトウェアの完成度とは全く違うなにか別の値が出てくるだけだし。 増えたり減った…

放火犯

http://fafnir.in/post/224800840より改変 平凡な上司は言って聞かせる。 よい上司は説明する。 優秀な上司はやってみせる。 しかし最高の上司は部下の心に火をつける。 だが、最悪な上司は部下の心を折る。 なんだか、山本五十六の「やってみせ 言って聞か…

javaでファイルのドロップを受け付ける部品を作ってみた

参考にしたのは以下のサイト http://terai.xrea.jp/Swing/FileListFlavor.html 「Java SE 6完全攻略」第29回 Swingでのドラッグ&ドロップ その1 | 日経 xTECH(クロステック) SwingコンポーネントへWindows ExplorerからファイルをDrag & Drop - torutkの…

進捗管理について思うこと

進捗状況は自動的に収集する 手動で進捗状況を記入させている場合、頻繁に進捗を入力させると観察者効果により、余計に進捗が進まなくなる。 頻繁に進捗状況を報告させると、進捗状況が改善するどころか、悪化する。 だから、進捗状況は自動的に集まるように…

XMLのDOMをJTree用のTreeNodeに変換するアダプタ

この記事を参考にして、J2SE6でXMLのDOMをJTreeに表示するためのTreeNodeに変換するアダプタを作ってみた。いまさらながら、TreeModelのアダプタにした方が楽だったのではと思ってたりするけど、気にしない。 あと、デザインパターンを必要以上に使っている…

COBOL脳の恐怖

あるSIerの下請けをしていたときの事でした。RDBMSをつかったよくあるWebシステムの開発だったのですが、休日などのマスターテーブルのを編集する画面の設計書に「レコード番号」という項目があるのを見つけて唖然としました。RDBMSを使ったシステムでいまど…

エクストリーム出勤

10日も前の話になるが、今年の台風は風がすごかった。 JJUGに行きたかったけど、JRが動かなくて断念して帰ってきた。 とりあえず横浜までは行ったけど、多摩川あたりの風速が規定値を超えていて、東京側に移動出来なかったので、地下鉄で帰ってきた。 JR羽越…

手順書の鉄則

ビルド手順書だったり、モジュールの配備手順書だったり、そういった手順書を書くときに気をつけている事を勝手に列挙します。 はじめに 手順書を実施するうえで、最大の敵になるのがヒューマンエラーです。 ヒューマンエラーをなくすには、完全に自動化して…

NetBeansのMavenプロジェクトでGUIエディタ上に自作のクラスをドロップ出来ない

NetBeansのMavenプロジェクトで、GUIエディタでswingのフォームをいじっている時に気づいたんだけど、プロジェクトを作る際に、 「Java-Javaデスクトップアプリケーション」で作成したプロジェクトでは、GUIエディタ上に自作のクラスをドロップ出来る。 「Ma…

企業理念と技術者倫理

転職のためにいろいろな会社で面接をうけているのだが、よく落ちるw。エンジニアとして誠実であろうとすると、会社の方針と反してしまうというのが理由の一つらしい。面接をしている人事担当者が言うには、「エンジニア視点というよりは、経営者視点で物事を…