2011-12-17
Effecive Java 勉強会資料
社内のEffectiveJava勉強会で7章を担当して発表したので張っときます。
2011-11-05
CleanCode第2章読書メモ
今の開発チームに新しくAさんという方が来て、その方の机の上に丁度CleanCodeが置かれているのを見つけて軽く盛り上がりました。やっぱ良い本だよねーと共感を得たところで、来週からチーム内でCleanCode勉強会をやることになりました。
こういう仲間がたくさんいる職場で良かったなーと改めて思います。
とりあえず簡単にですが、まずは自分が担当分の「第2章 意味のある名前」をSlideShareに挙げてみました。
- 作者: Robert C. Martin,花井志生
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2009/05/28
- メディア: 大型本
- 購入: 25人 クリック: 762回
- この商品を含むブログ (57件) を見る
2011-09-19
ソフトウェア開発の食物連鎖 〜Code Complete 上巻 読書メモ〜
コードコンプリート上巻を読んでいて面白いと思ったメタファがあったのでメモしておきます。
Code Complete第2版〈上〉―完全なプログラミングを目指して
- 作者: スティーブマコネル,Steve McConnell,クイープ
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2005/03
- メディア: 単行本
- 購入: 36人 クリック: 1,013回
- この商品を含むブログ (266件) を見る
プログラマはソフトウェアの食物連鎖の末端にいる。アーキテクトは要求を取り込み、設計者はアーキテクチャを取り込む。そして、プログラマは設計を取り込む。
生態学的に健全な環境では、カモメは新鮮な鮭を食べる。酒は新鮮なニシンを食べ、ニシンは新鮮な水中昆虫を食べているので、カモメは鮭を食べて栄養分を得る。その結果、健全な食物連鎖が生じる。プログラミングでは、食物連鎖の各段階に健康に良い食物があると、幸せなプログラマによって書かれた健全なコードが得られる。
汚染された環境では、水生昆虫は放射性廃棄物の中を泳ぎ、ニシンはPCBによって汚染され、ニシンを食べる鮭は海上に流出した石油にまみれて泳ぐ。カモメは不運にも食物連鎖の末端にるので、汚染された鮭から石油を摂取するだけでなく、ニシンのPCBや水生昆虫の放射性廃棄物まで摂取してしまう。プログラミングでは、要求が汚染されると、それらによってアーキテクチャが汚染され、アーキテクチャによってコンストラクションが汚染される。こうして、栄養不足の不機嫌なプログラマと、放射能に汚染された欠陥だらけのソフトウェアが生じることになる。
ウォーターフォール型開発では基本的に後戻りをしないため、上流が汚染されていると最後までその汚染を引きずることになりかねません。それに対し、イテレーション型開発では少しずつ全体の汚染を取り除いていくスタイルであるため、上流での汚染のリスクが軽減されることが期待されます。
ウォータフォール型(逐次型)か、イテレーション型(反復型)のどちらを選択すべきかはソフトウェアの種類やプロジェクトの形式、メンバーのスキルなどによって異なります。
下記のような場合には、より逐次性の高い(事前に準備を済ませる)手法を選択した方が良いと考えられています。
- ウォータフォール型(逐次型)が適している例
- 要求がかなり安定している
- 設計が比較的単純で、かなり理解されている
- 開発チームがそのアプリケーション分野に精通している
- プロジェクトのリスクが低い
- 長期的な予測が風要である
- 要求、設計、コードを下流で変更すると、高くつく可能性がある
一方、次の場合には、反復型(作業を進めながら作業する)手法を選択した方が良いと考えられています。
- イテレーション型(反復型)が適している例
- 要求が十分に理解されていない、あるいは他の理由により要求が変化しやすいことが予想される
- 設計が複雑である、手間がかかる、あるいはその両方である
- 開発チームがそのアプリケーション分野をよく知らない
- プロジェクトのリスクが高い
- 長期的な予測は重要でない
- 要求、設計、コードを下流で変更しても、安価な可能性がある
現在のスピード感あふれるソフトウェア開発の潮流を考慮すると、反復型の方が開発スタイルとして適していそうですね。
2011-08-07
小さなチーム、大きな仕事
小さなチーム、大きな仕事―37シグナルズ成功の法則 (ハヤカワ新書juice)
- 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤーハンソン
- 出版社/メーカー: 早川書房
- 発売日: 2010/02/25
- メディア: 単行本
- 購入: 46人 クリック: 725回
- この商品を含むブログ (123件) を見る
新卒で大企業に入社した自分にとって、うなずける内容がたくさん。やはり組織には小数精鋭が大切で、精鋭じゃない人が入って肥大化した組織はどんどん弱体化していくと思う。成長していける環境があればそれでも発展していけるだろうけど。
以下、メモ。
- 会社の規模なんて気にしない。小さいことは通過点ではない。小さいことは、目的地でもある。
- 必要なものは思ったより少ない。
- 機能が多いから優れているわけではない。芯から始める。やることを減らす。
- たくさん働いた(ワーカーホリック)からって偉いわけじゃない。少ない時間で効率よく成果を出す。
- 料理人を見習う(レシピを教える)。舞台裏を公開する。
- 無用な人は雇わない。経験年数は関係ない。履歴書はバカバカしい。
- 雇用に関しては最近痛い目にあったので激しく同意。その時点でのスキルや経験ってのはあんまりアテにならなくて、伸びしろが重要だと感じた。
- 従業員はガキではない。5時に帰宅させる。
