ruby is nice2017.rubyworld-conf.org/files/keynote-2.pdf · ruby is nice so we are nice...

48
RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Upload: others

Post on 27-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

RUBY IS NICE SO WE ARE NICE

角谷信太郎(@kakutani)RubyWorld Conference 2017 基調講演

Page 2: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Matz is nice so we are nice

Page 3: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

we=Rubyist。Rubyistとは、“Rubyに対して単なるお客さん以上の気持を持っている人”

Page 4: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

自分以外でRubyを使っている人のことが気になって行動しているあなたはかなりRubyistの素養があります。いまの技術レベルや知識は関係ないんです。

Page 5: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

ようこそ

Page 6: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Matz is nice so we are nice

Page 7: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Ruby is nice so we are nice

Page 8: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演
Page 9: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Matzがナイスなのはわかる(Matzいい奴)。しかしRubyがナイスとは…? 昨日の基調講演をヒントに考えてみましょう…

Page 10: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“Ruby”はプログラミング言語だけに限らない。ライブラリやフレームワーク、ツールやアプリケーション…みんなの持ち寄った“使う人にとっての良い感じ”の全体、それがRubyのナイス。

Page 11: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

みんながRubyに持ち寄った成果がナイスだから私たちRubyistもナイスでいよう…あれ? 成果を持ち寄っているのはRubyistでは? Rubyistの成果がナイスだからRubyistはナイス? RubyistがナイスだからRubyがナイスになる? 無限ループかな?

Page 12: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyのナイスさは、Rubyistの持ち寄った“いい感じ”の全体として、Rubyistが育てていく、という動的で自己言及的な終わりの定まらない活動に。

Page 13: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

RubyKaigi 2017のMatzの基調講演は“Matz is nice”から“Ruby is nice”へというのが実際にはどんな風景なのかを紹介してくれています。

Page 14: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

…とはいえ、それはこの惑星で最強クラスのウデマエのスゴイ級ハッカーの話じゃんね…という気持ちはわかる。Rubyistに技術のレベルは関係ない、といっても技術の分野の話だしね…。

Page 15: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Ruby is nice so we are nice

Page 16: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

2012年以降(この5年間)に、Rubyを業務で使い始めた、“普通の”プログラマーのみなさんにやってもらえるといいんじゃないかなと思っていること:

Page 17: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

日中に、お互いに敬意をもって率直に、仕事に関わっている“気持ち”を話す機会を継続的に持とう!

Page 18: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“非公式”でいい。やり方もどのようなものでも構わない。まずは30分からでも。“ふりかえり”、1on1、雑談、面談、ランチ…。プログラマー同士で始めてもいいし、(自分たちで手応えを感じたり、必要そうなら)プログラマーで閉じずにやれたらすごくいい。

Page 19: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyはコンピューターに仕事をさせるためのプログラミング言語であると同時に、プログラマーにプログラミングが“たのしい”という気持ちを伝える “言語”でもある(すごい!)

Page 20: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

送り手が感じている気持ちを受け手の心に再現させるための言語の使い方は“詩”と呼べるのでは?(ポエム)

Page 21: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyがプログラミング言語をメディアとして感情を届けているように、“仕事”をメディアとして感情を届けられているか?(ポエムとしての仕事)

Page 22: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

できている/できていない、強い/弱い、自信がある/不安だ、悩んでいる/もやもやする

Page 23: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyを使って業務や事業をおこなう機会はとてもとても増えました(よいこと)。しかし、Rubyのようにナイスな感情を仕事を通じて届けている職場は同じだけは増えてはいない、と感じている。

Page 24: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

だってまあ難しいからね

Page 25: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyはコンピューティングパワーの増大とインターネットの普及の過程で生まれ育った、自由な、自然の、野生のソフトウェア(Rubyはハッカー達がつくった)

Page 26: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“ビジネス”としてのソフトウェアづくりはどうしても人工的な環境になりがち。僕らハッカーじゃないし…(善悪の問題ではない)。

