3 ms·
I think that XP was the only true agile methodology. Agile just got more and more corrupted over the years through stupidity. Clearly AI programming allows you
by ilaksh 1y ago
I think that XP was the only true agile methodology. Agile just got more and more corrupted over the years through stupidity.
Clearly AI programming allows you to quickly close feedback loops. I don't think everything needs a comprehensive set of unit tests though.
But if people can go back and understand the core concept of XP (which again is about feedback loops to me) and take advantage of LLM-based agent systems to create those tight closed feedback loops, then that will be an advance for software engineering.
- jadbox 1y agoI think the ideal scenario is usually two paired programmer using a shared set of AI agents on the same working branch together. It's an ideal feedback loop of paired planning, reviewing, building, and testing.
- AnimalMuppet 1y agoDepends on how accurately AI can close the loops.
- viraptor 1y ago> I don't think everything needs a comprehensive set of unit tests though. There's a difference in the tests of that era though. Around the xp times, unit tests were for unit of functionality, not per-method.
- ffk 1y agoI think a more accurate version of this is: unit tests were not only per-method but also per functionality. This was often called BDD (Behavior Driven Development), e.g. Ruby's cucumber. Your intuition here is correct though.
- viraptor 1y agoI disagree with the "not only". The idea in xp is to write the test first. http://www.extremeprogramming.org/rules/testfirst.html http://www.extremeprogramming.org/rules/testfirst.html You don't know how many methods/functions (if any) you're going to add to make it pass, so they're explicitly per-functionality.
- caseyohara 1y agoThat’s not really true. “Unit tests are small tests, each one exercising a little piece of functionality. The units tested are usually individual methods, but sometimes clusters of methods or even whole objects.” Extreme Programming Explained: Embrace Change, 2nd Edition (2004) Kent Beck
- Izkata 1y agoThat quote is saying the same thing as GP.
- viraptor 1y agoYou're agreeing with me there. "each one exercising a little piece of functionality". In Beck's approach the tests are added at each step for a simple functionality addition, which then gets implemented in the project to pass the test. These days unit tests are more commonly used as "every method is a unit to be tested completely", often after the implementation is already there.
- caseyohara 1y agoI don’t see how? You said: “Around the xp times, unit tests were not per-method.” Beck said: “Unit tests are usually individual methods”
- anonymars 1y agoI also wonder if this is written from a statically-typed perspective. In dynamic-typing land there are so many more stupid little things that can break that the compiler would otherwise catch for you Either that or tracing/logging/debugging, but other than specific niches like parsing (of specific bug repros) I think integration tests are generally a lot more bang for the buck. Anyway, if you want to go down a related-but-unrelated rabbit hole, J.R. Thompson's lecture on the Space Shuttle Main Engines is a good one. You can probably watch it at higher speed to smooth out the many, many "uh"s (believe me, it's bad): Integrated testing: https://youtu.be/uow6v1EuybE?t=1292 https://youtu.be/uow6v1EuybE?t=1292 Test to failure: https://youtu.be/uow6v1EuybE?t=3135 https://youtu.be/uow6v1EuybE?t=3135 https://ocw.mit.edu/courses/16-885j-aircraft-systems-engineering-fall-2005/resources/lecture-6/ https://ocw.mit.edu/courses/16-885j-aircraft-systems-enginee... -- There's this more-modern link but in true modern fashion you can't really link to specific things presumably because it's all javascript muck: https://openlearninglibrary.mit.edu/courses/course-v1:MITx+16.885x+3T2019/course/#block-v1:MITx+16.885x+3T2019+type@sequential+block@c135b29c7bf84702b47182fbad8bf2d0 https://openlearninglibrary.mit.edu/courses/course-v1:MITx+1...
- mempko 1y agoReally? Because there is nothing agile about not shipping half your code to users (unit tests).
- jasonm23 1y agoIf you're not trolling, you're doing a great impression.
- cmrdporcupine 1y agoStarting with XP and in shops doing XP quite intensely has ruined me because I simply can't stomach working in "SCRUM" shops where a whole pile of stuff is taken as "agile" dogma which is mostly just ritualized meaningless bastardizations of things that XP pioneered, turned inside out.