Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

アジャイルで忘れてしまったもの… そして、再び拾い集めたもの

5,167 views

Published on

〜モデリングもしないでアジャイルとは何事だから早幾年〜
DevLOVE X 発表資料
2019/6/22 16:20~17:00 6D
#devlovex #devlovexD

Published in: Software
  • Be the first to comment

アジャイルで忘れてしまったもの… そして、再び拾い集めたもの

  1. 1. アジャイルで忘れてしまったもの…     そして、再び拾い集めたもの 〜モデリングもしないでアジャイルとは何事だから早幾年〜 DevLOVE X 発表資料 2019/6/22 16:20~17:00 6D #devlovex #devlovexD
  2. 2. ア ジ い る ⾔ 葉 た ち X ス ク ラ ム 電 鉄 DevLoveさん、10周年おめでとうございます。 DevLove発表をきっかけに給与が増えた気がします。 モ デ ラ ー / 40 代 スクラム電鉄
  3. 3. ⾃⼰紹介 はらだ いわお 原⽥ 巌 Twitter:@iwaoRd • 認定スクラムプロフェッショナル • UMTP アジャイル開発部会メンバ • 認定SAFe Agilist(失効) & Consultant(予定) • 認定LeSS Practitioner 「⼈⽣、全速⼒で回り道」 モデモデ⾔ってるSIer勤務
  4. 4. 過去の発表 • 「アジャイル」界隈で「モデリング」と「パターン」絡み の発表をしています。 • 発表した「モデリングもしないでアジャイルとは何事だ」 は⼤きな反響を得ています。 2013年 DevLove甲子園 2014年 UMTPセミナー 2015年 要求開発アライアンス 2014年 DevLove甲子園 2014年 XP祭り(LT) 2015年 XP祭り(講演) http://www.slideshare.net/iwaoRd/ss-2807525 Regional Scrum Gathering Tokyo 2018 2017年 XP祭り LT Regional Scrum Gathering Tokyo 2019 presented by SPaT (Scrum Patterns Tokyo)
  5. 5. *「おお アジャイラーよ!   しんでしまうとは なにごとだ! !5 想定読者1 アジャイルうまくいってますか?
  6. 6. モデル書いていますか? 想定読者2 モデリング活⽤していますか?
  7. 7. 伝えたいことは最初に届ける 「モデリングをすることでアジャイルが上⼿くいく」 1. アジャイルに向けて変わったこと ❖ やるしかない精神・どこにも間違いがある
 →SIerとしての5年
 →フリーランスとしての5年 2. ソフトウェアエンジニアリングに⽴ち戻る ❖ モノ・コトを理解する⼤切さに気が付くこと
 →アジャイルやって8年 ★モデリングもしないでアジャイルとは何事だ 3. アジャイルにモデリングが⽋かせない ❖ モデリングのレコンギスタ
 →これからの10年
  8. 8. 第1章 SIerとしての5年 〜サラリーマンエンジニア〜
  9. 9. 開発は常に おのれ1⼈ しくじり数字 この時期に叩きこまれた貴重なアジャイルにつながる体験 「やるしかない精神」 10
  10. 10. きっかけとなった配属先の先輩の⼀⾔ 「俺、今⽉で会社辞めるから」 11
  11. 11. 何も分からないので頑張るしかないSIerの5年 • 無職からの中途採⽤ → 叩き込まれた社畜魂 • 成功したり、失敗したりするプロジェクト →「ものになればいい」 ✓ ⾜で情報を稼ぐ ✓ ユーザとの対話 ✓ 実装する やるしかない精神
  12. 12. 第2章 フリーランスの5年 〜ソフトウェアの作り⽅は間違っている〜 「・・・よぅ、おまえら、満⾜か・・・こんな開発で・・・俺は嫌だね」 by ロックオン・ストラトス
  13. 13. 転職先の社⻑逮捕から独⽴ 全⼯程駆逐も限界は 3⼈前 しくじり数字 いくら早く作ってもゴミはゴミ。開発の間違った探し。 「間違いしかない世界の受け⼊れ」
  14. 14. すべての⼯程を経験した結果 「どこでも(⼤なり⼩なり)間違っていました」 15 にんげんだもの…
  15. 15. すべてを経験したフリーランスの5年 • ソフトウェアのゆりかごから墓場まで関わる • 他の⼈の3倍作って、お⾦もその分貰う ✓ 結果、間違ったソフトウェアを量産している感 ✓ どの⼯程でも全体を⾒ない⼈間しかいない 良いソフトウェアとはどこから湧いてくるのか! (誰も教えてくれない)
  16. 16. 第3章 アジャイルの8年 〜真理の探求〜
  17. 17. やりたかったのは真⾯⽬な開発 本当のエンジニアリング しくじり数字 開発のやり⽅は既に知っていた。 「原点回帰。⼀即多、多則⼀」
  18. 18. Scrum開発を1年続ける • Scrumには上⼿くいったことがまとめらている • やり⽅も簡単だし、すぐに実⾏できる でも、何かが⾜りない
  19. 19. アジャイル with モデリング • プロジェクトでPOが作成した「ドメインモデル」 ✓ POの考えがよくわかった ✓ 意図を汲み、実現⽅法を考え、提案する楽しさ • Scrumでもやるべきこと(分析・設計)はやる • 役⽴つソフトウェアは簡単ではない! 20
  20. 20. モンスターコンテンツ爆誕(と同時に⼀発芸⼈化 • 現場で真⾯⽬にDDDを実施 ★ 「モデリングもしないでアジャイルとは何事だ」
 →up初⽇で1万View(さっき 31,649view) • ただ単にScrumを⾏う意味の無さに気が付いた
 Don't just do Agile, Be Agile. ✓ ユーザの価値に答えるために⾜らないもの ✓ モデリングを利⽤したユーザ要件からコードまでの⼀貫性 ✓ でも、⾔語化できない苦しみ = ウケた理由が不明
  21. 21. 原点への旅 • ソフトウェアエンジニアリングの⼤切さ ✓ オブジェクト指向ソフトウェアエンジニアリグ • Scrumの関連を辿る ✓ XP ✓ パターン・ランゲージ
  22. 22. 禅と⽇本⽂化 ✓形式の完全は⼈の注意を形式に向けやすく し、内部の真実そのものに向けがたくする ✓わびとさび
 → 「無い」「⾜らない」から必要なものだけを取り込む Scrumが気付かせてくれたものは、 ちゃんとしたソフトウェアの作り⽅だった https://www.amazon.co.jp/禅と日本文化-岩波新書-鈴木-大拙/dp/4004000203
  23. 23. 最終章 これからの10年 〜もう⼀度、拾い集めるもの〜
  24. 24. 「動く」じゃなくて「役⽴つ」ソフトウェアを! • 動くのは当たり前 • 欲しいのは、役⽴つソフトウェアを早く、必要な時に!
 (「すぐにリリースできるか?」から考えてみる) • エンジニアリングの活⽤ • ⼈の学習を活かす 25
  25. 25. エンジニアリングの活⽤ • V字モデルを思い出す 要件定義 基本設計 詳細設計 実装 単体テスト 結合テスト 総合テスト
  26. 26. スクラムチームの会話の仕方 • POと開発メンバーは話のレベルを合わせる • POはシステムを知り、開発メンバーはビジネスを知る 要件定義 基本設計 詳細設計 実装 単体テスト 結合テスト 総合テスト PO Dev それぞれの 知識領域
  27. 27. 常に話の要求元を考える • 話しているエリアの元となる要求を考える • その時、V字モデルは、ほぼ直線となる 要件定義 基本設計 詳細設計 実装 単体テスト 結合テスト 総合テスト 要件定義 基本設計 詳細設計 実装 単体テスト 結合テスト 総合テスト ユーザの要求 フィードバック
  28. 28. V字にモデリングをマッピング 要件定義 基本設計 詳細設計 実装 単体テスト 結合テスト 総合テスト 概念モデル ユースケース ロバストネス シナリオ
 ↓
 受け⼊れテスト オブジェクト図
 クラス図 PO Dev
  29. 29. 誰もがビジネスを考えられる環境作り • ⼈との関係に着⽬し、「場」の形成
      by 場の論理とマネジメント • アジェンダ:何に関する情報か • 解釈コード:情報をどう解釈するか • 情報キャリアー:誰から情報が伝わるか • 連帯欲求 ⽬的 場 ⼈ システム 情報 30
  30. 30. 解釈コードにモデルを利⽤してみた! • UMLなどのモデルの汎⽤書式の利⽤=⽇本語のUnlearn • モデル化の視点、視座、視野 • モデルとは捨像 • よくある悩み「抽象化が難しい?」
 →それこそ私たちが⽴ち向かう問題だ! https://www.slideshare.net/iwaoRd/ss-68726996 ※アジャイルでのモデリング利用をまとめたスライド参照
  31. 31. アジャイルな開発をより確実に実⾏する • 「プロセスやツールよりも個⼈と対話を」 ❖ モデルを通した対話から右側に近づける プロセスや ツール 個⼈と 対話
  32. 32. ⼈は学習する⽣き物 • 「⼈は何も知らないから学ぶのではなく、
   何かが分かり始めてきたからこそ学ぶ」
           by 教育⼼理学概論 ✓ まずは認識を合わせる ✓ 同じ⾔葉で会話する • ⼈の認識・思考と⾏動における⾔語 ✓ パターン ✓ オブジェクト指向分析 ⇒ Aha!!体験が重要
  33. 33. • 対話(ユビキタス⾔語)からシナリオをだす • シナリオからモデルを作り、パターンを発⾒する ✓ いつ解決策を使うのか ✓ なぜ、その解決策なのか ✓ どのような共通性があるか ✓ オブジェクト間の責務はなにか • シナリオで実装とモデルを検証する • 動くソフトウェアで確認する • 実装とモデルを揺さぶるシナリオ追加 • パターンの適⽤が新しいコンテキストを⽣む 例:やってみたモデルを中⼼に置くDomain Driven Design
  34. 34. ≪クオリティ≫は、みんな知っている • クオリティは雑に分けると2つ ❖ ロマン的…⼼情 ❖ 古典的…モノの構造 • 神は細部に宿ると⾔うが、その神⾃体を⾒つ けることが難しい • モデリングで抽象と具象を⾏き来すること で、全体を⾒ながら詳細を知り、システムの 「良し悪し」を⾒つけることができる https://www.amazon.co.jp/dp/4839700524 35
  35. 35. できるか、できないかじゃない。やる! • 「できるわけがない」と4回⾔え!! ✓ ⽬の前の問題を解く ✓ 全体に組み込み、調整する • ⼿を動かし⾯と向かい⾃分と⼀体化 ✓ 問題の定義 ✓ 実現への理解 ✓ 全体像を捉える
  36. 36. ⼀体化=⼼に感じるものを信じる • 『それが射ました』= 無⼼の離れ • 意識してない⽬的に引かれる感覚 ✓ V字モデルが直線となる瞬間! • モデルは正確な情報だけでなく絵画が与える印象のよ うな情報もある。 • モデリングはモデル⾃体と同じくらい重要 ✓ 最後にモデルは不要となるが、モデリングで成され た理解や洞察、チームでの相乗効果による閃きはシ ステムに残る ✓ モデリングは他の活動と直⾏するので、今⽇、聞い た話の好きなプロセス、プラクティスやっても邪魔 しない https://www.amazon.co.jp/弓と禅-オイゲン・ヘリゲル/dp/4571300271
  37. 37. ⽣き⽣きとした • 破壊と⽣成 ✤ 良くするだけではない ✤ 作り変え続けること • 美しさとは完成しない ✤ 美しさは静的ではない
  38. 38. アジャイルソフトウェア開発宣⾔ • 私たちは、ソフトウェア開発の実践、あるいは実践を⼿ 助けする活動を通じて、よりよい開発⽅法を⾒つけ出そ うとしている。 http://agilemanifesto.org/iso/ja/
  39. 39. • 働ける時間は短い • 好きなこと、やりたいことをやろう! 今すぐにモノを作って実験しよう。 世の中はしらないことだらけだ。 ●おわり●

×