SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Present to
Tokyo, Japan
By
James Grenning
Demand Technical Excellence
http://www.pragprog.com/titles/jgade
アジャイルにおける技術と品質の重要性
Talk to me on Twitter
@jwgrenning
Find me on linkedin.com
jwgrenning
Please remind me how we met.
2
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Kent Beck Ron Jeffries
Ward Cunningham Martin Fowler
3
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
How Did I Find Myself at Agile
Manifesto Meeting?
James, do you
want to go to
the
Lightweight
Methods
Summit in
Snowbird?
Skiing!
Sure Bob, I’ll
go….
なぜアジャイル宣言に参加したか?
Robert Martin
4Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Before the Manifesto
アジャイル宣言以前
5Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
6
7Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
8
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
That may not have been
Watts’ intention, but it was the
message that industry was
hearing
Watts’ は意図していなかもしれない
が、これが産業に与えたメッセージ。
9Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 9
11Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 11
一行目であり、一番重要な文章は「人」を強調している。
12
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
People and Values were Central
to Forming Agile
「人」と「価値」がアジャイルの中心
13
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
13
Software development is
not centrally about the
process and documents
ソフトウェア開発は「プロセス」と
「ドキュメント」が中心ではない。
14Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
It’s about the code, thecustomer, the product!
thanks:lumaxart
http://www.freestockphotos.biz/license.php?id=9749
それは、「コード」、「顧客」、「プロダクト」なのだ!
15Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Great teams of people
build great products
Process is secondary,
at best
すごいチームがすごい製品を作る。
プロセスは、せいぜいでも二次的。
16Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Will anyone care about thesebullet points?
もうだれもこの4つを気にしていない?
17Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Agile’s Impact is
Beyond our Wildest
Dreams
It’s likely no one will care.
だれも気にしなくなる。
アジャイルの衝撃は、想像を超えた。
18
0
37500
75000
112500
150000
2002 2003 2004 2005 2006 2007 2008 2009 2010
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Certified Scrum Masters
認定スクラムマスターの数
19
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What is Scrum?
Scrum is a very simple framework
within which the “game” of complex
product development is played. Scrum
exposes every inadequacy or
dysfunction within an organization’s
product and system development
practices. The intention of Scrum is to
make them transparent so the
organization can fix them.
From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber
Ken Schwaber
Scrumは新製品開発(複雑系)というゲームのルールとしての、シンプル
なフレームワーク。Scrumは組織の製品およびシステム開発の能力不足、
機能不全を露にする。Scrumの意図は、それらを「透過的にし」、組織が
自らそれを修正できるようにすることである。
Scrumとは?
20
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What Can Scrum Do?
20
Jeff Sutherland
From: Scrum with XP and Beyond
Productivity 5-10 times industry
average has been observed in many
Scrum teams since 1993.
1993以降、Scrumを使うことで生産性が産業平
均の5-10倍というケースが観測されている。
Scrumに何ができるか
21
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Ken, What is Happening Generally in
Scrum Adoption?
Unfortunately, many organizations
change Scrum to accommodate the
inadequacies or dysfunctions instead
of solving them.
From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber
Ken Schwaber
不幸にも、多くの組織がその能力不足や機能不
全を解決するのではなく、それに合わせて
Scrumのやり方を調整してしまう。
Kenに聞く。Scrumの採用で起こりがちなことは?
22
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
23
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
24
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
欠かすことのできないデブリーフィング
25
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Debriefing is
about continuous
improvement
James Murphy
Debriefing とは、継続的改善だ。
26
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Not long after graduating college,
I joined an office product company
and started selling copiers. I loved
what i did.
James Murphy
大学卒業後、事務機会社に就職。コピー機を
販売した。自分の仕事を気に入っていた。
27
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
I had no flight
experience…, but I was
going to fly jets.
James Murphy
If I could not learn fast,
I would be out of the
program
フライトの経験はなかった。でも、ジェッ
ト機を操縦することになった。
もし速く学習することができなければ、す
ぐに外されてしまう。
28
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Just two years after signing up, I was not only
flying, I was flying the supersonic F-15 Eagle
サインアップしてから2年後に、飛行機を操縦でき
た。それも、超音速 F-15 イーグルを。
29
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
欠かすことのできないデブリーフィング
30
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
We don’t hide our
weaknesses... we
think it weak to hide
our mistakes.
自分の「弱さ」を隠さない。間違い
を隠すことこと、「弱さ」だ。
31
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
10年前のアジャイル宣言。その記念企画を思いついた。日付は2011年2
月12日、場所はスノーバード。そこに行って会議室を予約してきた。
32Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
33
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Debrief: What do
we, as members
of the agile
community
need to fix?
デブリーフィング:アジャイルコミュニティとし
て、私たちは何を直すべきだろう?
34Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
10 Year Agile Celebration
35Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
We believe the agile
community must:
#1 Demand technical excellence
#2 Promote Individual [Change] and
Lead Organizational Change
#1:技術的卓越を重要視する
#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。
アジャイルコミュニティがしなければいけないこと
37
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Remember what Ken Said?
"…………………………………………….
…………………………...…………………
…………………………………...…
… The intention of Scrum is to make
them [the problems] transparent so the
organization can fix them."
Ken Schwaber
Unfortunately, many organizations
change Scrum to accommodate the
inadequacies or dysfunctions instead
of solving them.
Kenが言ったことを思い出す。
38
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What’s the Problem?
from: Scrum with XP and Beyond
The biggest problem worldwide for
Scrum teams is getting shippable code
at the end of every sprint.
Jeff Sutherland
何が問題か?
世界中のScrumチームで最大の問題は、毎回のス
プリント毎に出荷可能なコードを作ること。
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Hardening Sprints
39
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Hardening Sprint
Test and Fix
Test and Fix Test and Fix
Test and Fix
Test and FixTest and Fix
(焼きなまし=品質向上のためのスプリント)
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2011 James W. Grenning
All Rights Reserved. For use by training attendees.
Do Your Hardening Sprints Degrade
into a Fire Fight?
40
品質向上スプリントが、消火活動になってない?
41Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Being good at chasingand managing bugsis not TechnicalExcellence
バグを追っかけて管理することは、技術的卓越ではない。
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
We believe the agile
community must:
#1 Demand technical excellence
#2 Promote Individual [Change] and
Lead Organizational Change
#1:技術的卓越を重要視する
#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。
アジャイルコミュニティがしなければいけないこと
43
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The cadence of developmentchanges with Scrum
Are you changing the how you
engineer your products?
開発の順序がScrumでは違う。
自分の製品をどうエンジニアリン
グするか、にも変化が必要
44
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The Marriage of Scrum and XP
44
ScrumとXPの結婚
45
0
37500
75000
112500
150000
2002 2003 2004 2005 2006 2007 2008 2009 2010
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
So Far the Marriage is Unequal
CertifiedScrum
M
asters
249
CSDs
現在の結婚は、不調和
46
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
- A Brief Debrief -
Current Development Practice in Industry
47Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 48Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All 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 zero
May 7 11:22:51 Cowboy kernel[0]: IOSurface: buffer allocation size is zero
May 7 11:23:36 Cowboy kernel[0]: IOSurface: buffer allocation size is zero
May 7 11:24:06: --- last message repeated 1 time ---
May 7 11:26:54 Cowboy kernel[0]: IOSurface: buffer allocation size is zero
May 7 11:27:24: --- last message repeated 1 time ---
May 7 11:41:44 Cowboy kernel[0]: IOSurface: buffer allocation size is zero
May 7 11:42:14: --- last message repeated 4 times ---
May 7 11:51:45 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336409506
May 7 12:08:58 Cowboy kernel[0]: hibernate image path: /var/vm/sleepimage
May 7 12:08:58 Cowboy kernel[0]: sizeof(IOHibernateImageHeader) == 512
May 7 12:08:58 Cowboy kernel[0]: Opened file /var/vm/sleepimage, size 8589934592, partition base 0x0, maxio 400000 ssd 1
May 7 12:08:58 Cowboy kernel[0]: hibernate image major 14, minor 0, blocksize 512, pollers 5
May 7 12:08:58 Cowboy kernel[0]: hibernate_alloc_pages flags 00000000, gobbling 0 pages
May 7 12:08:58 Cowboy kernel[0]: hibernate_setup(0) took 0 ms
May 7 12:09:01 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a1:33:c9
May 7 12:09:01 Cowboy kernel[0]: wlEvent: en1 en1 Link DOWN
May 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, 0xffffff80d4f98000
May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall time: 415 ms
May 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 207719
purgeable 38826 spec 40229
May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall found pageCount 1584158
May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen, ml_get_interrupts_enabled 0
May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen(0)
May 7 12:09:37 Cowboy kernel[0]: writing 1583874 pages
May 7 12:09:37 Cowboy kernel[0]: encryptStart 4f820
May 7 12:09:37 Cowboy kernel[0]: encryptEnd 108b02c0
May 7 12:09:37 Cowboy kernel[0]: image1Size 474682880, encryptStart1 4f820, End1 108b02c0
May 7 12:09:37 Cowboy kernel[0]: encryptStart 1c4b1600
May 7 12:09:37 Cowboy kernel[0]: encryptEnd b7957b30
May 7 12:09:37 Cowboy kernel[0]: PMStats: Hibernate write took 35189 ms
May 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 571d97a2
May 7 12:09:37 Cowboy kernel[0]: wired_pages_encrypted 224499, wired_pages_clear 113814, dirty_pages_encrypted 1245651
May 7 12:09:37 Cowboy kernel[0]: hibernate_write_image done(0)
May 7 12:09:37 Cowboy kernel[0]: sleep
May 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 153
157 161 165
May 7 14:06:06 Cowboy kernel[0]: Sound assertion "0 == fAudioEngineArray" failed in AppleHDADriver at line 3163 goto Exit
May 7 14:06:08 Cowboy kernel[0]: Previous Sleep Cause: 5
May 7 14:06:08 Cowboy kernel[0]: MacAuthEvent en1 Auth result for: 00:40:96:a0:63:95 MAC AUTH succeeded
May 7 14:06:08 Cowboy kernel[0]: wlEvent: en1 en1 Link UP
May 7 14:06:08 Cowboy kernel[0]: AirPort: Link Up on en1
May 7 14:06:08 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a0:63:95
May 7 14:06:47 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336417608
49Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 50Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
51Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
1979
52Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
2013
53
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Debug-laterProgramming
Congratulations! These are
state of the art circa 1979
おめでとう!これは、
1979年ころの状態!
デバッグ後付プログラ
ミング
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The Physics of Debug Later
Programming (DLP)
• As Td increases, Tfind increases dramatically
• Tfix is usually short, but can increase with Td
54
Bug discoveryMistake made
(bug injection)
Bug found Bug fixed
Td Tfind T fix
Time
デバッグ後付プログラミングの原理
•Td が増加すると、Tfind が劇的に増加。
•Tfixは通常短いが、Tdが長いと増加する。
55
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
A Bug’s Life
55
From http://www.softwaretestinghelp.com/bug-life-cycle/
56
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
56
Your program will have
bugs. And they will
surprise you when you
find them.
プログラムにはバグがある。
バグ自身も、見つけられたとき
にびっくりする。
57
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Zune 30G
57Decem
ber31,2008
58Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 58
BOOL ConvertDays(UINT32 days, SYSTEMTIME* lpTime)
59
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
59
One That Got Away
static 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 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
This Test Could Have Prevented it
TEST(Rtc, check20081231)
{
days = daysSince1980(2008, 366);
CHECK(ConvertDays(days, &time));
assertDate(WED, 2008, 12, 31);
}
(あれば)見つけられたであろうテスト
61
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Where do the bugscome from?
バグはどこから来るのか?
62
6363 64
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
It’s Our Fault
James D. Murphy
We put them there
自分自身のしわざ
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
This Work Flow is Designed to
Allow Defects
65
Development
Test
Defects
このワークフローは、欠陥
の存在を許してしまうよう
に設計されている。
66
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
A Bug’s Life
66
From http://www.softwaretestinghelp.com/bug-life-cycle/
67
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The Meaning of the Marriage of
Scrum and XP
67 68
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
XP Defines the Technical Practices
Needed for Evolving Designs
XPは進化的設計に必要な技術的プラクティスを定義している。
69
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Edsger Dijkstra
Those who want really reliable
software will discover that they must
find means of avoiding the majority
of bugs to start with, and as a result,
the programming process will
become cheaper. If you want more
effective programmers, you will
discover that they should not waste
their time debugging, they should not
introduce the bugs to start with.
信頼性の高いソフトウェアが必要であれば、バグの大部分を最
初から「避ける」方法を探さなければならない、ということに
気づくだろう。その結果としてプログラミングのプロセスは安
価になる。よいプログラマとは、最初からバグを作り込まない
ようにし、大切な時間をデバッグに無駄遣いしないプログラマ
だ、ということに気づくだろう。
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
• Write a test
• Watch it fail
• Make it pass
• Refactor (improve)
• Repeat until done
T
D
D
•テストを書く
•失敗することを確認
•通過させる
•リファクタリング(改善)
•繰り返す
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Development and Test are a Continuum
Preventing Defects
71
Development
Test
「開発」と「テスト」は欠陥予防の連続体
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The Physics of Test Driven
Development
• When Td approaches zero, Tfind approaches zero
• In many cases, bugs are not around long enough to be considered
bugs.
• See: http://www.renaissancesoftware.net/blog/archives/16
72
Mistake
discovery
Mistake
made
Root cause
found
Mistake fixed
T d Tfind T fix
Time
テスト駆動開発の物理学
•Td が0に近づけば、Tfind が0に近づく。
•多くの場合、バグはバグと呼ばれるほど長く存在しない。
73
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All 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 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
System Level Tests Cannot be Thorough
• How many sub-system tests are needed?
10
states
10
states
10
states
5 interactions
5 interactions
5 interactions
Tests
サブシステムテストはいくつ必要?
システムレベルテストは、完璧には書けない
75Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
TDD unit tests can be thorough
• How many unit tests are needed?
10
states
10
states
10
states
5 interactions
5 interactions
5 interactions
Tests Tests
ユニットテストはいくつ必要?
ユニットテストは十分に書くことができる。
76
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Tests Must be Automated
テストは自動化すること
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
test
Assume Test Effort is
Proportional to
Development Effort
dev
Iterations
Effort
5
10
15
20
25
テストのコストは開発のコストに比例すると課程
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
If a system is working,
leave it alone. Don't
change anything.
Systems don’t appreciate
being fiddled and
diddled with.
• 25% of all defects are
introduced while changing
and fixing code.
[R.B Grady, Software Process Improvement]
システムが動いているなら、触る
な!何も変えてはいけない。
システムは、勝手に手を加えられ
るのを嫌がる。
25%の欠陥は、変更したり修正し
たりするときに混入する。
82
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Because systems actup -- we have to be verycareful.
システムの振る舞いは気まま。私たちが注意していないといけない
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
test
Manual Test is
Unsustainable
Effort
Iterations
Unsustainable growth
dev
5
10
15
20
25 手動テストは継続できない
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Risk Accumulates
in the Untested Code
Effort
Iterations
Unsustainable growth
dev
5
10
15
20
25 Untested Code Gap
test
テストされないコードギャップ
に、リスクが累積する
85
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
My Take Away
85
Keep the cost of retest low
Keep the system
running
Tests Must be Automated
今日持って帰って
欲しいこと
•テストは自動化する
•再テストのコストを低く保つ
•システムを動かし続ける
86
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Try to Reframe the Problem
86
We can’t afford to write automated tests,it takes away from adding new features
We can’t afford to not automate tests,
the manual retest time takes away from
adding new features
問題をリフレーム
自動テストを書いている時間がとれない。新機能が追加できない。
自動テストなしという余裕はとれない。手動テストの再テストで、新機
能が追加できない。
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
We believe the agile
community must:
#1 Demand technical excellence
#2 Promote Individual [Change] and
Lead Organizational Change
#1:技術的卓越を重要視する
#2:個人の(変化の)重要さを尊重しながら組織変革をリードする。
88
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
TechnicalExcellence isn’tJust Passing
TEsts
技術的卓越とは、単にテストを通過させることではない!
89
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What’s Wrong?
Any fool can write code
that the compiler
understands, but it takes
real skill to write code
other programmers can
understand.
From “Refactoring - Improving the Design of Existing Code
どんなバカでもコンパイラが理解できるコードを書くことはできる。しかし、本当に
スキルが必要なのは他のプログラマが理解できるコードを書くことだ。
90
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Why does code
structure matter?
コードの構造がなぜ大切か?
91Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
The Two Values of Software
ソフトウェアの2つの価値
92Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Spaghetti Slide
97
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What are We Supposed to Do?
The intention of Scrum is to make
them [your problems] transparent so
the organization can fix them.
From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber
Ken Schwaber
98
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What is the biggest problem of getting
there?
from: Scrum with XP and Beyond
The biggest problem worldwide for
Scrum teams is getting shippable code
at the end of every sprint.
96
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
96
Why aren’t you using
TDD and Refactoring and
the other technical
practices of Agile?
なぜ、TDD、リファクタリング、アジャ
イルのその他の技術プラクティスを使わ
ないのか?
100Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
What is in your
way?
何が障害なのか?
101101
I don’t have time!!
http://commons.wikimedia.org/wiki/File:Clock_at_St._Mary%27s_Church_in_Gda%C5%84sk.jpg
時間がないのです。
102Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Learn TDD and Agile
Development skills.
TDD is faster than DLP
More fun too!
TDDとアジャイル開発スキルを学びましょ
う。
TDDはDLPより速い。しかも、楽しい!
105
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Developers
TODO
105
Beware of limits
ものづくりのプロになれ
新しいことを学んで挑戦せよ
自分の組織のアドバイザーになれ
信頼関係を築け。
自分の仕事を透明に見えるようにせよ
106
I’ve got 10 years
experience!
1 year 1 year 1 year 1 year 1 year
1 year 1 year 1 year 1 year 1 year
107
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
10 Years of Experience Doesn’t Mean
You’ve Got Your 10,000 Hours
10年の経験、ということは10,000時間あるということではない。
1999
1999 2012 2008
2002
2004
2012
2001
103www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2011 James W. Grenning
All Rights Reserved. For use by training attendees.
`
My Boss won’t let me
上司がやらせてくれないんです。
108Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
thanks: lumaxart
http://www.freestockphotos.biz/license.php?id=9746
We have stretch goals
You know, for motivation.
ストレッチ目標
モチベーションのため
に。
104Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees. 104
109
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Managers!
Realize...
109
個人や組織のモチベーションを上げるのは難しい
でも、モチベーションを下げるのは簡単!
110
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Demotivators
110
非現実的な締め切り
モチベーションを下げるもの
事実を責める
低い品質の仕事をさせる
信頼関係がない
111
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
I Tried to Avoid
Computers
111
コンピュータを避けてきた
113
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Scrum
Masters TODO
113
自分のチームが最新のプラクティスの
知識を持っているように。
自分の組織が、その重要さを知っているよう
に。
ScrumMasterのToDO
114
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
People are generally
doing the best they know
人々は自分が知っている範囲で最善を行う。
必ずしも「知らない」ことを知らない。
115
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Scrum
Masters TODO
115
問題解決、を奨励すること
宗教信者にならないように
覚書:Scrumスレーブはない。
116
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Managers
TODO:
116
マネジャーのToDo
最高のチームを育てる
モチベーションを下げる要素をなくす
チームのモチベーションを上げようとし
ない。
117
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
117
How to Improve - Build a
Learning Environment
自分のスキルは自分で
ふりかえり
どうやって改善するか – 学習する環境をいかに作るか
118
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
You don’t delight
customers with the
untested code gap
テストされていないコードギャップでは顧客を喜ばせられない。
119
Agile Japan - Tokyo 2013
www.renaissancesoftware.net
james@renaissancesoftware.net
Copyright © 2008-2013 James W. Grenning
All Rights Reserved. For use by training attendees.
Demand Technical Excellence
Talk to me on Twitter
@jwgrenning
Find me on linkedin.com
jwgrenning
Please remind me how we met.

Weitere ähnliche Inhalte

Ähnlich wie Demand Technical Excellence James Grenning keynote at AgileJapan 2013

Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018Pedro Gustavo Torres
 
Test Driven Development for Embedded C
Test Driven Development for Embedded CTest Driven Development for Embedded C
Test Driven Development for Embedded CJames Grenning
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded SoftwareJames Grenning
 
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the Discipline
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the DisciplineQAI STC 2013 Plenary Keynote: Testing Times: A New Role for the Discipline
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the DisciplineSridhar Throvagunta, PMP
 
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)Pedro Gustavo Torres
 
The Red Button: Adventures in Security Leadership
The Red Button: Adventures in Security LeadershipThe Red Button: Adventures in Security Leadership
The Red Button: Adventures in Security LeadershipVMware Tanzu
 
Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018 Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018 Pedro Gustavo Torres
 
Getting+Started+in+Jira-Agile Managment .pdf
Getting+Started+in+Jira-Agile Managment .pdfGetting+Started+in+Jira-Agile Managment .pdf
Getting+Started+in+Jira-Agile Managment .pdfssuser8878c1
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentMike Cohn
 
To the world without a hitch
To the world without a hitchTo the world without a hitch
To the world without a hitchHemanth B S
 
Article- The Scrum Idea - JDEtips-Jan2015
Article- The Scrum Idea - JDEtips-Jan2015Article- The Scrum Idea - JDEtips-Jan2015
Article- The Scrum Idea - JDEtips-Jan2015Mark Fairbanks
 
Seven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing TransitionSeven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing TransitionTechWell
 
ADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessMike Cohn
 
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...Margaret Roth
 
Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014James Grenning
 
"Okr strategic planning over scrum"
"Okr  strategic planning over scrum""Okr  strategic planning over scrum"
"Okr strategic planning over scrum"Anton Anokhin
 

Ähnlich wie Demand Technical Excellence James Grenning keynote at AgileJapan 2013 (20)

Agile is Dead :: Pixels Camp 2017
Agile is Dead :: Pixels Camp 2017Agile is Dead :: Pixels Camp 2017
Agile is Dead :: Pixels Camp 2017
 
Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018
 
Test Driven Development for Embedded C
Test Driven Development for Embedded CTest Driven Development for Embedded C
Test Driven Development for Embedded C
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded Software
 
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the Discipline
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the DisciplineQAI STC 2013 Plenary Keynote: Testing Times: A New Role for the Discipline
QAI STC 2013 Plenary Keynote: Testing Times: A New Role for the Discipline
 
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
 
The Red Button: Adventures in Security Leadership
The Red Button: Adventures in Security LeadershipThe Red Button: Adventures in Security Leadership
The Red Button: Adventures in Security Leadership
 
Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018 Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018
 
Getting+Started+in+Jira-Agile Managment .pdf
Getting+Started+in+Jira-Agile Managment .pdfGetting+Started+in+Jira-Agile Managment .pdf
Getting+Started+in+Jira-Agile Managment .pdf
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game Development
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum Introduction
 
To the world without a hitch
To the world without a hitchTo the world without a hitch
To the world without a hitch
 
Article- The Scrum Idea - JDEtips-Jan2015
Article- The Scrum Idea - JDEtips-Jan2015Article- The Scrum Idea - JDEtips-Jan2015
Article- The Scrum Idea - JDEtips-Jan2015
 
How to test less and accomplish more
How to test less and accomplish moreHow to test less and accomplish more
How to test less and accomplish more
 
Seven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing TransitionSeven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing Transition
 
ADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued SuccessADAPTing to Agile for Continued Success
ADAPTing to Agile for Continued Success
 
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...
Creating Virtual Reality Training Using Interactive 360 Videos and Images wit...
 
Solid c-accu2014.key
Solid c-accu2014.keySolid c-accu2014.key
Solid c-accu2014.key
 
Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014
 
"Okr strategic planning over scrum"
"Okr  strategic planning over scrum""Okr  strategic planning over scrum"
"Okr strategic planning over scrum"
 

Mehr von Kenji Hiranabe

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication Kenji Hiranabe
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会Kenji Hiranabe
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsKenji Hiranabe
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyKenji Hiranabe
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceKenji Hiranabe
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XPKenji Hiranabe
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and AgileKenji Hiranabe
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraKenji Hiranabe
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノートKenji Hiranabe
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションKenji Hiranabe
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Kenji Hiranabe
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDKenji Hiranabe
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabeKenji Hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Kenji Hiranabe
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now nessKenji Hiranabe
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsKenji Hiranabe
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age Kenji Hiranabe
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industryKenji Hiranabe
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upKenji Hiranabe
 

Mehr von Kenji Hiranabe (20)

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XP
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and Agile
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
 
Agile Ba with Covid
Agile Ba with CovidAgile Ba with Covid
Agile Ba with Covid
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now ness
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industry
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 

Kürzlich hochgeladen

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Kürzlich hochgeladen (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Demand Technical Excellence James Grenning keynote at AgileJapan 2013

  • 1. Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Present to Tokyo, Japan By James Grenning Demand Technical Excellence http://www.pragprog.com/titles/jgade アジャイルにおける技術と品質の重要性 Talk to me on Twitter @jwgrenning Find me on linkedin.com jwgrenning Please remind me how we met. 2 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Kent Beck Ron Jeffries Ward Cunningham Martin Fowler 3 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. How Did I Find Myself at Agile Manifesto Meeting? James, do you want to go to the Lightweight Methods Summit in Snowbird? Skiing! Sure Bob, I’ll go…. なぜアジャイル宣言に参加したか? Robert Martin 4Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Before the Manifesto アジャイル宣言以前
  • 2. 5Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 6 7Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 8 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. That may not have been Watts’ intention, but it was the message that industry was hearing Watts’ は意図していなかもしれない が、これが産業に与えたメッセージ。
  • 3. 9Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 9 11Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 11 一行目であり、一番重要な文章は「人」を強調している。 12 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. People and Values were Central to Forming Agile 「人」と「価値」がアジャイルの中心
  • 4. 13 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 13 Software development is not centrally about the process and documents ソフトウェア開発は「プロセス」と 「ドキュメント」が中心ではない。 14Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. It’s about the code, thecustomer, the product! thanks:lumaxart http://www.freestockphotos.biz/license.php?id=9749 それは、「コード」、「顧客」、「プロダクト」なのだ! 15Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Great teams of people build great products Process is secondary, at best すごいチームがすごい製品を作る。 プロセスは、せいぜいでも二次的。 16Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Will anyone care about thesebullet points? もうだれもこの4つを気にしていない?
  • 5. 17Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Agile’s Impact is Beyond our Wildest Dreams It’s likely no one will care. だれも気にしなくなる。 アジャイルの衝撃は、想像を超えた。 18 0 37500 75000 112500 150000 2002 2003 2004 2005 2006 2007 2008 2009 2010 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Certified Scrum Masters 認定スクラムマスターの数 19 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What is Scrum? Scrum is a very simple framework within which the “game” of complex product development is played. Scrum exposes every inadequacy or dysfunction within an organization’s product and system development practices. The intention of Scrum is to make them transparent so the organization can fix them. From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber Ken Schwaber Scrumは新製品開発(複雑系)というゲームのルールとしての、シンプル なフレームワーク。Scrumは組織の製品およびシステム開発の能力不足、 機能不全を露にする。Scrumの意図は、それらを「透過的にし」、組織が 自らそれを修正できるようにすることである。 Scrumとは? 20 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What Can Scrum Do? 20 Jeff Sutherland From: Scrum with XP and Beyond Productivity 5-10 times industry average has been observed in many Scrum teams since 1993. 1993以降、Scrumを使うことで生産性が産業平 均の5-10倍というケースが観測されている。 Scrumに何ができるか
  • 6. 21 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Ken, What is Happening Generally in Scrum Adoption? Unfortunately, many organizations change Scrum to accommodate the inadequacies or dysfunctions instead of solving them. From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber Ken Schwaber 不幸にも、多くの組織がその能力不足や機能不 全を解決するのではなく、それに合わせて Scrumのやり方を調整してしまう。 Kenに聞く。Scrumの採用で起こりがちなことは? 22 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 23 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 24 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 欠かすことのできないデブリーフィング
  • 7. 25 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Debriefing is about continuous improvement James Murphy Debriefing とは、継続的改善だ。 26 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Not long after graduating college, I joined an office product company and started selling copiers. I loved what i did. James Murphy 大学卒業後、事務機会社に就職。コピー機を 販売した。自分の仕事を気に入っていた。 27 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. I had no flight experience…, but I was going to fly jets. James Murphy If I could not learn fast, I would be out of the program フライトの経験はなかった。でも、ジェッ ト機を操縦することになった。 もし速く学習することができなければ、す ぐに外されてしまう。 28 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Just two years after signing up, I was not only flying, I was flying the supersonic F-15 Eagle サインアップしてから2年後に、飛行機を操縦でき た。それも、超音速 F-15 イーグルを。
  • 8. 29 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 欠かすことのできないデブリーフィング 30 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. We don’t hide our weaknesses... we think it weak to hide our mistakes. 自分の「弱さ」を隠さない。間違い を隠すことこと、「弱さ」だ。 31 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 10年前のアジャイル宣言。その記念企画を思いついた。日付は2011年2 月12日、場所はスノーバード。そこに行って会議室を予約してきた。 32Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees.
  • 9. 33 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Debrief: What do we, as members of the agile community need to fix? デブリーフィング:アジャイルコミュニティとし て、私たちは何を直すべきだろう? 34Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 10 Year Agile Celebration 35Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. We believe the agile community must: #1 Demand technical excellence #2 Promote Individual [Change] and Lead Organizational Change #1:技術的卓越を重要視する #2:個人の(変化の)重要さを尊重しながら組織変革をリードする。 アジャイルコミュニティがしなければいけないこと
  • 10. 37 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Remember what Ken Said? "……………………………………………. …………………………...………………… …………………………………...… … The intention of Scrum is to make them [the problems] transparent so the organization can fix them." Ken Schwaber Unfortunately, many organizations change Scrum to accommodate the inadequacies or dysfunctions instead of solving them. Kenが言ったことを思い出す。 38 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What’s the Problem? from: Scrum with XP and Beyond The biggest problem worldwide for Scrum teams is getting shippable code at the end of every sprint. Jeff Sutherland 何が問題か? 世界中のScrumチームで最大の問題は、毎回のス プリント毎に出荷可能なコードを作ること。 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Hardening Sprints 39 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Hardening Sprint Test and Fix Test and Fix Test and Fix Test and Fix Test and FixTest and Fix (焼きなまし=品質向上のためのスプリント) www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2011 James W. Grenning All Rights Reserved. For use by training attendees. Do Your Hardening Sprints Degrade into a Fire Fight? 40 品質向上スプリントが、消火活動になってない?
  • 11. 41Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Being good at chasingand managing bugsis not TechnicalExcellence バグを追っかけて管理することは、技術的卓越ではない。 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. We believe the agile community must: #1 Demand technical excellence #2 Promote Individual [Change] and Lead Organizational Change #1:技術的卓越を重要視する #2:個人の(変化の)重要さを尊重しながら組織変革をリードする。 アジャイルコミュニティがしなければいけないこと 43 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The cadence of developmentchanges with Scrum Are you changing the how you engineer your products? 開発の順序がScrumでは違う。 自分の製品をどうエンジニアリン グするか、にも変化が必要 44 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The Marriage of Scrum and XP 44 ScrumとXPの結婚
  • 12. 45 0 37500 75000 112500 150000 2002 2003 2004 2005 2006 2007 2008 2009 2010 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. So Far the Marriage is Unequal CertifiedScrum M asters 249 CSDs 現在の結婚は、不調和 46 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. - A Brief Debrief - Current Development Practice in Industry 47Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 48Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All 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 zero May 7 11:22:51 Cowboy kernel[0]: IOSurface: buffer allocation size is zero May 7 11:23:36 Cowboy kernel[0]: IOSurface: buffer allocation size is zero May 7 11:24:06: --- last message repeated 1 time --- May 7 11:26:54 Cowboy kernel[0]: IOSurface: buffer allocation size is zero May 7 11:27:24: --- last message repeated 1 time --- May 7 11:41:44 Cowboy kernel[0]: IOSurface: buffer allocation size is zero May 7 11:42:14: --- last message repeated 4 times --- May 7 11:51:45 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336409506 May 7 12:08:58 Cowboy kernel[0]: hibernate image path: /var/vm/sleepimage May 7 12:08:58 Cowboy kernel[0]: sizeof(IOHibernateImageHeader) == 512 May 7 12:08:58 Cowboy kernel[0]: Opened file /var/vm/sleepimage, size 8589934592, partition base 0x0, maxio 400000 ssd 1 May 7 12:08:58 Cowboy kernel[0]: hibernate image major 14, minor 0, blocksize 512, pollers 5 May 7 12:08:58 Cowboy kernel[0]: hibernate_alloc_pages flags 00000000, gobbling 0 pages May 7 12:08:58 Cowboy kernel[0]: hibernate_setup(0) took 0 ms May 7 12:09:01 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a1:33:c9 May 7 12:09:01 Cowboy kernel[0]: wlEvent: en1 en1 Link DOWN May 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, 0xffffff80d4f98000 May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall time: 415 ms May 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 207719 purgeable 38826 spec 40229 May 7 12:09:37 Cowboy kernel[0]: hibernate_page_list_setall found pageCount 1584158 May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen, ml_get_interrupts_enabled 0 May 7 12:09:37 Cowboy kernel[0]: IOHibernatePollerOpen(0) May 7 12:09:37 Cowboy kernel[0]: writing 1583874 pages May 7 12:09:37 Cowboy kernel[0]: encryptStart 4f820 May 7 12:09:37 Cowboy kernel[0]: encryptEnd 108b02c0 May 7 12:09:37 Cowboy kernel[0]: image1Size 474682880, encryptStart1 4f820, End1 108b02c0 May 7 12:09:37 Cowboy kernel[0]: encryptStart 1c4b1600 May 7 12:09:37 Cowboy kernel[0]: encryptEnd b7957b30 May 7 12:09:37 Cowboy kernel[0]: PMStats: Hibernate write took 35189 ms May 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 571d97a2 May 7 12:09:37 Cowboy kernel[0]: wired_pages_encrypted 224499, wired_pages_clear 113814, dirty_pages_encrypted 1245651 May 7 12:09:37 Cowboy kernel[0]: hibernate_write_image done(0) May 7 12:09:37 Cowboy kernel[0]: sleep May 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 153 157 161 165 May 7 14:06:06 Cowboy kernel[0]: Sound assertion "0 == fAudioEngineArray" failed in AppleHDADriver at line 3163 goto Exit May 7 14:06:08 Cowboy kernel[0]: Previous Sleep Cause: 5 May 7 14:06:08 Cowboy kernel[0]: MacAuthEvent en1 Auth result for: 00:40:96:a0:63:95 MAC AUTH succeeded May 7 14:06:08 Cowboy kernel[0]: wlEvent: en1 en1 Link UP May 7 14:06:08 Cowboy kernel[0]: AirPort: Link Up on en1 May 7 14:06:08 Cowboy kernel[0]: en1: BSSID changed to 00:40:96:a0:63:95 May 7 14:06:47 Cowboy kernel[0]: nspace-handler-set-snapshot-time: 1336417608
  • 13. 49Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 50Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 51Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 1979 52Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 2013
  • 14. 53 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Debug-laterProgramming Congratulations! These are state of the art circa 1979 おめでとう!これは、 1979年ころの状態! デバッグ後付プログラ ミング Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The Physics of Debug Later Programming (DLP) • As Td increases, Tfind increases dramatically • Tfix is usually short, but can increase with Td 54 Bug discoveryMistake made (bug injection) Bug found Bug fixed Td Tfind T fix Time デバッグ後付プログラミングの原理 •Td が増加すると、Tfind が劇的に増加。 •Tfixは通常短いが、Tdが長いと増加する。 55 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. A Bug’s Life 55 From http://www.softwaretestinghelp.com/bug-life-cycle/ 56 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 56 Your program will have bugs. And they will surprise you when you find them. プログラムにはバグがある。 バグ自身も、見つけられたとき にびっくりする。
  • 15. 57 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Zune 30G 57Decem ber31,2008 58Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 58 BOOL ConvertDays(UINT32 days, SYSTEMTIME* lpTime) 59 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 59 One That Got Away static 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 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. This Test Could Have Prevented it TEST(Rtc, check20081231) { days = daysSince1980(2008, 366); CHECK(ConvertDays(days, &time)); assertDate(WED, 2008, 12, 31); } (あれば)見つけられたであろうテスト
  • 16. 61 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Where do the bugscome from? バグはどこから来るのか? 62 6363 64 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. It’s Our Fault James D. Murphy We put them there 自分自身のしわざ
  • 17. Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. This Work Flow is Designed to Allow Defects 65 Development Test Defects このワークフローは、欠陥 の存在を許してしまうよう に設計されている。 66 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. A Bug’s Life 66 From http://www.softwaretestinghelp.com/bug-life-cycle/ 67 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The Meaning of the Marriage of Scrum and XP 67 68 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. XP Defines the Technical Practices Needed for Evolving Designs XPは進化的設計に必要な技術的プラクティスを定義している。
  • 18. 69 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Edsger Dijkstra Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with, and as a result, the programming process will become cheaper. If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with. 信頼性の高いソフトウェアが必要であれば、バグの大部分を最 初から「避ける」方法を探さなければならない、ということに 気づくだろう。その結果としてプログラミングのプロセスは安 価になる。よいプログラマとは、最初からバグを作り込まない ようにし、大切な時間をデバッグに無駄遣いしないプログラマ だ、ということに気づくだろう。 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. • Write a test • Watch it fail • Make it pass • Refactor (improve) • Repeat until done T D D •テストを書く •失敗することを確認 •通過させる •リファクタリング(改善) •繰り返す Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Development and Test are a Continuum Preventing Defects 71 Development Test 「開発」と「テスト」は欠陥予防の連続体 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The Physics of Test Driven Development • When Td approaches zero, Tfind approaches zero • In many cases, bugs are not around long enough to be considered bugs. • See: http://www.renaissancesoftware.net/blog/archives/16 72 Mistake discovery Mistake made Root cause found Mistake fixed T d Tfind T fix Time テスト駆動開発の物理学 •Td が0に近づけば、Tfind が0に近づく。 •多くの場合、バグはバグと呼ばれるほど長く存在しない。
  • 19. 73 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All 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 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. System Level Tests Cannot be Thorough • How many sub-system tests are needed? 10 states 10 states 10 states 5 interactions 5 interactions 5 interactions Tests サブシステムテストはいくつ必要? システムレベルテストは、完璧には書けない 75Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. TDD unit tests can be thorough • How many unit tests are needed? 10 states 10 states 10 states 5 interactions 5 interactions 5 interactions Tests Tests ユニットテストはいくつ必要? ユニットテストは十分に書くことができる。 76 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Tests Must be Automated テストは自動化すること
  • 20. Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. test Assume Test Effort is Proportional to Development Effort dev Iterations Effort 5 10 15 20 25 テストのコストは開発のコストに比例すると課程 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. If a system is working, leave it alone. Don't change anything. Systems don’t appreciate being fiddled and diddled with. • 25% of all defects are introduced while changing and fixing code. [R.B Grady, Software Process Improvement] システムが動いているなら、触る な!何も変えてはいけない。 システムは、勝手に手を加えられ るのを嫌がる。 25%の欠陥は、変更したり修正し たりするときに混入する。 82 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Because systems actup -- we have to be verycareful. システムの振る舞いは気まま。私たちが注意していないといけない Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. test Manual Test is Unsustainable Effort Iterations Unsustainable growth dev 5 10 15 20 25 手動テストは継続できない
  • 21. Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Risk Accumulates in the Untested Code Effort Iterations Unsustainable growth dev 5 10 15 20 25 Untested Code Gap test テストされないコードギャップ に、リスクが累積する 85 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. My Take Away 85 Keep the cost of retest low Keep the system running Tests Must be Automated 今日持って帰って 欲しいこと •テストは自動化する •再テストのコストを低く保つ •システムを動かし続ける 86 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Try to Reframe the Problem 86 We can’t afford to write automated tests,it takes away from adding new features We can’t afford to not automate tests, the manual retest time takes away from adding new features 問題をリフレーム 自動テストを書いている時間がとれない。新機能が追加できない。 自動テストなしという余裕はとれない。手動テストの再テストで、新機 能が追加できない。 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. We believe the agile community must: #1 Demand technical excellence #2 Promote Individual [Change] and Lead Organizational Change #1:技術的卓越を重要視する #2:個人の(変化の)重要さを尊重しながら組織変革をリードする。
  • 22. 88 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. TechnicalExcellence isn’tJust Passing TEsts 技術的卓越とは、単にテストを通過させることではない! 89 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What’s Wrong? Any fool can write code that the compiler understands, but it takes real skill to write code other programmers can understand. From “Refactoring - Improving the Design of Existing Code どんなバカでもコンパイラが理解できるコードを書くことはできる。しかし、本当に スキルが必要なのは他のプログラマが理解できるコードを書くことだ。 90 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Why does code structure matter? コードの構造がなぜ大切か? 91Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. The Two Values of Software ソフトウェアの2つの価値
  • 23. 92Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Spaghetti Slide 97 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What are We Supposed to Do? The intention of Scrum is to make them [your problems] transparent so the organization can fix them. From an interview with Ken Schwaber on agilecollab - http://www.agilecollab.com/interview-with-ken-schwaber Ken Schwaber 98 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What is the biggest problem of getting there? from: Scrum with XP and Beyond The biggest problem worldwide for Scrum teams is getting shippable code at the end of every sprint. 96 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 96 Why aren’t you using TDD and Refactoring and the other technical practices of Agile? なぜ、TDD、リファクタリング、アジャ イルのその他の技術プラクティスを使わ ないのか?
  • 24. 100Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. What is in your way? 何が障害なのか? 101101 I don’t have time!! http://commons.wikimedia.org/wiki/File:Clock_at_St._Mary%27s_Church_in_Gda%C5%84sk.jpg 時間がないのです。 102Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Learn TDD and Agile Development skills. TDD is faster than DLP More fun too! TDDとアジャイル開発スキルを学びましょ う。 TDDはDLPより速い。しかも、楽しい! 105 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Developers TODO 105 Beware of limits ものづくりのプロになれ 新しいことを学んで挑戦せよ 自分の組織のアドバイザーになれ 信頼関係を築け。 自分の仕事を透明に見えるようにせよ
  • 25. 106 I’ve got 10 years experience! 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year 107 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 10 Years of Experience Doesn’t Mean You’ve Got Your 10,000 Hours 10年の経験、ということは10,000時間あるということではない。 1999 1999 2012 2008 2002 2004 2012 2001 103www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2011 James W. Grenning All Rights Reserved. For use by training attendees. ` My Boss won’t let me 上司がやらせてくれないんです。 108Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. thanks: lumaxart http://www.freestockphotos.biz/license.php?id=9746 We have stretch goals You know, for motivation. ストレッチ目標 モチベーションのため に。
  • 26. 104Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 104 109 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Managers! Realize... 109 個人や組織のモチベーションを上げるのは難しい でも、モチベーションを下げるのは簡単! 110 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Demotivators 110 非現実的な締め切り モチベーションを下げるもの 事実を責める 低い品質の仕事をさせる 信頼関係がない 111 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. I Tried to Avoid Computers 111 コンピュータを避けてきた
  • 27. 113 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Scrum Masters TODO 113 自分のチームが最新のプラクティスの 知識を持っているように。 自分の組織が、その重要さを知っているよう に。 ScrumMasterのToDO 114 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. People are generally doing the best they know 人々は自分が知っている範囲で最善を行う。 必ずしも「知らない」ことを知らない。 115 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Scrum Masters TODO 115 問題解決、を奨励すること 宗教信者にならないように 覚書:Scrumスレーブはない。 116 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Managers TODO: 116 マネジャーのToDo 最高のチームを育てる モチベーションを下げる要素をなくす チームのモチベーションを上げようとし ない。
  • 28. 117 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. 117 How to Improve - Build a Learning Environment 自分のスキルは自分で ふりかえり どうやって改善するか – 学習する環境をいかに作るか 118 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. You don’t delight customers with the untested code gap テストされていないコードギャップでは顧客を喜ばせられない。 119 Agile Japan - Tokyo 2013 www.renaissancesoftware.net james@renaissancesoftware.net Copyright © 2008-2013 James W. Grenning All Rights Reserved. For use by training attendees. Demand Technical Excellence Talk to me on Twitter @jwgrenning Find me on linkedin.com jwgrenning Please remind me how we met.