21世紀のソフトウェア技術者
2016/8/3
ギルドワークス 増田
お話ししたいこと
20世紀はモダニズムの時代
規格品の大量生産
自動化、機械化、均質化
19世紀までは、人間らしく暮らしていた
21世紀も、人間らしく暮らすようになる
21世紀のソフトウェア開発
人間らしいものづくりのススメ
21世紀のソフトウェア開発
3
ドメイン駆動設計
インクリメンタルな設計
変更容易なソフトウェア構造
シームレスな開発プロセス
オブジェクト指向
ソーシャルチェンジ
圧倒的なソフトウェア開発の実現
ソフトウェアの核心にある
複雑さに立ち向かう
Bertrand Meyer 1997
邦訳 2006
Eric Evance 2004
邦訳 2011
Kent Beck 2005
邦訳 2015
21世紀のソフトウェア開発
エクストリームプログラミング
圧倒的なソフトウェア開発 品質/コスト/生産性
ソーシャルチェンジ
人間らしく働く
人と人との意思疎通
敬意(リスペクト)
その根底に流れる思想…
わびさびをモダニズムと比較
アジャイルなソフトウエア開発手法、
特に、エクスートリームプログラミングの
思想的な背景のひとつ
Wabi-Sabi
わびさびを読み解く
by レナードコーレン
for Artists, Designers, Poets & Philosophers
モダニズム
• 20世紀半ばから後半にかけて、工業化された
国際社会を舞台に展開された「美意識」
• あらゆる人工的な物体、空間、デザインに適
用される
• 論理的で合理的な世界観を示唆
• 現在のソフトウェア開発の手法や工学も、こ
の影響下にある
モダニズム 人間らしさ
論理性/合理性 直感/直観
絶対的な尺度 相対的な尺度
普遍的で形式的 属人的で創発的
大量生産 一点もの
画一化 多様性
固定/確定 変化/成長
ソフトウェアづくり
モダニズム 人間らしさ
幾何学的な構造 有機的なつながり
鋭く正確で一定した縁取り 柔らかく曖昧な縁取り
テクノロジーの美しさ 自然の美しさ
人工素材
(人工のプログラミング言語)
自然素材
(自然言語による会話)
冷たい 暖かい
完璧な物質性が理想
(機械化・自動化)
完璧な非物質性が理想
(人間らしさ、こころ、思い)
ソフトウェアづくり
21世紀のソフトウェアづくりのヒント
職人の技と心
未来へ伝えたい 匠の技と心
竹中大具道具館
大工職人は、いつも経済効率を追求していた
そのために、自然と人間をうまく生かすことを善しとした
日本の大工の技と心
職人のモノづくり
腕
創意と熱意
工夫と改善
良いものを知る
自己研鑽
経済効率の追求
職人のモノづくり
• 多様でばらつきのある素材をうまく扱うのが腕
• 独自の一品ものを生みだす創意と熱意
• 素材選び/道具/工法のたゆまぬ工夫と改善
• 良いものを知ることに貪欲
• 終わりのない自己研鑽
• 経済効率の追求
– 顧客にぴったりの一品もの(価値の最大化)
– 手際の良さ(生産性)
– 手入れをすれば長持ちする価値(持続性)
20世紀はモダニズムの時代
規格品の大量生産
自動化、工業化、均質化
19世紀までは、人間らしく暮らしていた
21世紀も、人間らしく暮らすようになる
ソフトウエアも人間らしく作ろう
ドメイン駆動設計
オブジェクト指向設計
インクリメンタルな設計(XP)
21世紀のソフトウェアづくり
15
人間の人間による人間のための一品手作り
より人間的に、より経済的に、より持続的に
16
どんな状況でも改善できる
どんなときでも「あなた」から改善を始められる
どんなときでも「今日」から改善を始められる
ケント・ベックのメッセージ
圧倒的なソフトウェア開発の実現
ソーシャルチェンジ
人間らしいモノづくりに向かって、少しずつ、持続的に、あなた自身が
ソフトウェア技術者の職人魂
腕を磨く
創意と熱意
工夫と改善
良いものを知る
終わりのない自己研鑽
経済効率の追求

21世紀のソフトウェア技術者