継続的デリバリーのソフトウェア工学
https://gyazo.com/90345df2a850ebd97cd9203b09775ee5
@tkdn: 読み進めてみるとこれまでのソフトウェア開発において新しい発見はここまで特になく、わりと既知の内容って感じになってきてしまったな。ハードウェアの性能は上がったがソフトウェアの性能は上がったか?という問いが本文中にあったが、XP による TDD などのプラクティス @tkdn: や CI によるデプロイとテストの容易性、LeanとDevOpsの科学が導き出したスピードと品質そしてフィードバックの相関など、ここに至るまでにソフトウェア開発が獲得してきた営み・プラクティスを改めて紹介しているような内容が多い。 @tkdn: あと TDD によって生まれたテストできるコードは以下の全てを備えるとある(本当に???)。Craftsmanship だけでは不十分でスケールしないとあるが、以下のような実現をもたらすには技巧レベルが問われるはずだし、何よりテスタブルであることは以下を満たすというのはちょっと大げさな気がする https://pbs.twimg.com/media/FprsPG-aAAAdVOz.jpg
@tkdn: Google のソフトウェアエンジニアリングにあった「目隠しを特定せよ」みたいな話かもしれない。技巧レベルが当たり前な世界観では TDD によってもたらされる旨味は出て当然かもしれないが、手法や技巧の習得・鍛錬までは特に何も触れられることはない、みたいな。 @tkdn: テストリグって出てきたけどテスト実行するための一式って感じの意味だろうか @tkdn: 凝集度についてはセサミストリートの仲間はずれの歌が重要なポイントを表しているということです ポストが間違えているが正しくはブルックス
@tkdn: いずれも Complexity と考えたときに、Simple にしたものが整然とせず役割や関係性における複雑さ(Complicated)も持つこともあるから、そもそも本質的な複雑さだった、みたいなことにはなりそう @tkdn: 読了。モダンなソフトウェア開発には学びのエキスパートたるアプローチ5種があり、複雑さを管理するアプローチ5種があり、いずれも新規性のあるプラクティスではないんだよというのが主眼となっているような本だった。まずは入口として読んで、ソフトウェア開発の営みにおける経験主義的学びの獲得は @tkdn: 「Lean と DevOps の科学」で、TDDをはじめとした技巧の獲得を目指すなら「Clean シリーズ」(ボブおじ)などで、組織的なデカップリングや高凝集が必要なら「チームトポロジー」で、といった感じで、他の書籍で深化させるのが良さそう。 @tkdn: 平鍋さんの書評を読んでた。クラフトマンシップを工学にまで昇華させよう=スケールさせよう、はメッセージとしてあるかもしれない