Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Ron Jeffries

    ronjeffries.com · Personal blog · on HN since 2015

    Ron Jeffries, an Agile Manifesto signatory, writes about Agile, Scrum, extreme programming, TDD and refactoring.

    Visit blogRSSHN submissions
    ProgrammingManagement
    What HN says

    Commenters often cite his TDD Sudoku solver as a cautionary example against Norvig's approach, and his call to drop "Agile" for "Manifesto Agile".

    Stats for nerds
    67HN people shared it
    99linked in comments
    633story points
    Jun 2026last shared
    2015people per year2026

    Top posts on HN

    1. 1
      My God, it's full of yaks
      1 person · 184 points · first shared 2016 · 113 comments on HN
    2. 2
      We Tried Baseball and It Didn't Work (2006)
      8 people · 157 points · first shared 2016 · 118 comments on HN
    3. 3
      Developers Should Abandon Agile
      4 people · 62 points · first shared 2018 · 25 comments on HN
    4. 4
      Refactoring – Not on the backlog (2014)
      7 people · 27 points · first shared 2016 · 4 comments on HN
    5. 5
      Dark Scrum
      9 people · 25 points · first shared 2016 · 1 comments on HN
    6. 6
      Jira: Razor Blades?
      1 person · 23 points · first shared 2021 · 24 comments on HN
    7. 7
      "I may have invented story points, and if I did, I'm sorry now" (2019)
      6 people · 11 points · first shared 2019 · Discussion on HN
    8. 8
      Extreme Programming Revived?
      1 person · 10 points · first shared 2015 · 4 comments on HN
    9. 9
      Yagni, Yes. Skimping, No. Technical Debt? Not Even
      1 person · 8 points · first shared 2019 · Discussion on HN
    10. 10
      Design Thinking
      2 people · 6 points · first shared 2025 · Discussion on HN

    What HN people wrote when they linked it

    • ryandvAug 2024

      Another linguistic confusion here. The author doesn't seem to clarify what exactly he thinks "agile" even means, which is not really surprising given that the original formulation [0] of "individuals and interactions over processing and tools" has somehow been co-opted and appropriated by the Scrum certified managerial class into an enterprise-scale methodology. There is Scrum(tm), and then there is kanban, and eXtreme Programming/XP, and your own homespun variant of "agile" that your team honed after a couple of years of working together and evolving your own working agreements... which one is under discussion here, and what are your definitions? The equivocation deepens once the author starts bringing devops into the picture, widening the already frighteningly large umbrella term "agile" into a diffuse, ill-defined mess:

      All the sins Marlinspike ascribes to Agile - siloing, big picture blindness, suppression of skills acquisition - are explicitly addressed by devops, which is entirely compatible with Agile. That being said, Moxie doesn't seem to clarify what _he_ means by "agile," either:

      Anybody who is managing an engineering organization will have some kind of management philosophy that is in some way downstream of, derivative of, in the zone of, or somehow related to agile [...] [1] - but given that both his remarks and TFA's recapitulation of those remarks tend to revolve around technical practices, and abstraction in particular, let's try…

    • unclebobmartinMar 2025

      Ah, yes. The famous Sudoku solver controversy.

      In 2006 Ron Jeffries wrote four blogs about solving Sudoku in Ruby with TDD. His blogging effort ended before he completed the solution. I think he got interested in something else and left the whole thing hanging.

      That same year Peter Norvig wrote a Sudoku solver in Python using a constraint based approach. You can see their respective documents here. https://ronjeffries.com/categories/sudoku/… https://norvig.com/sudoku.html

      The anti-TDD lobby, at the time, hailed the two documents as proof that TDD didn't work. Ha Ha, Nya Nya Boo Boo.

      I was aware of this silliness, but never bothered to study it. I had better things to do. Until March of 2020. Then I thought I'd use Sudoku as a case study for Episode 62 in http://cleancoders.com.

      I had not read either of the previous documents and decided to maintain that ignorance while writing the solver in Clojure using TDD. It turned out to be a rather trivial problem to solve. You can see my solution in http://github.com/unclebob/sudoku

      I don't know why Ron stopped blogging his Sudoku solver in 2006; but he picked it up again in 2024 and has written much more about it.

      The trick I used to solve Sudoku with TDD was to consider the degenerate cases. Sudoku is usually a 3x3x3x3 grid. Let's call this a rank-3 problem. I started with a rank 1 problem which is trivial to solve. Then I moved on to a rank 2 problem which was relatively simple to solve; but was also very…

    • s188Aug 2019

      The hardware engineering world (oil and gas, aerospace, civil) is less about ego and more about well established processes, practices and rules. These are much more mature industries than the software industry. In my experience intellectual posturing is much more a software industry thing than a hardware industry thing. Software developers are still struggling to figure out what's the best way to do things. SOLID, YAGNI, Agile, RUP, RAD, Clean Code, OOP/FP - they're all just the start of a maturing process. They will no doubt be superseded in time by other, better practices, just as they have superseded others. In mature engineering industries, the engineering rules and practices are well establishes. Much of this has come about because of accidents (and death - planes crashing, bridges collapsing, oil rigs exploding) and the court cases that follow. In the early oil industry health and safety mattered little. Same goes for the aerospace industry. These are hard lessons to learn and practices had to change. The cost of not changing was uneconomical.

      The software industry is still growing up and best practices still have to be formally established. All the articles and books written about best practices in software - they're just the beginning - and most are probably wrong to some extent. Where does the intellectual posturing come from in the software industry? It's largely because of a lack of provably reliable practices and processes. The ones we have, are sold to us as…

    • TomOwensJun 2026

      A better title would be "Dark Agile is a scourge on the planet". There are plenty of people who've written about this, but Ron Jeffries' posts "Dark Scrum" (https://ronjeffries.com/articles/016-09ff/defense/) and "We Tried Baseball and It Didn't Work" (https://ronjeffries.com/xprog/articles/jatbaseball/) cover this well.

      Retros: Retros are about being more effective. That usually means talking about and solving problems. If too many problems are beyond the team's control, that's indicative of a "faux agile" or "dark agile" environment. If your "CEO being a dickhead" is the biggest problem in anything but the smallest organizations, your CEO is not pushing decisions down to the lowest possible level where they can be made and isn't trusting and respecting the people with the knowledge and skills to get the work done. This is the kind of cultural shift needed to make agility work. If most decisions are made two or three (or more) levels above the team, then agility falls apart. When it comes to successes, it's not about patting yourselves on the back, but about finding ways to repeat those successes again and again in the future.

      Standups: Even a "quick morning briefing'" isn't the intent of a standup. It's a planning session. If you have a bunch of people who barely work together, you won't get value from a daily standup. But when you have highly collaborative teams and are planning things like who is going to pair or mob today, what work will be integrated and would be…

    • struppiMay 2018

      If you do Scrum like that, you're doing it wrong (I know, no true Sctosman [1], and I know, there are actually dark patterns [2]).

      I wrote a whole book about "Agile Anti-Patterns" [3]. Most of the book's content is about things that many companies get wrong when they start with agile or lean software development. Because it is very easy to get those things wrong.

      Yes, those problems are extremely common. Not only with Scrum - Organizations also face those problems when they try Kanban or SAFe or whatever. Because, change in a traditional organization is hard. And to really implement Scrum, you'd probably need to change more about the organization than the org was willing to change.

      But those problems are not Scrum's fault. If the team has no power, it is also not truly self-organized. And the Scrum Master is not doing their job.

      You could start to improve by creating awareness about the problems. Blaming Scrum may or may not be a good idea to do that - Because, some people in your org may be invested in Scrum. Some mentoring or coaching for your Scrum Masters, Product Owners and developers and managers might be a better start.

      [1] https://www.davidtanzer.net/david%27s%20blog/2014/03/26/no-true-scotsman-in-agile.html

      [2] https://ronjeffries.com/articles/018-01ff/hills-to-die-on/

      [3] https://www.quickglance.at/agile_antipatterns.html

    • random_coder_nzFeb 2022

      Technical debt is an explicit choice to optimise for speed of delivery at the cost of having to do more work later to bring the delivered code up to the usual expectations of code/features in the system. Ideally the choice to take on that technical debt comes with an agreement of when the debt will be paid down and an understanding of the additional work that will be required because of the shortcut being taken now.

      It is not technical debt if there is no explicit decision, or it is the gradual and continuous bitrot that all codebases suffer. I usually refer to this as cruft and while good design and writing code to optimise for readability / understandability reduce the rate that cruft accumulates, it cannot be stopped due to the nature of software. The best practice I have found to fight cruft is many small refactorings and cleanups as part of every piece of work I deliver. This strategy is outlined in https://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/.

    Related

    Mountain Goat Software Blogmountaingoatsoftware.com27 people

    Leave Work Unassigned and See Who Steps Forward

    Mountain Goat Software Blog
    Company · last shared 2026
    Dan Dreams of Codingdandreamsofcoding.com18 people

    Shutting Down a Dream

    Dan Dreams of Coding
    Personal · last shared 2025
    Rachel Krollrachelbythebay.com493 people

    fork() can fail

    Rachel Kroll
    Personal · last shared 2026
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Herb Suttergotw.ca84 people

    Ritchie, Stroustrup, and Gosling interview

    Herb Sutter
    Personal · last shared 2026
    Kent Beckthreeriversinstitute.org30 people

    "Joel Spolksy is wrong about my work" - Kent Beck

    Kent Beck
    Personal · last shared 2015
    Martin Fowlermartinfowler.com1.5k people

    Monolith First (2015)

    Martin Fowler
    Personal · last shared 2026
    LessWronglesswrong.com2.4k people

    The Best Textbooks on Every Subject

    LessWrong
    Publication · last shared 2026