リンク限定

アジャイルとTDDに関するディスカッション 2023

0
pdfractal @pdfractal

アジャイルの本質は 「ソフトウェア開発における投資対効果の最大化」というのはそのとおりです。 ところで、この超短PDCAサイクルを主張してしまう人物というのは、「手段」でしかない「見える化」を御神体のように扱う教条主義者です。 目的を実現するための手段が目的よりも重要と考えることがアジャイルが最も否定したい発想ということを教えてあげたいですね。

2023-10-06 23:05:06
pdfractal @pdfractal

アジャイルを知らない人にアジャイルを教える場合、アジャイルでは「何をすべきか?」よりも「何をしてはいけないか?」を教えた方が理解が深まると思いますね。 してはいけないことの例としては、 ・言い訳を考えて時間を浪費すること ・プロジェクトの成否を判断する人がプロジェクトの外にいること ・特定の手段を神聖視すること ・理想と実態を混同すること ・プロジェクトの目的がわかっていない作業者がプロジェクト内に一人以上存在すること

2023-10-06 23:11:29
きしだൠ(K1S) @kis

やっぱ、最初から正しいコード書いてればテストいらんやんみたいな話をちゃんとやるべき

2023-10-07 04:28:09
きしだൠ(K1S) @kis

「がんばってもバグは出るよね」という話が、なんか、最初からバグないコードを書くということから逃げる口実になってる感じ。

2023-10-07 05:02:48
きしだൠ(K1S) @kis

テストファーストの欺瞞、ちゃんと最初から適切なテストを書ける人は、そんなテストを書かなくてもちゃんとしたコードを書くし、適切なコードを書けない人は適切なテストも書けないのでどんだけ最初にテスト書いてもムダ、というのがある。

2023-10-07 05:24:43
ハシビロコウ @yalab

@kis テストコードに対する期待が大き過ぎる気がします。補助線を引いたほうが問題の理解がすすむ程度にテストファーストする価値があります

2023-10-07 05:28:43
きしだൠ(K1S) @kis

@yalab その補助線のようなテストコードは、プロダクトのリポジトリに残す必要がないように思います。

2023-10-07 05:30:03
ハシビロコウ @yalab

@kis 足を引っ張ってくるテストコードもいっぱいあるのでわからなくもないですけど、情報は多いほうが良い派なので僕は残して欲しいです

2023-10-07 05:33:50
きしだൠ(K1S) @kis

@yalab 誰もみないテストコードが無限に増えていくし、情報が多いとエントロピーがあがってなにが大切かもわからなくなるので、適切に残すべきだと思います。ノイズのような情報が増えれば大事な情報が埋もれるので。 ノイズでもあったほうがいいみたいな話には賛同できないです。

2023-10-07 05:35:52
ハシビロコウ @yalab

@kis 可読性悪くてもバグが再現出来ててそれを直したコードであればテストコードもコミットしておくことに価値はあります。不適切なテストが増えるのはもっと別な方針とか管理の問題でテストファーストという手法に対して無駄だという主張には賛同出来ないです

2023-10-07 05:47:52
きしだൠ(K1S) @kis

@yalab > テストファーストという手法に対して無駄 そんな主張してないですね。 やってもいいけどリポジトリに残さなくていいという話をしてます。 「バグが再現出来て」というならそれ運用したあとなのでテストファーストとは別ですね。

2023-10-07 05:51:40
ハシビロコウ @yalab

@kis なるほど。趣旨を取り違えていました。申し訳ないです。バグを再現したテストコードはリポジトリに残す価値はあるというのはどうでしょう?

2023-10-07 05:56:35
きしだൠ(K1S) @kis

@yalab それは価値があると思います。それは今後もバグを拾う可能性が高いので。 実装前に書くテストファーストのテストは無駄になりやすいけど、実装後に書くテストアフターのテストはそれに比べれば無駄になりにくいんじゃないかと思います。

2023-10-07 06:01:21
joker1007 (アルフォートおじさん) @joker1007

自分の感覚としては、TDDとかXPとかアジャイル開発って教条的なスタイルは示しているものの、現実としての取り入れ方はエッセンスを感じとってお前で考えろというものだと思っていて、ただ受け取るだけのやり方がそもそも思想にあってない、みたいなメタ的な要素もあると思っている。

2023-10-07 06:09:54
ハシビロコウ @yalab

@kis 現象としては起きててもそれを「コードで再現する」というのはテストファーストだと思います。僕自身TDDを実践してレベル上がったので最初にテストを書いてもムダという主張に反発してしまいました。TDDが良いものだとそれでも僕は思いますがムダなテストコードも確かに多いというのもよく分かります

2023-10-07 06:11:21
きしだൠ(K1S) @kis

@yalab > 現象としては起きててもそれを「コードで再現する」というのはテストファースト それは拡大解釈ではないかと。 完全にテストアフターですよ。

2023-10-07 06:12:23
ハシビロコウ @yalab

@kis なるほど。この辺に価値観とリポジトリに残すべきかの肌感の差がありそうですね

2023-10-07 06:19:46
きしだൠ(K1S) @kis

@yalab バグが出たあとにそれを再現、修正確認するためのテストは、単にユニットテストであって、それをテストファーストと捉えてもケントベックのテスト駆動開発の話と食い違うと思うので、共通認識には しづらいんではないかと。

2023-10-07 06:24:12
ハシビロコウ @yalab

@kis ユニットテストとテストファーストの混同はたしかにしてました。サイクルとしてテストを書いて実装をするなので。長々と申し訳ありませんでした

2023-10-07 06:29:17
きしだൠ(K1S) @kis

@yalab いえいえ。ちゃんと考え直すきっかけにもなったのでありがたいです。

2023-10-07 06:33:53
さぼてんてん @rami2076

前提として「最初から正しいコードを書く」ということが人類には難しいというのという価値観がTDDかなと そもそもテストがなくてもいいのではという話に関しては、テストがあれば致命的なバグの回避を避けながら脆弱性対応(依存のバージョン上げ)が可能というメリットもあるかなと twitter.com/kis/status/171…

2023-10-07 07:40:08
きしだൠ(K1S) @kis

@rami2076 じゃあTDDでちゃんと書けるのかという疑問 twitter.com/kis/status/171…

2023-10-07 07:45:43
きしだൠ(K1S) @kis

@rami2076 それとこれですね。 加えて、そんなそこかしこに致命的なバグの可能性あるのか、というのと twitter.com/kis/status/171…

2023-10-07 07:47:51
きしだൠ(K1S) @kis

能力が低くてもテストコードを書くことによって適切なコードを書ける確率があがるみたいな話だと、そんな練習用のテストコードをプロダクトリポジトリに残すなみたいな話になる。お前の成長の過程をプロダクトログに残しても、みたいな話にならないかと

2023-10-07 05:29:44
さぼてんてん @rami2076

致命的なバグの可能性の有無は書いていないコードにも潜んでいるかなと、例えばSpringBoot3からのエンドポイントの末尾スラッシュの有無により異なるエンドポイントと見なすようになるという変更がありましたがテストを書いていればその変化を認知できデプロイする前に影響を調査できたりする twitter.com/kis/status/171…

2023-10-07 08:01:16
1 ・・ 8 次へ