8月30日(火)に、達人プログラマー読書会@札幌に参加しました。
今回は第2章 達人のアプローチ 9.可逆性 ~ 2章の終わりまで。
実際にプログラミングをするときに心がけておくべき事がたくさんありました。
9. 可逆性
変更に強く、柔軟に対応できるプログラミングをすることの重要性について。
柔軟で適合性のあるソフトウェアを目指すことは「変化を恐れない」ことにもつながりますね。
実際の仕事の時には「どこを変えれば対応できるか把握できている」「変更の可能性を常に頭の片隅に入れておく」とかが大事になると思いました。
重大な決定を行うたびに、プロジェクト・チームは小さな目標ー選択肢の少ない狭くて現実的なビジョンーに向かって進んでいくことになるのです。
「重大なことはさっさときめてほしい」「こんな大事なことを今覆すなんて…!」と思ったことがあるあるすぎて、確かにダメージの少ないように(リソースの許す範囲で)考えておくことは重要だなと思いました。
10. 曳光弾
プロジェクトは完了することがない作業である。
小さな動くものを作って、それを育てていくことの大切さが書いてありました。
Agile的な精神。
今、いろいろ読んでいる本のすべての種はこの本に書かれているんだなぁ、と改めて感じました。
目標をとらえるまで何度でも書く、ちょっと書いたコードが違うものでも落胆してはいけない。
ソースコードを書くことが目的ではなくて、ユーザーが求めるソフトウェアを作ることが最終目的、ということを再確認しました。
11. プロトタイプとポストイット・ノート
- プロトタイプは捨てるものである
ということがとても強調されていました。
たしかに、動くかどうか確認することを目的にしているので、わりとぐちゃっとソースコードを書いてしまうことが多いので、捨てるのが懸命。プロトライプが曳光弾になることもあるけど。
12. 専用の言語
実際に言語を作ったことはないけれど、
- わかりやすい名前をつける
- ユースケースを書く
- フューチャーのテストを作る
という今やっていることにつながることなのかな、と理解。
言語も含めて、どんどん発展していって、先駆者のおかげで幸せなプログラミングができているなぁと感じました。
13. 見積もり
現実のお仕事で最近色々苦労した部分でもあったので「ハッ」としました。
気づきをたくさん得られました。(現状の問題点を把握できたという意味の気づきも含めて)
見積もりとは何なのか、見積もりの粒度についてどうやって意識を共有していくか、そして確度の高い見積もりを出せるようにするにはどうすればいいか。
まずは自分の精度を磨くところから、やっていきたいと思いました。
風邪をひいて、第2回に参加できていない分を次までにちゃんとキャッチアップしておきたいと思います。