Page 27: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

野生のソフトウェアであるRubyのナイスさを人工的な環境であるビジネスの世界でハッカーならぬ我々が“再現”する方法?

Page 28: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

そこでアジャイル/リーンですよ

Page 29: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“”

ハッカーとアジャイル

10

"What!?! That's obvious!" closely followed by "But Fowler explains it better than Unix traditions do..."

��,����$��#���)������ ������*%'+

Hacking and Refactoring by Eric S. Raymond http://www.artima.com/weblogs/viewpost.jsp?thread=5342

Page 30: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

The New Methodology新しい方法論

• Adaptive > Predictive 事前の精度よりも現実への適応を

• People > Process “人間”はソフトウェア開発の最重要コンポーネント

• Self-Adaptive Process プロセスはフィードバックを通じて育つ

https://www.martinfowler.com/articles/newMethodology.html

Page 31: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

例えばScrumというアジャイルな仕事の進め方のフレームワークがある。これをナイスを届けるメディアとしてポエム化する(透明性, 検査, 適応)

Page 32: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

例えばLEANエンタープライズという壮大な構想がある。“ミッションコマンド”と“改善の型”をナイスを届けるメディアとしてポエム化する(ターゲット状態、目的、最小限の制約)

Page 33: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyを使って“たのしい”と感じられたときの受け手としての気持ちを、自分が仕事の送り手となったときに、それを受け手の心に“再現”することに近づけているだろうか?

Page 34: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyのナイスを届けるメディアとしてポエム化するという観点から先達の言葉を眺めてみよう

Page 35: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“歯車の1つになった人間は、仕事を楽しくできない。仕事が楽しくなるのは、仕事の全体像が把握でき、仕事全体の質に責任を持つ場合である。

クリストファー・アレグザンダー『パタン・ランゲージ』

Page 36: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

“「楽しさ」にもビジネス価値があります̶̶結局、モチベーションこそがプログラマの生産性を左右するのです。

マーティン・ファウラー「ダイナミックタイピング」http://bliki-ja.github.io/DynamicTyping/

Page 37: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

http://modernagile.org/

Page 38: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

@kakutani

Page 39: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演
Page 40: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyist-ist。Rubyistが好き。

Page 41: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

一般社団法人日本Rubyの会の理事。草の根の日本のRubyistの活動に法人格を与えている。Rubyリファレンスマニュアル, Rubyist Magazine, RubyKaigi, 地域Ruby会議, RailsGirls Japanなどの活動を支援する事業をおこなっています。

Page 42: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyアソシエーションは一般財団法人。財に法人格を与えて、お金にいい感じに働いてもらってRubyの普及と発展のための事業をやっててすごい(個人の見解です)。

Page 43: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演
Page 44: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyのナイスさは、Rubyistの持ち寄った“いい感じ”の全体として、Rubyistが育てていく、という動的で自己言及的な終わりの定まらない活動に。

Page 45: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

Rubyがプログラミング言語をメディアとして感情を届けているように、“仕事”をメディアとして感情を届けられているか?(ポエムとしての仕事)

Page 46: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

日中に、お互いに敬意をもって率直に、仕事に関わっている“気持ち”を話す機会を継続的に持とう!

Page 47: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

いま、できるアジャイル (角征典): https://www.slideshare.net/kdmsnr/20130808agilesapporo

Further Reading

https://www.slideshare.net/takahashim/how-to-become-a-rubyistRubyist入門 2015年版 (高橋征義):

http://rubyonrails.org/doctrine/The Rails Doctrine (DHH):

Page 48: RUBY IS NICE2017.rubyworld-conf.org/files/keynote-2.pdf · RUBY IS NICE SO WE ARE NICE 角谷信太郎(@kakutani) RubyWorld Conference 2017 基調講演

RUBY IS NICE SO WE ARE NICE

角谷信太郎(@kakutani)RubyWorld Conference 2017 基調講演