• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Demand Technical Excellence James Grenning keynote at AgileJapan 2013
 

Demand Technical Excellence James Grenning keynote at AgileJapan 2013

on

  • 9,675 views

James Grenning's Keynote at Agile Japan 2013.

James Grenning's Keynote at Agile Japan 2013.

"Demand Technical Excellence" with Japanese subtitle by Kenji Hiranabe.

http://www.agilejapan.org/2013/program.html#01

Statistics

Views

Total Views
9,675
Views on SlideShare
2,985
Embed Views
6,690

Actions

Likes
10
Downloads
59
Comments
0

13 Embeds 6,690

http://blogs.itmedia.co.jp 5775
http://www.manaslink.com 362
http://legoboku.blogspot.jp 321
https://twitter.com 210
https://www.google.co.jp 8
http://feeds.feedburner.com 5
http://legoboku.blogspot.com 2
http://webcache.googleusercontent.com 2
http://cache.yahoofs.jp 1
http://legoboku.blogspot.in 1
http://legoboku.blogspot.fr 1
http://www.legoboku.blogspot.com 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Demand Technical Excellence James Grenning keynote at AgileJapan 2013 Demand Technical Excellence James Grenning keynote at AgileJapan 2013 Presentation Transcript

    • Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Present toTokyo, JapanByJames GrenningDemand Technical Excellencehttp://www.pragprog.com/titles/jgadeアジャイルにおける技術と品質の重要性Talk to me on Twitter@jwgrenningFind me on linkedin.comjwgrenningPlease remind me how we met.2Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Kent Beck Ron JeffriesWard Cunningham Martin Fowler3Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.How Did I Find Myself at AgileManifesto Meeting?James, do youwant to go totheLightweightMethodsSummit inSnowbird?Skiing!Sure Bob, I’llgo….なぜアジャイル宣言に参加したか?Robert Martin4Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Before the Manifestoアジャイル宣言以前
    • 5Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.67Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.8Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.That may not have beenWatts’ intention, but it was themessage that industry washearingWatts’ は意図していなかもしれないが、これが産業に与えたメッセージ。
    • 9Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 911Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 11一行目であり、一番重要な文章は「人」を強調している。12Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.People and Values were Centralto Forming Agile「人」と「価値」がアジャイルの中心
    • 13Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.13Software development isnot centrally about theprocess and documentsソフトウェア開発は「プロセス」と「ドキュメント」が中心ではない。14Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.It’s about the code, thecustomer, the product!thanks:lumaxarthttp://www.freestockphotos.biz/license.php?id=9749それは、「コード」、「顧客」、「プロダクト」なのだ!15Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Great teams of peoplebuild great productsProcess is secondary,at bestすごいチームがすごい製品を作る。プロセスは、せいぜいでも二次的。16Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Will anyone care about thesebullet points?もうだれもこの4つを気にしていない?
    • 17Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Agile’s Impact isBeyond our WildestDreamsIt’s likely no one will care.だれも気にしなくなる。アジャイルの衝撃は、想像を超えた。18037500750001125001500002002 2003 2004 2005 2006 2007 2008 2009 2010Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Certified Scrum Masters認定スクラムマスターの数19Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What is Scrum?Scrum is a very simple frameworkwithin which the “game” of complexproduct development is played. Scrumexposes every inadequacy ordysfunction within an organization’sproduct and system developmentpractices. The intention of Scrum is tomake them transparent so theorganization can fix them.From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaberKen SchwaberScrumは新製品開発(複雑系)というゲームのルールとしての、シンプルなフレームワーク。Scrumは組織の製品およびシステム開発の能力不足、機能不全を露にする。Scrumの意図は、それらを「透過的にし」、組織が自らそれを修正できるようにすることである。Scrumとは?20Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What Can Scrum Do?20Jeff SutherlandFrom: Scrum with XP and BeyondProductivity 5-10 times industryaverage has been observed in manyScrum teams since 1993.1993以降、Scrumを使うことで生産性が産業平均の5-10倍というケースが観測されている。Scrumに何ができるか
    • 21Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Ken, What is Happening Generally inScrum Adoption?Unfortunately, many organizationschange Scrum to accommodate theinadequacies or dysfunctions insteadof solving them.From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaberKen Schwaber不幸にも、多くの組織がその能力不足や機能不全を解決するのではなく、それに合わせてScrumのやり方を調整してしまう。Kenに聞く。Scrumの採用で起こりがちなことは?22Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.23Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.24Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.欠かすことのできないデブリーフィング
    • 25Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Debriefing isabout continuousimprovementJames MurphyDebriefing とは、継続的改善だ。26Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Not long after graduating college,I joined an office product companyand started selling copiers. I lovedwhat i did.James Murphy大学卒業後、事務機会社に就職。コピー機を販売した。自分の仕事を気に入っていた。27Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.I had no flightexperience…, but I wasgoing to fly jets.James MurphyIf I could not learn fast,I would be out of theprogramフライトの経験はなかった。でも、ジェット機を操縦することになった。もし速く学習することができなければ、すぐに外されてしまう。28Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Just two years after signing up, I was not onlyflying, I was flying the supersonic F-15 Eagleサインアップしてから2年後に、飛行機を操縦できた。それも、超音速 F-15 イーグルを。
    • 29Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.欠かすことのできないデブリーフィング30Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.We don’t hide ourweaknesses... wethink it weak to hideour mistakes.自分の「弱さ」を隠さない。間違いを隠すことこと、「弱さ」だ。31Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.10年前のアジャイル宣言。その記念企画を思いついた。日付は2011年2月12日、場所はスノーバード。そこに行って会議室を予約してきた。32Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.
    • 33Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Debrief: What dowe, as membersof the agilecommunityneed to fix?デブリーフィング:アジャイルコミュニティとして、私たちは何を直すべきだろう?34Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.10 Year Agile Celebration35Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.We believe the agilecommunity must:#1 Demand technical excellence#2 Promote Individual [Change] andLead Organizational Change#1:技術的卓越を重要視する#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。アジャイルコミュニティがしなければいけないこと
    • 37Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Remember what Ken Said?"…………………………………………….…………………………...……………………………………………………...…… The intention of Scrum is to makethem [the problems] transparent so theorganization can fix them."Ken SchwaberUnfortunately, many organizationschange Scrum to accommodate theinadequacies or dysfunctions insteadof solving them.Kenが言ったことを思い出す。38Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What’s the Problem?from: Scrum with XP and BeyondThe biggest problem worldwide forScrum teams is getting shippable codeat the end of every sprint.Jeff Sutherland何が問題か?世界中のScrumチームで最大の問題は、毎回のスプリント毎に出荷可能なコードを作ること。Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Hardening Sprints39Sprint 1 Sprint 2 Sprint 3 Sprint 4 Hardening SprintTest and FixTest and Fix Test and FixTest and FixTest and FixTest and Fix(焼きなまし=品質向上のためのスプリント)www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2011 James W. GrenningAll Rights Reserved. For use by training attendees.Do Your Hardening Sprints Degradeinto a Fire Fight?40品質向上スプリントが、消火活動になってない?
    • 41Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Being good at chasingand managing bugsis not TechnicalExcellenceバグを追っかけて管理することは、技術的卓越ではない。Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.We believe the agilecommunity must:#1 Demand technical excellence#2 Promote Individual [Change] andLead Organizational Change#1:技術的卓越を重要視する#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。アジャイルコミュニティがしなければいけないこと43Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The cadence of developmentchanges with ScrumAre you changing the how youengineer your products?開発の順序がScrumでは違う。自分の製品をどうエンジニアリングするか、にも変化が必要44Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The Marriage of Scrum and XP44ScrumとXPの結婚
    • 45037500750001125001500002002 2003 2004 2005 2006 2007 2008 2009 2010Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.So Far the Marriage is UnequalCertifiedScrumMasters249CSDs現在の結婚は、不調和46Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.- A Brief Debrief -Current Development Practice in Industry47Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 48Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.May 7 11:21:17: --- last message repeated 1 time ---May 7 11:21:17 Cowboy kernel[0]: IOSurface: buffer allocation size is zeroMay 7 11:22:51 Cowboy kernel[0]: IOSurface: buffer allocation size is zeroMay 7 11:23:36 Cowboy kernel[0]: IOSurface: buffer allocation size is zeroMay 7 11:24:06: --- last message repeated 1 time ---May 7 11:26:54 Cowboy kernel[0]: IOSurface: buffer allocation size is zeroMay 7 11:27:24: --- last message repeated 1 time ---May 7 11:41:44 Cowboy kernel[0]: IOSurface: buffer allocation size is zeroMay 7 11:42:14: --- last message repeated 4 times ---May 7 11:51:45 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336409506May 7 12:08:58 Cowboy kernel[0]: hibernate image path: /var/vm/sleepimageMay 7 12:08:58 Cowboy kernel[0]: sizeof(IOHibernateImageHeader) == 512May 7 12:08:58 Cowboy kernel[0]: Opened file /var/vm/sleepimage, size 8589934592, partition base 0x0, maxio 400000 ssd 1May 7 12:08:58 Cowboy kernel[0]: hibernate image major 14, minor 0, blocksize 512, pollers 5May 7 12:08:58 Cowboy kernel[0]: hibernate_alloc_pages flags 00000000, gobbling 0 pagesMay 7 12:08:58 Cowboy kernel[0]: hibernate_setup(0) took 0 msMay 7 12:09:01 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a1:33:c9May 7 12:09:01 Cowboy kernel[0]: wlEvent: en1 en1 Link DOWNMay 7 12:09:01 Cowboy kernel[0]: AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving).May 7 12:09:01 Cowboy kernel[0]:May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall start 0xffffff80d4cff000, 0xffffff80d4f98000May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall time: 415 msMay 7 12:09:37 Cowboy kernel[0]: pages 2040801, wire 338507, act 950045, inact 182445, spec 36, zf 113125, throt 0, could discard act 169869 inact 207719purgeable 38826 spec 40229May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall found pageCount 1584158May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen, ml_get_interrupts_enabled 0May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen(0)May 7 12:09:37 Cowboy kernel[0]: writing 1583874 pagesMay 7 12:09:37 Cowboy kernel[0]: encryptStart 4f820May 7 12:09:37 Cowboy kernel[0]: encryptEnd 108b02c0May 7 12:09:37 Cowboy kernel[0]: image1Size 474682880, encryptStart1 4f820, End1 108b02c0May 7 12:09:37 Cowboy kernel[0]: encryptStart 1c4b1600May 7 12:09:37 Cowboy kernel[0]: encryptEnd b7957b30May 7 12:09:37 Cowboy kernel[0]: PMStats: Hibernate write took 35189 msMay 7 12:09:37 Cowboy kernel[0]: all time: 35189 ms, comp bytes: 6487916544 time: 6366 ms 971 Mb/s, crypt bytes: 2882564048 time: 4618 ms 595 Mb/s,May 7 12:09:37 Cowboy kernel[0]: image 3080027136, uncompressed 6487916544 (535388), compressed 3068648576 (47%), sum1 ec64ffd2, sum2 571d97a2May 7 12:09:37 Cowboy kernel[0]: wired_pages_encrypted 224499, wired_pages_clear 113814, dirty_pages_encrypted 1245651May 7 12:09:37 Cowboy kernel[0]: hibernate_write_image done(0)May 7 12:09:37 Cowboy kernel[0]: sleepMay 7 14:06:05 Cowboy kernel[0]: Wake reason: EC.LidOpen (User)May 7 14:06:05 Cowboy kernel[0]: en1: 802.11d country code set to X0.May 7 14:06:05 Cowboy kernel[0]: en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140 149 153157 161 165May 7 14:06:06 Cowboy kernel[0]: Sound assertion "0 == fAudioEngineArray" failed in AppleHDADriver at line 3163 goto ExitMay 7 14:06:08 Cowboy kernel[0]: Previous Sleep Cause: 5May 7 14:06:08 Cowboy kernel[0]: MacAuthEvent en1 Auth result for: 00:40:96:a0:63:95 MAC AUTH succeededMay 7 14:06:08 Cowboy kernel[0]: wlEvent: en1 en1 Link UPMay 7 14:06:08 Cowboy kernel[0]: AirPort: Link Up on en1May 7 14:06:08 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a0:63:95May 7 14:06:47 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336417608
    • 49Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 50Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.51Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.197952Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.2013
    • 53Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Debug-laterProgrammingCongratulations! These arestate of the art circa 1979おめでとう!これは、1979年ころの状態!デバッグ後付プログラミングAgile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The Physics of Debug LaterProgramming (DLP)• As Td increases, Tfind increases dramatically• Tfix is usually short, but can increase with Td54Bug discoveryMistake made(bug injection)Bug found Bug fixedTd Tfind T fixTimeデバッグ後付プログラミングの原理•Td が増加すると、Tfind が劇的に増加。•Tfixは通常短いが、Tdが長いと増加する。55Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.A Bug’s Life55From http://www.softwaretestinghelp.com/bug-life-cycle/56Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.56Your program will havebugs. And they willsurprise you when youfind them.プログラムにはバグがある。バグ自身も、見つけられたときにびっくりする。
    • 57Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Zune 30G57December31,200858Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 58BOOL ConvertDays(UINT32 days, SYSTEMTIME* lpTime)59Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.59One That Got Awaystatic void SetYearAndDayOfYear(RtcTime* time){int days = time->daysSince1980;int year = STARTING_YEAR;while (days > 365){if (IsLeapYear(year)){if (days > 366){days -= 366;year += 1;}}else{days -= 365;year += 1;}}time->dayOfYear = days;time->year = year;}見逃したバグ60Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.This Test Could Have Prevented itTEST(Rtc, check20081231){days = daysSince1980(2008, 366);CHECK(ConvertDays(days, &time));assertDate(WED, 2008, 12, 31);}(あれば)見つけられたであろうテスト
    • 61Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Where do the bugscome from?バグはどこから来るのか?626363 64Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.It’s Our FaultJames D. MurphyWe put them there自分自身のしわざ
    • Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.This Work Flow is Designed toAllow Defects65DevelopmentTestDefectsこのワークフローは、欠陥の存在を許してしまうように設計されている。66Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.A Bug’s Life66From http://www.softwaretestinghelp.com/bug-life-cycle/67Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The Meaning of the Marriage ofScrum and XP67 68Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.XP Defines the Technical PracticesNeeded for Evolving DesignsXPは進化的設計に必要な技術的プラクティスを定義している。
    • 69Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Edsger DijkstraThose who want really reliablesoftware will discover that they mustfind means of avoiding the majorityof bugs to start with, and as a result,the programming process willbecome cheaper. If you want moreeffective programmers, you willdiscover that they should not wastetheir time debugging, they should notintroduce the bugs to start with.信頼性の高いソフトウェアが必要であれば、バグの大部分を最初から「避ける」方法を探さなければならない、ということに気づくだろう。その結果としてプログラミングのプロセスは安価になる。よいプログラマとは、最初からバグを作り込まないようにし、大切な時間をデバッグに無駄遣いしないプログラマだ、ということに気づくだろう。Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.• Write a test• Watch it fail• Make it pass• Refactor (improve)• Repeat until doneTDD•テストを書く•失敗することを確認•通過させる•リファクタリング(改善)•繰り返すAgile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Development and Test are a ContinuumPreventing Defects71DevelopmentTest「開発」と「テスト」は欠陥予防の連続体Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The Physics of Test DrivenDevelopment• When Td approaches zero, Tfind approaches zero• In many cases, bugs are not around long enough to be consideredbugs.• See: http://www.renaissancesoftware.net/blog/archives/1672MistakediscoveryMistakemadeRoot causefoundMistake fixedT d Tfind T fixTimeテスト駆動開発の物理学•Td が0に近づけば、Tfind が0に近づく。•多くの場合、バグはバグと呼ばれるほど長く存在しない。
    • 73Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Unit Tests are Critical!Is your team doing TDD?Does your team create unit tests?ユニットテストは、クリティカルだ!あなたのチームはTDDしている?あなたのチームはユニットテストを作っている?74Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.System Level Tests Cannot be Thorough• How many sub-system tests are needed?10states10states10states5 interactions5 interactions5 interactionsTestsサブシステムテストはいくつ必要?システムレベルテストは、完璧には書けない75Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.TDD unit tests can be thorough• How many unit tests are needed?10states10states10states5 interactions5 interactions5 interactionsTests Testsユニットテストはいくつ必要?ユニットテストは十分に書くことができる。76Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Tests Must be Automatedテストは自動化すること
    • Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.testAssume Test Effort isProportional toDevelopment EffortdevIterationsEffort510152025テストのコストは開発のコストに比例すると課程Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.If a system is working,leave it alone. Dontchange anything.Systems don’t appreciatebeing fiddled anddiddled with.• 25% of all defects areintroduced while changingand fixing code.[R.B Grady, Software Process Improvement]システムが動いているなら、触るな!何も変えてはいけない。システムは、勝手に手を加えられるのを嫌がる。25%の欠陥は、変更したり修正したりするときに混入する。82Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Because systems actup -- we have to be verycareful.システムの振る舞いは気まま。私たちが注意していないといけないAgile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.testManual Test isUnsustainableEffortIterationsUnsustainable growthdev510152025 手動テストは継続できない
    • Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Risk Accumulatesin the Untested CodeEffortIterationsUnsustainable growthdev510152025 Untested Code Gaptestテストされないコードギャップに、リスクが累積する85Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.My Take Away85Keep the cost of retest lowKeep the systemrunningTests Must be Automated今日持って帰って欲しいこと•テストは自動化する•再テストのコストを低く保つ•システムを動かし続ける86Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Try to Reframe the Problem86We can’t afford to write automated tests,it takes away from adding new featuresWe can’t afford to not automate tests,the manual retest time takes away fromadding new features問題をリフレーム自動テストを書いている時間がとれない。新機能が追加できない。自動テストなしという余裕はとれない。手動テストの再テストで、新機能が追加できない。Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.We believe the agilecommunity must:#1 Demand technical excellence#2 Promote Individual [Change] andLead Organizational Change#1:技術的卓越を重要視する#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。
    • 88Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.TechnicalExcellence isn’tJust PassingTEsts技術的卓越とは、単にテストを通過させることではない!89Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What’s Wrong?Any fool can write codethat the compilerunderstands, but it takesreal skill to write codeother programmers canunderstand.From “Refactoring - Improving the Design of Existing Codeどんなバカでもコンパイラが理解できるコードを書くことはできる。しかし、本当にスキルが必要なのは他のプログラマが理解できるコードを書くことだ。90Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Why does codestructure matter?コードの構造がなぜ大切か?91Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.The Two Values of Softwareソフトウェアの2つの価値
    • 92Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Spaghetti Slide97Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What are We Supposed to Do?The intention of Scrum is to makethem [your problems] transparent sothe organization can fix them.From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaberKen Schwaber98Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What is the biggest problem of gettingthere?from: Scrum with XP and BeyondThe biggest problem worldwide forScrum teams is getting shippable codeat the end of every sprint.96Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.96Why aren’t you usingTDD and Refactoring andthe other technicalpractices of Agile?なぜ、TDD、リファクタリング、アジャイルのその他の技術プラクティスを使わないのか?
    • 100Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.What is in yourway?何が障害なのか?101101I don’t have time!!http://commons.wikimedia.org/wiki/File:Clock_at_St._Mary%27s_Church_in_Gda%C5%84sk.jpg時間がないのです。102Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Learn TDD and AgileDevelopment skills.TDD is faster than DLPMore fun too!TDDとアジャイル開発スキルを学びましょう。TDDはDLPより速い。しかも、楽しい!105Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.DevelopersTODO105Beware of limitsものづくりのプロになれ新しいことを学んで挑戦せよ自分の組織のアドバイザーになれ信頼関係を築け。自分の仕事を透明に見えるようにせよ
    • 106I’ve got 10 yearsexperience!1 year 1 year 1 year 1 year 1 year1 year 1 year 1 year 1 year 1 year107Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.10 Years of Experience Doesn’t MeanYou’ve Got Your 10,000 Hours10年の経験、ということは10,000時間あるということではない。19991999 2012 20082002200420122001103www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2011 James W. GrenningAll Rights Reserved. For use by training attendees.`My Boss won’t let me上司がやらせてくれないんです。108Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.thanks: lumaxarthttp://www.freestockphotos.biz/license.php?id=9746We have stretch goalsYou know, for motivation.ストレッチ目標モチベーションのために。
    • 104Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees. 104109Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Managers!Realize...109個人や組織のモチベーションを上げるのは難しいでも、モチベーションを下げるのは簡単!110Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Demotivators110非現実的な締め切りモチベーションを下げるもの事実を責める低い品質の仕事をさせる信頼関係がない111Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.I Tried to AvoidComputers111コンピュータを避けてきた
    • 113Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.ScrumMasters TODO113自分のチームが最新のプラクティスの知識を持っているように。自分の組織が、その重要さを知っているように。ScrumMasterのToDO114Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.People are generallydoing the best they know人々は自分が知っている範囲で最善を行う。必ずしも「知らない」ことを知らない。115Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.ScrumMasters TODO115問題解決、を奨励すること宗教信者にならないように覚書:Scrumスレーブはない。116Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.ManagersTODO:116マネジャーのToDo最高のチームを育てるモチベーションを下げる要素をなくすチームのモチベーションを上げようとしない。
    • 117Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.117How to Improve - Build aLearning Environment自分のスキルは自分でふりかえりどうやって改善するか – 学習する環境をいかに作るか118Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.You don’t delightcustomers with theuntested code gapテストされていないコードギャップでは顧客を喜ばせられない。119Agile Japan - Tokyo 2013www.renaissancesoftware.netjames@renaissancesoftware.netCopyright © 2008-2013 James W. GrenningAll Rights Reserved. For use by training attendees.Demand Technical ExcellenceTalk to me on Twitter@jwgrenningFind me on linkedin.comjwgrenningPlease remind me how we met.