Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
agile459-feedback
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
eiji.ienaga
September 08, 2018
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
agile459-feedback
Agile Japan 2018 高知サテライト
https://agile459.connpass.com/event/96027/
eiji.ienaga
September 08, 2018
More Decks by eiji.ienaga
See All by eiji.ienaga
tdd-hajime-no-ippo
haru01
0
260
テストオートメーションと末長くお付き合いするための17のこと
haru01
3
980
20240913知識ポートフォリオ
haru01
0
78
Agile Studioウェビナー~モブプログラミング&テスト駆動開発はじめの一歩~
haru01
0
410
XP祭り2022 xUnit Test Patterns勉強会
haru01
0
1k
心理的安全性とリファクタリングステップでモブプログラミングはめっちゃ輝く
haru01
4
2.2k
書籍『テスト駆動開発』の紹介(みんなのPython勉強会#37 の発表資料)
haru01
2
8.2k
書籍『テスト駆動開発』7つの魅力のご紹介
haru01
1
1.3k
いえぴょんによる弾丸特急フィードバック講座
haru01
5
680
Featured
See All Featured
Done Done
chrislema
187
17k
We Have a Design System, Now What?
morganepeng
55
8.4k
Making Projects Easy
brettharned
120
6.8k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to train your dragon (web standard)
notwaldorf
96
6.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Into the Great Unknown - MozCon
thekraken
41
2.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Transcript
' $ &% Expected
- Actual = 0 " Agile Japan 2018 !)(#
• =GE> • Tiwtter: @haru01 • G<!%-,( .5& •
/3# • ScrumC 0'$&%!& 2 )"25 TDD …B D • +41, • 8;Java 6@Ruby A PythonHF9?GoI:7 • *4 https://twop.agile.esm.co.jp/ 2
3 https://agile.esm.co.jp/
(.+"#63F8. ,-)$B5 0!1-%;4:?2<97 F8. ,-)$&* E@
'/!,100C = D > A !!
*0 IN ,'=;(XWAH*B:6!O 8)CF*9?LJZYQP2&/E-7 6!@5<"+I3 QP%#1$D4TM 1$RVUKSK.>G
etc…. (#+ ! "/$4.1% 35206)', *-&
= -X;6$ H #%N$ YO ?. ,)<* % EU
GJ1HD@' R[ !"%^+C2 Flow++LK + 894 _T > IV] /0 /0 /0 W5 /0 /0 F7:S ZQ 4&(A \ P B M 3 B
! % % ' &
Expected22℃ Actual3℃ ℃ Time ExpectedActual "# $ Expected22℃ Actual3℃
P Action Expected Actual People ≒
Expected: Happy!! Actual:Sad!!
N C Expected: Build OK! I N Actual:
Build Fail! G expected actual
! −−
* $& !) + "
% #' (
"!
"! "!
l͋ͱ͔ΒௐͯΈΕɺ ຊʹΛղ͍ͯ΄͔ͬͨ͠ਓ ͦΜͳʹ͍ͳ͍ͷͩ M
Fail First P?FL\X)# QN \XS 1/@0 5G QN
,!?R9VZ &*- H3 =K >MYC B (AE :62 OYC B (AE %"' (A E 7J4W[D.[D$+ U8 >MYC …;T <I
!#% & $ "
Customer Discovery Customer Validation Customer Creation Customer Building
"! $ # TDD−ATDD
$ #(%!" '&*) $
l࣭ͱ୭͔ʹͱͬͯͷՁ Ͱ͋Δ M
UP UP Xxx
UP UP
− UP People( ) UP
UP UP -> -> UP
(' QA
(' &#)$"!%" etc….
) ( ( 1 *20/. )#!$-&' 1 ",(+#%
lΤΫετϦʔϜϓϩάϥϛϯά ͱιʔγϟϧνΣϯδͰ͋Δ
# $ ! "
! ! ! ! !
! ! ! !
PeopleHappy 2+0!.4* %-4*& :;<7 8',65
@? " 89>/$)1-(=3#
”No
lγϯϓϧ͞ʢϜμͳ͘࡞ΕΔ ྔΛ࠷େݶʹ͢Δ͜ͱʣ͕ຊ ࣭Ͱ͢ɻ
$ ! No #"
* %&" No! $ * # No! $ * # No! $
lͱ ·Εͨࣄฑͱೝࣝ͞Εͨࣄฑͷ૬ҧͰ͋Δ M
Expected – Actual =
0 people.reduce(0){ |diff, person| diff + (person.expteced - person.actual).abs }
assertEquals(expected, actual);
None
Expected Actual UP
Actual Expected
Expected Actual
" $ ! #
A A
A XXX "!
#
" !
Expected Actual
!
%"!' & + $ *(#)
!"" #%& ') 0+,.- $(/*
! $( %) #& " ! '*
http://bliki-ja.github.io/ConversationalStories/ Who
What Why Who What Why
%"CRC " &# People$ !
http://gc.sfc.keio.ac.jp/class/2006_23636/slides/05/5.html −
−
T DCA t C A ,) ( E A A
c AC t e C T c c R () .
"#%%!( +!'8A<74 : 23 ;> B: -
&0*&/16$) ? ?= .1,58A<7@9 https://www.slideshare.net/kkd/user-story-mapping-for-agile-team http://gc.sfc.keio.ac.jp/class/2006_23636/slides/05/5.html
l࠷ྑͷΞʔΩςΫνϟɾཁ ٻɾઃܭɺࣗݾ৫తͳ νʔϜ͔ΒੜΈग़͞Ε·͢ɻ
ü '+*(,B79RG@ ü 0T=P3CIU% ü )YO X ü
;> %A< ü .Z[`#&!/_ ü V%0T3C: JV ü 7 H4 ü ?-28M^ %SKWQ6 " $5DL\NF1E #&!/_] Expected Actual
Red Green or Expected Actual
,/ GUI .*" +%6
#&7 ' GUI Spy 3) 1 ,/ (- ! 90$ 25 assert execute 80$ .*" 4 Expected Actual
& ( !#$ ' … void
printOwing(double amount) { printBanner(); // %" System.out.println("name:" + name); System.out.println("amount:" + amount); } void printOwing(double amount) { printBanner(); printDetails(amount); } private void printDetails(double amount) { // System.out.println("name:" + name); System.out.println("amount:" + amount); } ಈ࡞͢Δ͕ෆ٢ͳष͍ ͕͢Δίʔυ ಡΜͰཧղ͢Δ·Ͱͷ͕࣌ؒେ ػೳͷՃमਖ਼ʹ͕͔͔࣌ؒΔɾෆՄೳ ίʔυʹ͖߹͏ͱਏ͍ ಈ࡞͢Δ͖Ε͍ͳίʔυ ಡΜͰཧղ͢Δ·Ͱͷ͕࣌ؒখ ػೳͷՃमਖ਼͕Ͱ͖Δ ίʔυʹ͖߹͏ͷָ͕͍͠ Expected Actual
() ਓ͕ଟ͗ͯ͢ௐίετߴ ৽ϝϯόʔ͕ࢀՃͯ͠ཧղ͢Δ·Ͱ͕࣌ؒେ టஂࢠΞʔΩςΫτͰσϓϩΠ͕͍͠ Τϥʔղੳ͕͍͠
దͳνʔϜαΠζͰௐίετখ ৽ϝϯόʔ͕ࢀՃͯ͠ཧղ͢Δ·Ͱͷ͕࣌ؒখ ୯ҰతαʔϏεͰಠཱͯ͠σϓϩΠ͠ݕূ͍͢͠ ہॴԽͰΤϥʔղੳ͍͢͠ ҙɿৗʹαʔϏεͷநग़͕ྑ͠ͱݶΒͳ͍ɻϞδϡʔϧύʔέʔδׂʹཹΊΔɺ ٯʹαʔϏεͷΠϯϥΠϯԽͯ͠·ͱΊΔͷબࢶͱτϨʔυΦϑஅ Expected Actual
People
lٕज़తӽੑͱ༏Εͨઃܭʹ ର͢Δෆஅͷҙ͕ػහ͞Λ ߴΊ·͢ɻ
# &+(0%' ". !#" )*$/,-
9/(%#!% ?< )' 4; expected actual +, 32=> .657*
%!%NG "NG NG ,2 80/ %!%OK "OK OK $OK :1 -&
0 1 5
lνʔϜ͕ͬͱޮΛߴΊΔ͜ͱ͕ Ͱ͖Δ͔ΛఆظతʹৼΓฦΓɺ ͦΕʹج͍ͮͯࣗͨͪͷΓํΛ ࠷దʹௐ͠·͢ɻ
lࢲຊʹͦΕΛղ͖͍͔ͨʁ M
lͷग़ॴͬͱ͠͠ΘΕΘ Εࣗͷதʹ͋Δ M
None
None
. 3 . 2 1 84 1 .
#"!
None
Change!!
Expected Expected Actual
A A E E P
E A
% ! $#"
z91ͱɺ͋ͳ͕ͨࣗͷཧʹ͍ͭͯߟ͑ɺͦͷཧ ʹͱ͍ͮͯߦಈ͢ΔͨΊͷํ๏ͩɻ
) * Expected "−$( * Actual#
%−' * 2 !& aE 2 c lE 2 E 2 Epo A d E 2 d E 2 d E 2 : E E E 2 E E S E e2
l91ͷ伴࣮ੑʢJOUFHSJUZʣͩɻຊͷՁͱௐͷ ͱΕͨߦಈΛ͢Δ͜ͱͩɻ
*0 IN ,'=;(XWAH*B:6!O 8)CF*9?LJZYQP2&/E-7 6!@5<"+I3 QP%#1$D4TM 1$RVUKSK.>G
etc…. $(& , 1+.! 02/-3%#) ' *"
(%/1'0-4 #)& *#
"0# "352 . !$ ,+
= -X;6$ H #%N$ YO ?. ,)<* % EU
GJ1HD@' R[ !"%^+C2 Flow++LK + 894 _T > IV] /0 /0 /0 W5 /0 /0 F7:S ZQ 4&(A \ P B M 3 B