2020/06/23 15:17
t-wada
Ward Cunningham 本人による説明がかなり興味深かったので翻訳してみました
2020/06/23 15:33
yujiorama
雑に片付けるとできなくなる "いざリファクタリングをするときが来たなら、コードには当時何を考えていたかが明快に残っているので、現在の理解に合わせてリファクタリングするのも容易になります"
2020/06/23 15:38
rsky
問題に対する理解が不十分な状態で書かれたものではあるが、その時のベストを尽くしたコード / “訳してみて驚くのは、 Ward Cunningham が言っていることが私たちがイメージする「技術的負債」とは結構違うことです。”
2020/06/23 15:45
ledsun
「"Technical" をつけたのは誰」そういうこと(他の人のつけた名前の概念をシュッとすり替える)するのはマーチン・ファウラーではないかしら? bliki-ja.github.io
2020/06/23 15:48
peketamin
その時に出来るベストを尽くした上で、まだ見えてない本来の姿へのフィットの余地が負債で、それが膨らむ前に、判明したドメイン知識を反映して少しずつフィットさせる→リファクタリングなのかな
2020/06/23 15:50
dafujii
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のこと”
2020/06/23 15:53
mohri
負債は必ずしも悪いものではなくリリースするために必要な借入金であるが、借りたものは返せるようになったときに返しておかないと禍根を残す、ということなのかな?
2020/06/23 16:10
joker1007
割とCunninghamのメタファーと同じ意味で認識していた。未知の物に対する現状の理解と実態のギャップが負債であって、見えている問題に雑に対処して問題になるのはただの能力不足による失敗だと思っている。
2020/06/23 16:12
iga_k
技術的負債の語源。和田さんいつもいい仕事している。
2020/06/23 16:12
hdkINO33
“負債のメタファーで大事なのは返済してメタファーを味方につける力であり、それは問題を理解するに従ってリファクタリングしていけるような、十分にきれいなコードを書いているかどうかで決まるのです。”
2020/06/23 16:14
kikuchi1201
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/23 16:16
spark7
初手で楽できるフレームワークはあとで重荷になる的な解釈だった「得られた経験をプログラムに反映していくのです」
2020/06/23 16:18
ymgn
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/23 16:33
teppeis
となると、みんなが技術的負債だと思っていたアレに対する名前が欲しいですね
2020/06/23 16:40
ohbarye
言葉の解釈やイメージが多岐に渡るので、課題を正確に捉えたい場面では使わないほうが良いかなと最近は考えていた / “開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のこと”
2020/06/23 16:43
koyhoge
技術的「負債」の本来の意味。ドメインの理解が足りない状態で書かれたコードは、それが原因のつまづきでその後の開発スピードが遅くなる。大変よくわかる。
2020/06/23 16:49
paradisemaker
人によって定義が違いすぎるので元々の使われ方に立ち戻るのは大事だと思う
2020/06/23 17:06
masa_iwasaki
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/23 17:11
rokuzeudon
👀
2020/06/23 17:13
masuda220
"ソフトウェアに現時点での理解を可能な限り反映させることが重要です。" "問題を理解するに従ってリファクタリングしていけるような、十分にきれいなコードを書いているかどうかで決まる"
2020/06/23 17:16
egapool
雑に作ったスパゲティコードのことを負債だと思っていた。「良い借金は良い投資」的な意味での負債だった。良い借金である事が重要なのでそもそも雑なコードはダメだよと。
2020/06/23 17:17
daiksy
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/23 17:35
Agrius_Akita
アレの名前は「粗悪品」じゃないの、対になるのは「製品」でそこから技術的負債の概念につながる
2020/06/23 17:44
manFromTomorrow
"Ward は終始一貫して Debt としか言っておらず、 "Technical" がついていません"
2020/06/23 17:48
shifumin
"Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません"
2020/06/23 17:48
YassLab
“Ward にとって負債の返済手段はリファクタリングであり、リファクタリングの目的は自分たちのドメイン理解と現時点のプログラムの乖離の解消 / ソフトウェアの核心にある複雑さに立ち向かう”
2020/06/23 17:56
Fivestar
概ね解釈一致。まあ雑なコードを書いてしまうのは技術力の問題なので採用負債とでも呼んだらいいんじゃないすかね……
2020/06/23 18:04
peyangu485
プロジェクト終盤で「もっとええように書けたな……」ってなるけど、それこそが負債なのか。
2020/06/23 18:05
lifeisadog
今まで語られてきた「技術的負債」という概念はプログラマの自己満足だと思ってたんだけど、ここで語られてるのは情報共有とその更新の話のようだ(「負債」が適切なのか疑問)「技術的負債」がキャッチーすぎたのか
2020/06/23 18:11
rjge
“雑なコードを書くことには全く賛成しませんが、たとえ理解が不完全だとしても、目の前の問題に対する現時点での理解を反映するコードを書くことには賛成” こっちのイメージだった。雑は負債でなく時限爆弾かな…
2020/06/23 18:13
mather314
なるほど / “Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のこと”
2020/06/23 18:34
turanukimaru
うーん?最初から最適な設計なんて無理に決まってるよねって話だと思ってたのであまり乖離してないな。
2020/06/23 18:42
irof
"理解が不完全な段階でもソフトウェアを開発して借入をできるようになりたいならば、そのソフトウェアに現時点での理解を可能な限り反映させることが重要です。" 負債は妥協ではなく全力の結果として生まれるもの。
2020/06/23 18:52
deztecjp
もはやこうなると、最初の提唱者の考えていた語義が「正しい」とはならない。一般的な語義の「技術的負債」こそが多くの人々の関心事であり、本来の語義のままでは、単に忘れ去られたろう。
2020/06/23 18:55
iwamot
あんちぽさんのこの資料を思い出した speakerdeck.com
2020/06/23 19:02
seiunsky
“リファクタリングの目的は自分たちのドメイン理解と現時点のプログラムの乖離の解消です。”
2020/06/23 19:17
cozyconemotel
かなり秀逸なメタファーだよね
2020/06/23 19:58
kazuhooku
面白い。アジャイルプログラミングのアジリティを確保するにあたって必要な、設計実装変更を正当化する概念として説明してる感じなのかな
2020/06/23 19:59
pixmap
最後から2文目が十分に訳されきれてない→負債は返済できるという前提に立っており、コードをいつでもリファクタリング=負債を返済できる状態に保つべきというのが、技術的負債というメタファーの本質である。
2020/06/23 19:59
sugawara1991
雑な実装のことじゃなくて、ビジネスロジックの理解や設計の拙速さを許容して早期に受益することを「借入」と捉えたわけか。前借りした利益を元手にしてロジックを改善(借金を返済)しろと。利益を産むのが大前提
2020/06/23 20:01
momonga_dash
悪い方が良い
2020/06/23 20:09
kumamotone
空前絶後のォ!技術的負債という概念の生みの親
2020/06/23 20:15
airj12
負の遺産というより借金に近い意味で捉えてたので違和感はない
2020/06/23 20:17
lalupin4
ブライアン・カーニハンと混同していた。
2020/06/23 20:25
udonj
あとよみ
2020/06/23 20:36
nanakoso
負債
2020/06/23 20:47
sigwyg
"「負債」という言葉は、経営に近い人ほどポジティブな印象を持ち(資本のイメージ)、純粋な技術面に近い人ほどネガティブな印象を抱く(借金のイメージ)傾向があるように思われます。"
2020/06/23 20:56
n314
綺麗に書くのは前提の話だからより高いレベルだ。プログラマーじゃない人に説明するには、システムと現実の乖離を無くす方向で話した方がいいよね。無駄じゃないか?って言われにくそう。
2020/06/23 20:56
miragestlike
最後の一文が素敵だと感じた。
2020/06/23 21:01
raimon49
>「負債」という言葉は、経営に近い人ほどポジティブな印象を持ち(資本のイメージ)、純粋な技術面に近い人ほどネガティブな印象を抱く(借金のイメージ)傾向がある
2020/06/23 21:02
fu_kak
ほんと、勘違いしてたわ
2020/06/23 21:05
uva
「Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません」
2020/06/23 21:12
topiyama
日本語だと「技術的借入」の方が良いな
2020/06/23 21:31
NOV1975
「私たち」誰だお前らって感じするけど
2020/06/23 21:36
MonMonMon
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/23 21:37
dalmacija
元のメタファーに習うと名前を言ってはいけない恐ろしいあれは、隠蔽された感情を表に出して「まさに不良債権」とでも呼んだらいいのでは
2020/06/23 22:08
katsusuke
これからは技術的負債警察として生きていきます
2020/06/23 22:24
asayamakk
> 私は雑なコードを書くことには全く賛成しませんが、たとえ理解が不完全だとしても、目の前の問題に対する現時点での理解を反映するコードを書くことには賛成です
2020/06/23 22:24
yug1224
“リファクタリングの目的は自分たちのドメイン理解と現時点のプログラムの乖離の解消です。”
2020/06/23 22:30
raitu
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のこと”
2020/06/23 22:37
daishi_n
ビジネスを素早く立ち上げるために稚拙なコードでも早くリリース(=借り入れ)、発展するビジネスとの乖離をリファクタリングで解決(=返済)ということか。リファクタリングできず放置してると負債が累積するわけでね
2020/06/23 23:16
tockri
「現時点での理解を反映するコード」という表現はよくわかるなあ。自分で考えて設計した機能であっても、あとから分析し直して「ああこういう構造だったのか」ってなることあるもんね。
2020/06/23 23:22
t0ng
勢いでうまくいくのは借金、再現性を高めることで返済せよってことか
2020/06/23 23:42
MasaoBlue
あ、あとで
2020/06/23 23:48
masutaka26
“むしろコードを書くときには常にそのときのベストを尽くせと言っています”
2020/06/24 00:04
sekirei-9
リーンな手法で出したソフトウェアで学びを得て、見つけた不足をソフトウェアに戻して反映する事が負債の返済、と言う考え。ほぼリーン開発のこと感。
2020/06/24 00:09
progrhyme
「負債」という語から意味が広がっていった感がある
2020/06/24 00:22
tettekete37564
なるほど実装速度、理解不足ながらの実装、というプロフィットに対する負債か。今まで漫然と認識していた。天秤の反対側になにが乗っているのかをハッキリさせ理解する事は重要。作用点である支点が決まらないからね
2020/06/24 00:58
t-murachi
技術的負債とクソコードはちゃうでえ、というお話(´・ω・`) クソコードを債権として価値を見出す技術者はおらんっちゅーこっちゃね(´・ω・`)
2020/06/24 01:10
ebo-c
アレなアレは技術的リボ払いとか
2020/06/24 01:30
yancy1969
技術的負債=おれの好み、みたいな文脈で使う人がいて困る
2020/06/24 02:24
estragon
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません”
2020/06/24 04:11
digo
「リリース優先で雑なコードを書く」のは例えるならカウカウファイナンスで借金する様なものかな。
2020/06/24 04:18
hiby
粗製でええと思う
2020/06/24 04:28
aike
むしろ理解が進んだドメインに現状の実装を近づける仕様変更レベルの作業をリファクタリングと呼ぶのが意外だった。
2020/06/24 06:15
s-tonouchi
技術的負債というのは、当初開発したものに手を加えていくうちに蓄積されるゴミのようなものかと思っていたんだけど、そうでもなかった
2020/06/24 06:24
shikiarai
だからてめえコーダーが仕様を正しく理解してないとウンコード量産機になっちまうだろうがと突き上げた思い出が……
2020/06/24 06:26
ippatsu2009
これはビジネスモデル全体や各種制度など広い範囲に適用可能な考え方。最善を尽くしつつやってみて、走りながらアジャストする
2020/06/24 06:27
takeshi0206
やっぱり例え話が的確な人は違うわ。
2020/06/24 06:38
kanehama
技術的闇金
2020/06/24 07:43
hamamuratakuo
Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。
2020/06/24 07:45
minoton
負債という観点は秀逸なので、狭い意味にとどまらず使われるべきだと思う
2020/06/24 08:05
ryuichi1208
“借金で言えば全く返済をしないケースが多々あると考えています。” 喩えが分かりやすすぎる、、。スピード優先で借金をしても返さないパターン多いかも
2020/06/24 08:19
RabbitBit
広まってしまった方の意味での技術的負債は、技術的不良資産とでも呼べばいいのかな。
2020/06/24 08:30
koji28
じゃあ雑な実装の方は「ごみ捨て忘れちゃいましたテヘペロ」で良い?(´・ω・`)(表現が雑)
2020/06/24 08:40
yo_waka
"Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません"
2020/06/24 09:11
Dragoonriders
まあ平たくいうと「顧客が本当に必要だったもの」は最初から作れるわけがなくて、そこに近づけるためにはリファクタリングが必然、そこにはお金かかるんで出してくださいね、ということ以上でも以下でもないだろう。
2020/06/24 09:37
rh-kimata
「技術的負債」を原義と違う意味で認識して使っていたことが分かった
2020/06/24 09:55
koemu
“リファクタリングの目的は自分たちのドメイン理解と現時点のプログラムの乖離の解消”
2020/06/24 10:16
carrotsword
あくまで実装したものに対する言葉というイメージだったけどこの論に従って考えると実装の欠損(ドメイン知識に含まれるものの実装がない、言ったら星取表で負けてる部分)も負債のうちに入るのかしら。
2020/06/24 10:49
yojik
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません”
2020/06/24 10:52
nunulk
"「負債」という言葉は、経営に近い人ほどポジティブな印象を持ち(資本のイメージ)、純粋な技術面に近い人ほどネガティブな印象を抱く(借金のイメージ)傾向があるように思われます。"
2020/06/24 11:17
rin51
> 開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。
2020/06/24 12:16
programmablekinoko
みんなが技術的負債だと思っていたアレはただのメンテナンスコストだったでござる
2020/06/24 12:23
cuttoff19
“多くのブロガーが負債のメタファーのことを、後できれいに書き直すつもりなら雑なコードを書いてもいいという考え方と混同し~”/もともとの意味はモデリングの雑さのことだったんだな
2020/06/24 12:27
kat21
「技術的負債」は「借入」であって、早く前に進むためのもの。いきあたりばったりの適当なコードではない。めっちゃわかりみ
2020/06/24 12:33
vvakame
っぱ常にベストなコードなんだよなぁ…!
2020/06/24 12:47
magnoliak
「スピード」と「負担」のところはすごく普遍的な納得感が有るなって思った 負債っていうより投資して行こうっていうメッセージが適切なのかも 逆に「負債」のところは、特定の文脈における例え話と思った
2020/06/24 13:44
zoe302
技術的負債という言葉の新しい観点が身についた。
2020/06/24 13:50
kfujieda
いわゆる技術的負債の負債の意味が本来の意味とかけ離れているとの指摘は以前からあったが、実はそれは勘違いで、技術的負債の本来の定義においては正しく負債だったという話。
2020/06/24 16:07
nilab
「彼は 1992 年にオブジェクト指向の国際カンファレンス OOPSLA '92 の Experience Report でコードの初回リリースを負債に例えました("Shipping first time code is like going into debt")」
2020/06/24 16:27
Nyoho
“Ward にとって負債の返済手段はリファクタリングであり、リファクタリングの目的は自分たちのドメイン理解と現時点のプログラムの乖離の解消です。”
2020/06/24 23:10
braitom
ふむ。“負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません”
2020/06/25 03:38
toritori0318
技術的負債=負債。借入したものを日々返していかないとそのうち利子で借金まみれになるよね
2020/06/25 10:21
ka2nn
リファクタリングの意味も理解が少し違ってたな
2020/06/25 10:45
gabuchan
ドメイン知識が薄い部分(まだ学習できない部分)を一旦リリースして、あとで分かったことを反映したり修正するために手を入れる。というのを個人的にはよくやるので「ドメイン的負債」はどうだろう?
2020/06/25 15:16
ichiko_revjune
もとはメタファーだったのか。現時点の理解を反映して世に出し、学び。その学びを製品に反映していかなければ、生産性はどんどん落ちていく=ギャップが広がっていく=それは膨らむ利子のようなもの。[ソフトウェア]
2020/06/25 17:51
sunechamacell
となると「そのうち処理しないと困るアレ」は直球で「ゴミ」と呼ぶのが正解に
2020/06/26 01:02
YOSHIOKA_Ko57
“たとえ理解が不完全だとしても、目の前の問題に対する現時点での理解を反映する” ~ “当時何を考えていたかが明快に残っているので、現在の理解に合わせてリファクタリングするのも容易になります”
2020/06/26 10:03
yyamano
“上司に説明するとき、(WyCash が)金融系ソフトウェアだったので金融の例え話を使い、それを「負債のメタファー」と名付けました。どういうことかというと、「もしも自分たちが書いているプログラム(WyCash)を、金
2020/06/26 14:25
public_key
むしろ雑なコードのことを技術的負債と言ってる人がいるのかと驚いた。そういうのは能力的負債とでも言っておけばよいのでは。
2020/06/26 18:40
chryfopp
「リスク」の同類だったか(金融で使われている用語で、「織り込むもの」よりも「なくすべきもの」として扱われがちという意味で)
2020/06/27 10:09
naofumi-fujii
“Ward の言う負債の悪影響とは開発と共に得られていく知識、理解と目の前のシステムとの乖離が引き起こす生産性低下のことであり、自分たちが書いているコードの保守性(あるいは、雑さ)のことではありません。”
2020/06/27 12:51
masaki925_8107
現時点での理解を可能な限り反映しておくのは本当それ、でもポジティブな意味合いだったとは知らなかった