making software development agile with ruby

Post on 12-Nov-2014

2.972 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

角谷 信太郎KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc.

日本Rubyの会(株)永和システムマネジメント shintaro@kakutani.com

関西Ruby会議02/関西オープンソース2009; 2009-11-06(Fri)

RubyでソフトウェアづくりをアジャイルにするということについてMaking Software Development Agile w/ Ruby

角谷信太郎kakutani.comKAKUTANI Shintaro

角谷 信太郎✓ 日本Rubyの会理事✓ RubyKaigi✓ Regional RubyKaigi✓ アジャイル関連技術書翻訳

このトークの後17:00よりジュンク堂書店KOF店(6F)にてサイン会があり〼

提 供

情報化技術を通じて社会と共生する

永和システムマネジメント✓受託開発の会社です✓ 本社は福井なので関西のお仕事も歓迎です :)

✓Rubyのお仕事承ります✓ JRubyでの納品実績もあります

✓アジャイルな開発のご支援✓ 認定Scrumマスターが4人います

今日、伝えたいこと

竹内郁雄「推薦のことば」(『ビューティフル・コード』)

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。

“With great power comes great responsibility.

GOT TO GET A GRIP!

今日、お話しすること

ソフトウェアづくり✓実行主体✓ ひと

✓プロセス✓ 「実行すること」の連続

✓アクティビティ✓ 話す、聞く、立つ、座る、歩く、考える、書く、

描く、キーボードを打つ...

プロセス、すなわち実行することと、その実行主体 (つまり人 )は既に遍在し実践され続けている。

つまり“プロセス”とはソフトウェアをつくっている活動そのもの、すなわちソフトウェアづくりである。

Being Agilehttp://pm.versionone.com/AgilePoster.html

Ruby

よろしくお願いします

Christopher Alexander

http://kakutani.com/20090218.html

The Nature of Order

価値宇宙の森羅万象即ち生命にあらわれるいきいきとした秩序の幾何学的特性とそれを生み出すプロセスについて

The Nature of Order✓ Life is degree✓構造:15の幾何学的特性✓プロセス:構造保存変換✓ Structure Preserving Transformation✓ Wholeness Extending Transformation

M83: The Thousand Ruby Galaxyhttp://apod.nasa.gov/apod/ap080927.html

構造保存変換

✓ Step-by-Step Adaptation

✓ Feedback & Correction

✓ Unpredictability

✓ Awareness of the Whole

Being Agilehttp://pm.versionone.com/AgilePoster.html

The Nature ofSoftware

Nature of Software1.人とソフトウェアのあいだに価値がある

2.“システム”全体を構成する3.変更に対応できることが求められている

Nature of Software1.人がソフトウェアを使ってみないとわからない

2.ハード,ソフト,文書,運用3.育てることと技術的負債

プログラミング✓スキルを備えた人の営み✓世界観を構築し、世界をつくりだす

✓文字列を並べるだけの簡単なお仕事ではない

付録B:Naur,Ehn,武蔵

“Programming as Theory Building” -- Peter Naur

プログラミングとは、プログラマが直面している問題に対するある種の見方、つまり理論を形成または構築するようなアクティビティであると適切に見なされるべきである、と提案する。この提案は、プログラミングとはプログラムなどのテキストを産み出すことである、という一般的な考え方とは対照的である。

コードにしたものとコードにしなかったことがプログラミング

私は受託開発、即ち経済的環境圧による人工的なソフトウェアづくりを生業にしているのだけれど、ソフトウェアを含む価値宇宙において“自然”にソフトウェアは存在するのだろうか?

“自然な”ソフトウェア開発✓ Free/Open Source

Software

✓ Bazaar Style Dev.

✓ Hackers

✓ Culture & Ihneritance

Ruby

The Nature ofSoftware Development

The Nature of Order✓ Life is degree✓構造:15の幾何学的特性✓プロセス:構造保存変換✓ Structure Preserving Transformation✓ Wholeness Extending Transformation

構造保存変換

✓ Step-by-Step Adaptation

✓ Feedback & Correction

✓ Unpredictability

✓ Awareness of the Whole

Being Agilehttp://pm.versionone.com/AgilePoster.html

開発がアジャイルであるということは自然なソフトウェアづくりにどれだけ近付いているかの度合い

オーム社

http://gihyo.jp/dev/serial/01/agile

“アジャイル”とはプロセスがどれだけいきいきしているかを示す度合いである。

“Agile” is degree.ー Kakutani Shintaro

このスライドの英語がおかしいのはネタ(さもAgileというものが“存在”しているかのように扱われていることへの揶揄)だったのだけれど、誤解を招いてしまった事実があるので、ここにつつしんで訂正いたします ><

“アジャイルさ”とはプロセスがどれだけいきいきしているかを示す度合いである。

“Agility” is degree.ー Kakutani Shintaro

アジャイルなプロセス✓ プロセス、つまり私たちの“ソフトウェアづくり”の過程がアジャイルであることの度合いを言っている(形容詞)

✓ “アジャイルプロセス”というモノは無い (名詞)

XPのプラクティスの数

1.ペアプログラミング2.活き活きとした仕事3.情報満載の仕事場4.根本原因分析5.ふりかえり6.信頼7.全員同席8.真の顧客の参加9.ユビキタス言語10. スタンドアップ ミーティング11.コーディング標準12.イテレーションデモ13.報告14.「完全Done」

15. バグなし16. バージョン管理17. 10分ビルド18. 継続的インテグレーション19. コードの共同所有20. ドキュメント21. ビジョン22. リリース計画23. 計画ゲーム24. リスク管理25. イテレーション管理26.ゆとり27.ストーリー28.見積り

29. インクリメンタルな 要件30.顧客テスト31.テスト駆動開発32.リファクタリング33.シンプルな設計34.インクリメンタルな 設計とアーキテクチャ35.スパイク ソリューション36.パフォーマンスの 最適化37.探索的テスト

『Head First ソフトウェア開発』

“プロセスとは、どのような図、文書、テストを実行すべきかに関する形式的な一連の規則というよりも…実は実行すべきことや実行すべきときを表すものにすぎないのです。また、頭文字も必要ありません…適切に機能すればよいのです。

『Head First ソフトウェア開発』

“自分のチームと自分のプロジェクトに役立つプロセスを選び…そのプロセスが生み出した成果物を自分の顧客の要望に合うように調整します。

コードがソフトウェアの中心なのであれば、プログラマがコードを書くのに選ぶ言語も重要なはず

Ruby

Martin Fowlersays:

Ward(Cunningham)、Kent(Beck)、それから、キレイなコード、うまく整理されたオブジェクト指向設計、そして、テストしやすさについて提唱してきたすべての人たちの価値が…Ruby界では…『正統』(orthodoxy)になっている。http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf2007

正統

Ward Cunningham

Photo by Improve It:http://www.flickr.com/photos/improveit/1574023621/

Kent Beck

Ward(Cunningham)、Kent(Beck)、それから、キレイなコード、うまく整理されたオブジェクト指向設計、そして、テストしやすさについて提唱してきたすべての人たちの価値が…Ruby界では…『正統』(orthodoxy)になっている。http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf2007

http://www.ruby-lang.org/ja/

“Rubyをキメると気持ちイイまつもとゆきひろ - RubyKaigi2008

ーー a_matsuda (Asakus.rb)

“『入門Git』の書名は『The Git Way』であるべき

“The Git Way”の白眉✓ワークフローのためにツールがある

✓ “Linus君の究極のコンテンツトラッキング”✓ パッチベースのワークフロー

✓目にみえる手段の背後にある考えかたの重要性

“ホモ・サピエンスはパターン認識生物だ、とパーカーボーイはいう。それは才能でもあり、罠でもある。ーーウィリアム・ギブスン『パターン・リコグニション』

オーム社

“With great power comes great responsibility.

ハッカーならぬプログラマが身につけるべきスキル

Taken from t-wadahttp://www.slideshare.net/t_wada/emergent-design-oblove-2009-summer

竹内郁雄「推薦のことば」(『ビューティフル・コード』)

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。

“ホモ・サピエンスはパターン認識生物だ、とパーカーボーイはいう。それは才能でもあり、罠でもある。ーーウィリアム・ギブスン『パターン・リコグニション』

“With great power comes great responsibility.

GOT TO GET A GRIP!

提 供

情報化技術を通じて社会と共生する

永和システムマネジメント✓受託開発の会社です✓ 本社は福井なので関西のお仕事も歓迎です :)

✓Rubyのお仕事承ります✓ JRubyでの納品実績もあります

✓アジャイルな開発のご支援✓ 認定Scrumマスターが4人います

M83: The Thousand Ruby Galaxyhttp://apod.nasa.gov/apod/ap080927.html

ご清聴ありがとうございました

top related