Mythical Man Month

(martinfowler.com)

216 points | by ingve 2 days ago

19 comments

  • nvader 9 hours ago
    Fortunate to be reminded of this right now, especially the pull-quote about conceptual integrity.

    This is the reason why AI-assisted programming has not turned out to be the silver bullet we have been hoping for, at least yet. Muddled prompting by humans gets you the Homer Simpson car you wished for, that will eventually collapse under its own weight.

    I've been thinking a lot about Programming as Theory Building [0] as the missing piece in AI-assisted engineering. Perhaps there are approaches which naturally focus on the essence while ignoring the accidents, but I'm still looking for them. Right now the state of the art I see ignores both accident and essence alike, and degrades the ability to make progress.

    Please inform me if there are any approaches you know that work! And lest this sound pessimistic, far from it. This state of affairs is actually intoxicatingly motivating. Feels like we have found silver, and just need to start learning to mould bullets.

    [0] Another classic required reading of the industry https://pages.cs.wisc.edu/~remzi/Naur.pdf

    • boron1006 6 hours ago
      This is a good way of putting it. I ship individual features faster, but the end to end process of shipping software has remained the roughly same because the vast majority of my time is building the “theory”.
    • tclancy 1 hour ago
      [flagged]
  • nemo1618 9 hours ago
    It's interesting to revisit Brooks' "surgical team" in light of AI. For example, I frequently have Claude act as a "toolsmith", creating bespoke project-specific tools on the fly, which are then documented in Skills that Claude can use going forward. What has changed is that a) One person (or rather, one person-AI hybrid) plays all the roles within the surgical team, and b) Internal frictions such as cost, development time, and communication overhead have all been dramatically slashed.
    • alexpotato 2 hours ago
      > frequently have Claude act as a "toolsmith", creating bespoke project-specific tools on the fly, which are then documented in Skills that Claude can use going forward.

      I also do this.

      e.g. after watching Claude burn tokens building and then deploying a docker image multiple times (and it taking extra time), I asked it to just create a build.and.deploy.sh script. I also then have a test.deploy.sh script that Claude can use to confirm everything worked.

      Saves a ton of time/tokens AND has the added benefit of being usable by me or other humans when doing manual tests or debugging outages etc.

      • eddyg 1 hour ago
        I do something similar, but tell the agent to write a recipe into a justfile. Then it can run `just` and get a self-documenting list of all the tooling for the project (just build, just test, etc.)
    • rafaelmn 7 hours ago
      How well does that work for you ? It's annoyingly inconsistent for me - I give it instructions on how to fetch JIRA ticket with a script that renders everything relevant to a .md and half of the time it will still default to reading it via ACLI. I have instructions on how to do a full build with warnaserror before commit but I still get pipeline errors regularly because it will skip the noincremental part, etc.
      • paperpunk 5 hours ago
        I have a harness for Claude Code "hooks" (https://code.claude.com/docs/en/hooks) which in my case execute a Go tool in a separate project which runs changes made by claude through a validator with various rules that can be defined (regex, semgrep, etc.). They can warn claude or they can block changes outright.

        When I find claude is using tools or approaches that I have replaced with more specific ones, I ask claude to add a hook to prevent doing this in the future and point it to the instructions of what to do instead.

        And of course I wrapped all that up in a Skill so it knows what approaches to take to add things to hooks.

        It becomes fairly trivial to incrementally stop it making repeated mistakes like this.

      • freedomben 4 hours ago
        I've had that happen before too, and I just added a line to CLAUDE.md or AGENTS.md something like (adapted to your example):

            When asked to fetch JIRA tickets, use the "fetch-jira" skill rather than reading via ACLI
        
        Claude has gotten better about following CLAUDE.md over the last year (it was pretty laughably bad at it previously).
        • rafaelmn 3 hours ago
          I have that both in the skill and in CLAUDE.md but it's not reliable - and polluting CLAUDE.md with task specific instructions kind of sucks.
          • wallst07 2 hours ago
            I have the same issue too, 99% of the it's for two reasons

            1) It tried the tool, but for some reason it worked unexpectedly and Claude is VERY good at working around problems, it won't just stop.

            2) Context got too long so those rules were "forgotten"

        • maccard 4 hours ago
          It only released just over a year ago…
      • ffsm8 6 hours ago
        You may want to try out pi-agent and create custom extensions instead.

        Then codify this behavior into a process which automatically gets run through.

        I.e. $repo/origin as bare repo, then prompt to create a shell script which creates the worktree and cds into it, running the script you mentioned, instantiating pi in it. Potentially define explicit phases for your workflow and show the phase in the UI - and quality gates for transitions. Eg force the implment to finalize phase to only happen if all tests succeeded. Potentially add multiple review phases here too, with different prompts. This progressively gets rid of more and more inconsistencies.

        Still not a perfect solution, but on average I've had less and less to manually address with that workflow. Albeit at cost of tokens (multiple reviews phases obviously ingest all changes multiple time)

        Pi-agents extensibility is just a lot better then the other harnesses, but you could obviously also just introduce a different orchestrator to do the same. For me, pi-agent was just the least amount of effort necessary to get it going.

      • cyanydeez 6 hours ago
        On a local model, with open code, when I wrote a specific javascript way to run sql queries because bash and psql were error prone, what I did was when I saw it make a mistake, I told it in passive agressive tones something like: "please edit AGENTS.md to detail how to use the query.js tool to run a query and to never use psql"; I did this two times until it stopped wanting to use psql.

        It seems like if you write the docs yourself that's not leveraging the probability that the model itself knows the anti-context guard rail that best prevents it from grabbing its average tool use.

  • ilitirit 4 hours ago
    "Conceptual integrity" is something I always try to adhere to when I design and build systems. I also use it also a bit of an indicator when gauging someone's experience. For example, mid-level devs will often try to introduce some form of "optimisation" somewhere in the codebase that results in the codeflow deviating from existing patterns. More often than not I will reject the PR, or the idea. For me, it's better than all flows follow similar paths. It makes it easier to reason and communicate ideas about, modularise and/or form logical groupings etc etc.

    This is also why one of my instructions to coding agents is that they adhere to established coding and testing patterns, even where they appear to be sub-optimal.

  • alasdair_ 10 hours ago
    Notably, his essay “no silver bullet” states that there has never been a new technology or way of thinking or working that has led to a 10X increase in the speed of software development.

    That was true for almost seventy years until roughly last year.

    AI is the silver bullet - my output is genuinely 10X what it was before claude code existed.

    • hansvm 9 hours ago
      I haven't yet seen anyone with a concrete example project (public ideally, but even describing private efforts in enough detail to enable potential criticism would be fine) making a claim as strong as 10x. Are you willing to break the mould and show us what we're all missing?
      • CraigJPerry 6 hours ago
        10x what? 10x revenue? 10x features shipped? Whats the measure, is it 10x speed of dev like parent comment? Because an unqualified 10x could mean 10x SLOC which is trivial with an agent but has negative value.

        Assuming 10x on the speed of dev, Is the vscode repo a decent example? Recently they've been all in on AI augmented development so i'm thinking they'd be a reasonable subject?

        How do you isolate out what counts as the "development" part of their delivery cycle (is that the dev inner loop, does that show up in frequency of commits then?) to measure it and see if it's running 10x?

        https://github.com/microsoft/vscode/graphs/contributors?from...

        • timacles 19 minutes ago
          Guarantee it’s the same story I get from all my friends/co workers who are now 10x… they are 10 times faster at starting random projects that get to 80% done that they can’t finish, so they immediately move on to the next project because their velocity is so high
        • matt_s 2 hours ago
          Its 10x code generation with .5x quality at best and all other parts of the SDLC are at 1.x or worse.

          AI is not delivering 10x shareholder value, anywhere. Software developers have quite the level of hubris about how important they are to companies. Yes our work is very complex and takes a certain mindset to do it well. It takes a lot of other roles to have a successful business, many of those roles will use AI to help draft slide decks, emails, etc. and that's the limit for them.

          Look at recent companies doing layoffs claiming its because of AI, like CloudFlare and Coinbase, do their reported financials paint the picture that they are crushing it with AI? No, its net losses into the $100's of millions.

      • ventana 9 hours ago
        It's more like ∞x (or N/Ax if you prefer) because the majority of the projects I did with LLM agents wouldn't have existed without them, because I would've never found enough time to work on them.

        One of the latest things I made with Claude was a tool that allowed me to move a bunch of very low traffic Cloud Run services to a single VPS without losing any of the Cloud Run benefits such as easy Docker-based deployment and automatic certificate provisioning. I thought about making something like that for quite some time, and Claude finally made it possible, which makes me quite happy.

        The fun thing here is that no other soul genuinely cares about it, or any other code I might publish. The code, especially AI generated, is so cheap that if anyone wants to repeat my steps to get rid of Cloud Run services, they will probably vibe-code their own tool instead of figuring out how to use mine, just like I did that instead of spending time on learning Dokku or similar solutions.

        So, yes, 10x and more, but no one cares about the result, which makes the whole 10x measurement less useful.

        • TehShrike 29 minutes ago
          There have been plenty of libraries/tools that got people from "I would like to do foo" to "oh, this tool makes foo possible in under 10 hours, I should start working on foo" in the past. LLMs have done this for many foos, which is great.

          But I'm with hansvm - I haven't actually seen anyone plausibly maintain 10x. 10x is different from getting people past their activation cost.

        • wahnfrieden 8 hours ago
          The incredulity at 10x claims is often unearned because how much do these skeptics actually notice and appreciate the depth of work of ten developers collaborating on something (if not their own org)? Dev output slips by quietly. There are reams of unnoticed projects even at the scale of a life’s work.
          • Capricorn2481 8 hours ago
            This doesn't pass a sniff test at any small organization. And wouldn't these devs see this 10x claim themselves?
            • steve_adams_86 6 hours ago
              My small organization is noticing output increasing. We're excited about it. I’m not sure about 10x… Like others have mentioned, it’s difficult because you have to measure different workloads.

              I build things I never would have. My tooling is better and more robust than ever. I verify and test my work better than ever. I fix more bugs than I used to simply because no one needs to care if it fits into a cycle. I explore and solve more problems in more parts of the application, even if I don’t write code. I take better care of our infrastructure. Performance goes up, bugs go down, AWS resources scale back, costs go down. I’ve paid for my AI usage in scaled back resources several times over at this point.

              It might not be 10x but it’s a significant multiple.

            • cyanydeez 6 hours ago
              I'm assuming the devs are seeing 10x code generation and equating that to the improvement.

              It's when they practically ignore the rabbit holes where it's suspect. I'm definitely seeing speed ups. I troubleshot a linux system yesterday with minimal effort using a local llm. It likely would have taken me a few hours to locate all the docs & testing procedures. the llm did it with only a few prompts. To ensure it did it correctly, I had to interrogate it a few times before letting it proceed.

              Humans make really bad scientists, and it takes a lot of effort to properly catalog and provide statistics for these things.

              There is an improvement, but I doubt any random dev can give a real estimate since before LLMs they couldnt really give you a real estimate anyway. I do know when I encounter a bug now, debugging is almost immediately possible.

      • jgrahamc 6 hours ago
        I am building a better interface for managing KNX systems than the ETS6 software. Code is here: https://github.com/jgrahamc/koolenex

        1. I would not have attempted this without AI assistance because it's a big project.

        2. I have built a functional program that I am able to use for real work in a handful of weeks, working part time on this (like literally a few hours per day prompting Claude and Kimi).

        3. Had I decided to do this without AI assistance it would have been months of work.

      • Deeds67 3 hours ago
        I'm building an open source Google Photos alternative. Have a look at my project and tell me if you think you could do all this at the same speed without an LLM: https://opennoodle.de

        Direct github link: https://github.com/open-noodle/gallery

        • wallst07 2 hours ago
          It doesn't completely blow away your argument, but you forked Immich and gave it to a LLM. Which is arguably slightly easier than starting from scratch.

          Nothing wrong with forks though.

          • Deeds67 2 hours ago
            Sounds like you're nitpicking on whether or not LLMs make you faster by saying that working on existing code is easier than starting from scratch? I think you've missed the point.
            • bronson 8 minutes ago
              No, they're saying that it was misleading. OP said "I'm building an open source Google Photos alternative" and surprisingly didn't say "based on Immich". This dramatically changes the evaluation of "open-noodle".

              We're now in an era where LoC is easy and design is hard[1]. Starting with an existing project means using an existing design, where someone else has already made many/most of the difficult decisions.

              10Xing code without caring about design/UX/DX is trivial. Literally anybody with a token budget can do it. But they probably won't ship a good project. Not with current frontier models.

              [1]: design has always been hard. But now it's even more difficult because of code veloocity and because LLMs are happier to work with bad code than humans. It's never been easier to go deep into rabbit holes without noticing a single issue.

      • coldstartops 7 hours ago
        Here is a public project.

        https://github.com/KeibiSoft/KeibiDrop

        It took me 2 years ago around 2k hours to build a cross platform FUSE vault, without using AI assisted tools.

        The pain was debugging through logs and system traces. And understanding how things work.

        Now managed to ship this one much faster, as an after hours project. Started it in may 2025, and around end of November 2025 started using claude on it.

        Just by dumping logs into claude, and explaining the attack vector for the problems, saved me the FML moments of grindings walls of syscalls on 3 platforms.

        I would say much easier to progress, and ship with the same rigour, minimize my time, focus and brain power involvement such that I can put the energy somewhere else.

        • corndoge 7 hours ago
          Yep, the real strength of AI is less in replacing engineering skills, it's more in slashing all the time we spend not using those skills and doing low level research and data correlation tasks instead. Which isn't to say that those tasks aren't valuable in their own way, but in terms of raw output...
          • stephbook 7 hours ago
            I long for the day when they will supervise CI/CD systems.

            Trying to fix syntax errors in strong interpolation on a 5-minute-delay loop is hell.

            • Deeds67 3 hours ago
              Just create a skill for it -> I call mine `babysit`. It spins up a subagent that polls it every x minutes and auto-fixes it until it's green. I already continue with the next task while it does that in the background
              • wallst07 2 hours ago
                I do this with our AI PR review checks. We have AI review every PR and commits to PRs... which can cause long running loops of commit<>fix.

                So my agent just listens for green checks and no PR comments and loops until those conditions are met.

            • coldstartops 7 hours ago
              It is possible. I tell to use cli app, and for the agent to ad timer and check the status once in a while. Especially if there is something with a long wait. Also if it can run some validators/ same tools locally, would be much faster.

              Might tend to deviate and waste time, needs guiding once in a while, and to check what is it spewing out, point it in the correct direction.

          • coldstartops 7 hours ago
            I treat the low level tasks as building blocks. You need a grasp and understanding of what is possible with them, but you do not need to remember the exact byte order and syntax. I think the idea is you should structure your workflow in a deterministic way, and just use Claude/ LLM as the interface. It is much easier and enjoyable to use high level language, where you give pointers to building blocks/ directions/ say hard no when you understand things deviate.

            If I had to output the code myself, would take around 8 hours of constant writing to get around 1k LoC of code. For FUSE level tricky stuff, I might need to spend 3 weeks for 10 LoC. Very easy to burnout and build pain.

      • eitland 6 hours ago
        My friend who has never taken a programming class (or even touched an IDE before AFAIK) has now put a small app into production.

        Complete frontend + backend + database.

        Yes, it is an internal app, but it works and everyone loves it.

        Does that count as an example?

        (Also I absolutely expect him to need help at some point, but so far it has taken his project from absolutely impossible to 3 weeks of work in between work, renovating his house and being a dad for the first time so I was very impressed.)

      • wallst07 2 hours ago
        I can state one thing that I'm sure a lot of people connect with, and I don't know if this is 10x, probably not.

        I've always been a backend engineer, never front end. And almost every team I've been on has lacked any front end skills at all, so all our tools end up being a mash of scripts, maybe sometimes an API.

        Now we are all front end engineers creating UIs for things we could never do before, and this starts API first development, so the CLI + UI are just calling APIs. Nothing new here, but this used to be what teams do, now a single person does it.

        • rjh29 2 hours ago
          It would not have taken you long to learn frontend if you wanted to. Now you can use AI to generate it but you don't understand any of the generated code.
      • oaxacaoaxaca 8 hours ago
        I can describe private efforts about a couple recent projects that made me finally believe that Claude Code can actually be a 10x multiplier on certain work.

        We decided to integrate our SaaS into Microsoft Business Central and NetSuite as plugins into those systems. BC has its own programming language, called AL, that has a lot of idiosyncrasies from any other language I've worked with. And NetSuite plugins are written in SuiteScript, which is a custom JS runtime with a ton of APIs to learn.

        In the "before", it would've taken 5 developers a year or more to build those integrations. I did both by myself in well under a year. Thank you Claude.

    • HarHarVeryFunny 1 hour ago
      > AI is the silver bullet - my output is genuinely 10X what it was before claude code existed.

      This reminds me of ThePrimeagen noting that Dario was right about 90% of all software being written by AI. 90%+ of all useful software is still being written by humans, but now we've also got non-programmers like Gary Tan pushing the button to generate garbage piles of AI generated code at 10x the volume of what humans are generating.

      Or look at Claude Code itself, the poster child for what AI generated code looks like, especially when you're operating in YOLO "never mind the quality, count the LOC" mode. Over a half million lines of bug ridden crap when 10-50K could have done the job.

      https://techtrenches.dev/p/the-snake-that-ate-itself-what-cl...

    • lp4v4n 9 hours ago
      I'm curious to check how faster AAA games will hit the market in the next years compared to the pre-LLM era. Or how much of the aging COBOL code base out there will disappear in the next decade.

      When concrete things like that start to happen, then I will start to believe in the 10x claim.

      • chickensong 8 hours ago
        I'm not sure those are great examples. Why not just consider normal apps?

        I don't think we'll see AAA game velocity change until asset generation progresses quite a bit, not to mention stuff like rigging. Even then, there's still a layer between code and engine where you have to wire everything together which an LLM will struggle with.

        Replacing some old COBOL is probably more of a management decision based on appetite for change and politics rather than development speed.

        Aren't there some measurable things like github repo creation, PRs, app store additions, etc. that can be correlated to LLM adoption? Didn't Show HN have to get throttled after LLMs arrived?

        • Towaway69 8 hours ago
          I think your answer is the reason why. LLM performance is fine when applied to everything they can do.

          Take LLM out that safe space and suddenly they are no silver bullet, in fact they are unless.

          So of course those making the 10x claim mean in the safe space where LLM can handle all activities required. You can’t have it both ways 10x and difficult and confusing tasks for LLMs.

          • chickensong 5 hours ago
            Right, I get that. I'm just saying it seems wrong to throw up minority examples. Nobody is pumping out AAA games at speed with LLMs, nor is anyone claiming to do so. There will likely always be some areas where LLMs are bad or useless.

            How many people are writing crud apps using mainstream languages vs COBOL though? You don't need 100% silver bullet 1-shot everything, just to recognize the signals that for many use cases, there's a significant shift happening. The safe space is expanding and velocity is increasing.

            • Towaway69 4 hours ago
              Definitely the safe space is expanding but how fragile and expensive is this expansion?

              AI requires a larger amount of fragile resources to work as opposed to an editor, keyboard and a human.

              It some sense it’s a bit like the bitcoin revolution that slowed down once transaction times ballooned out. And blockchains didn’t replace databases as expected. Probably for very good reasons: resources required v. results delivered.

              I personally agree that AI is great technology for some great new tools. But we still haven’t found its limits: cost v. results. That happened with bitcoins and blockchains is still outstanding for AIs.

      • plausibility 9 hours ago
        I feel like that’s tied to the hardware the companies are using. All the banks I’ve worked at run z/OS mainframes, can they even deploy modern run of the mill Go/Python/Rust code or is getting off COBOL reliant on hardware changes?
    • cdavid 9 hours ago
      The main point of mythical man month was that communication cost across people was the main cost as project grow in complexity.

      So increasing individual output by itself is not enough to affect the argument. It could, if you also reduce the size of people needed for a project, where people are everyone included in the project, not just SWE. But there are strong forces in large orgs to pull toward larger project sizes: budgeting overhead and other similar large orgs optimize for legibility kind of arguments.

      IMO the only way this will change is when new companies will challenge existing big guys. I think AI will help achieve this (e.g. agentic e-commerce challenging the existing players), but it will take time.

    • mbeex 8 hours ago
      That is far from proven, 'far' being the keyword here in another understanding.

      At _this_ moment, AI is in the state of producing things - if you like with factor 10 or more. But what will come afterwards, when all this mush of code shall create _reliable_ results. This means not man month then, rather man years or decades to fix this billion and maybe trillions lines of opaque probabilistic LOC. You have to take the mean of these two stages, if nothing qualitative happens to the models.

    • ssivark 8 hours ago
      So there's input (prompts/requests/tokens), then there's outputs (lines of code) and there's outcomes. How much have the outcomes improved? Not just yours, but I'm more curious on the outcomes with regards to the actual need your projects are solving.
    • boron1006 6 hours ago
      Conversely, the value of software has dropped to 1/10 of what it was before Claude code existed.

      I’m being glib, but there’s a whole class of software (eg simple crud apps) that just don’t have any marginal value anymore. So it doesn’t matter if it’s 10X faster or 100X faster. 100 x $0 is still 0.

      • zemvpferreira 6 hours ago
        You mean the price of software, as well as the cost. The value (to the user) is the same if not more.
        • boron1006 5 hours ago
          Unless the user just vibe-codes their own version.

          Which is what I’m seeing at my job. All of these “afternoon vibe code” projects never actually get users because everyone just vibe-codes their own.

          • darkwater 5 hours ago
            But GP statement is still true. You just cut out a middleman.
            • boron1006 5 hours ago
              But “your software” isn’t bringing value anymore if people don’t use it.

              The things that the software does might have value, but the marginal utility of your software is effectively 0.

    • majormajor 9 hours ago
      First counterexample that comes to mind: Rails vs 90s networked/shared line-of-business crud app development was a 10x factor. It also enabled a lot of internal tools that wouldn't have been worth doing without it.

      But after people's expectations adjusted it was just back on the treadmill.

      I don't think we've found a new steady-state yet, but I have some gut feeling guesses about where it's going to be.

      • Pamar 5 hours ago
        90% of my my experience has always been dealing with large-ish corporate systems. I am in Europe, so YMMV even when talking about corporate instead of smaller scale projects.

        In my experience stuff like RAILS had negligible impact in my field because companies would always require solid backup from some big name vendor (MS, Oracle, IBM, Sun - back in the day, or even SAP).

        So most if not all the smaller silver bullets did not even make a blimp on the radar... and stuff like Java or .NET, while definitely better than C or COBOL... did not really deliver in terms of productivity boost (in part because, as noted in the message I am answering to, expectations kept growing at the same pace)

      • Towaway69 8 hours ago
        In particular if that steady-state requires 4 to 40GB blob of binary code to be installed or an internet connection to an AI SaaS provider and a credit card.

        I remember when coding was free as in beer and freedom!

        • bitwize 1 hour ago
          It's okay. In the near future people will not own a computer of significant capability at all, so it's not like they'd even be able to develop without a cloud connection in the first place.

          And, for the most part, they will be okay with this. Gen Alpha or Beta will tell each other how morally wrong it is to expect for everyone to own a computer or even a smartphone, citing the environmental impacts, slaves mining coltan, and the toxic emotional effects upon people who grew up in the Social Media Dark Ages. Much like present-day Hackernews feels about personal automobile ownership.

      • bitwize 1 hour ago
        Ah, Fails. "Before we made x improvement, the app had to restart 400x a day, now it's only 10x!"

        For all the complaining we do about "enshittification", we (Hackernews, the broader industry, whatever), are perfectly willing to pay the price of stability and performance to get a little development speed. That's one prong of how enshittification happens. "I can make compromises in the quality of my product because time to market is the one thing, the only thing that matters in this move-fast-break-things economy—and pass my savings on to the customer (in the form of hidden costs)!"

    • whateveracct 9 hours ago
      This was true as programming languages evolved too. It was so much easier to write scripting languages than C. You could crap out scripts like crazy - no cc refusing to give you a binary to get in your way.

      Clearly..it still wasn't a silver bullet. Because output as a metric is a bad one. I thought it was only one managers valued..but apparently Anthropic has convinced devs to value it finally? i guess it def hits that dopamine receptor hard.

    • batshit_beaver 10 hours ago
      10x the amount of code or features =/= 10x the speed of software development.
      • furyofantares 9 hours ago
        There are sizes of projects where it's true, and that size is growing.
      • lovich 9 hours ago
        And 20x the bugs.

        I too can vastly increase my speed of development when I stop caring about the quality.

      • MattDamonSpace 9 hours ago
        Doesn’t necessarily but does sometimes unless you have a concrete alternative
      • esafak 9 hours ago
        How are you defining speed of software development?
      • bogdanoff_2 10 hours ago
        How is that not the same thing?
        • tudelo 9 hours ago
          Most of my work has been in core infra at large companies. Having the code written faster does not change rollout velocity all that much... It does help with signals and idiot proofing on bugs but when things break and cost real (very real) dollars AI is not an explanation. In that instance, its not even close. Development might be 10-20 percent of the actual work to get a change out.
          • cortesoft 9 hours ago
            AI can also speed up the release processes
        • ben_w 9 hours ago
          Code is always easy to multiply fruitlessly, always has been.

          Features are harder to show the limits of, but have you ever had a client or boss who didn't know what they wanted, they just kept asking for stuff? 100 sequential tickets to change the contrast of some button can be closed in record time, but the final impact is still just the final one of the sequence.

          Or have you experienced bike-shedding* from coworkers in meetings? It doesn't matter what metaphorical colour the metaphorical bike shed gets painted.

          Or, as a user, had a mandatory update that either didn't seem to do anything at all, or worse moved things in the UX around so you couldn't find features you actually did use? Something I get with many apps and operating systems; I'd say MacOS's UX peaked back when versions were named after cats. Non-UX stuff got better since then, but the UX (even the creation of SwiftUI as an attempt to replace UIKit and AppKit) feels like it was CV-driven development, not something that benefits me as a user.

          You can add a lot of features and close a lot of tickets while adding zero-to-negative business value. When code was expensive, that cost could be used directly as a reason to say "let's delay this"; now you have to explain more directly to the boss or the client why they're asking for an actively bad thing instead of it being a replacement of an expensive gamble with a cheap gamble. This is not something most of us are trained to do well, I think. Worse, even those of us who are skilled at that kind of client interactions, the fact of code suddenly being cheap means that many of us have mis-trained instincts on what's actually important, in exactly the way that those customers and bosses should be suspicious of.

          * https://en.wikipedia.org/wiki/Law_of_triviality

        • __s 9 hours ago
          At Microsoft I wrote a feature to support customer setting a preferred AZ for their database. Took a couple weeks as a side project. Nearly 2 years later it reached customers

          Extreme example, but exemplifies point

        • CreepGin 10 hours ago
          "nine women can't have a baby in a month". Speed of software development is not pure output.
          • whateveracct 9 hours ago
            for certain monkeys, they think it is tho

            there are entire C corps of monkeys out there

        • jen20 10 hours ago
          Writing code is a part (sometimes a big part, sometimes not) of delivering software to production. The overall system throughput is the interesting thing to look at.
    • codingdave 4 hours ago
      The disconnect here is a lack of proof that your increase in personal output actually increases the speed of software development. Considering: https://en.wikipedia.org/wiki/Ninety%E2%80%93ninety_rule as a joking, but true fact of how software projects go, does AI skip that 2nd 90%? Or do we add a whole new bottleneck of review and corrections, and still need to code that last 90%?

      When I measure software dev, delivery of code isn't even a metric I care about. It is a key part of the process, to be sure, but I care about results - Did we ship? Did it work? Do we have happier customers and a smaller bug list?

      In my experience, while I can answer "yes" to those questions on people who use AI assistance surgically, applying it where its strengths lie... I can answer an emphatic "No" for the teams I've worked with who are "AI-first", making the AI usage itself part of their goals.

    • OtherShrezzing 8 hours ago
      You’re describing output while the essay is discussing productivity.

      If you’re 10x more productive, someone is willing to pay you 10x as much as they were last year, because you’re producing 10x as much value as before.

      Has your salary increased 10x?

      • dgellow 2 hours ago
        > If you’re 10x more productive, someone is willing to pay you 10x as much as they were last year, because you’re producing 10x as much value as before. Has your salary increased 10x?

        That's too simplistic because the rest of the economy isn't static. Everyone is getting access to AI tooling, if the whole field gets a productivity increase then the baseline changes, you don't just become 10x more valuable. The previous work is now way less valuable than it was before. It's also not clear to me that the productivity gains from AI convert 1:1 into profit gains

      • doesnt_know 8 hours ago
        I don't believe the 10x claims, but since when has salary been any indication of productivity?
        • OtherShrezzing 5 hours ago
          Productivity is a value measured in dollars. So if you’re 10x more productive, someone somewhere is making 10x the $ value from your output.

          You should expect this to be reflected in the labour market somewhere. Maybe not your own salary, but in somebody’s salary.

          • dgellow 2 hours ago
            In economics productivity is generally the outputs divided by the inputs used for production. Are you talking specifically about capital productivity?
          • tehjoker 1 hour ago
            One of the most important graphs in economics shows a divergence between increases in labor productivity and worker take home share since at least the 1970s

            maybe you are thinking ceos or shareholders

      • aryehof 7 hours ago
        Salary stays the same. A bunch of others are fired. You’re expected to produce their level of output as well as your own. After all, you’re 10x more productive now?
        • OtherShrezzing 3 hours ago
          I guess the follow up question to this is “have nine of your colleagues been fired?”
      • gabriel-uribe 7 hours ago
        Salary has had weak correlation to productivity gains since last century.
    • TimTheTinker 8 hours ago
      AI is certainly able to increase coding speed, especially for experienced engineers who can design the analytical parts themselves (data structures, interfaces, invariants, and process), but in large projects and/or organizations, queuing theory (especially as understood by lean development practitioners like Don Reinertsen) is going to be nasty.

      Lean development theory teaches us that in a multi-workstream, multi-stage development process, developers should be kept at roughly 65-75% utilization. Otherwise, contra-intuitively, work queue lengths increase exponentially the closer utilization gets to 100%. The reason is that slack in the system absorbs and smooths perturbations and variability, which are inevitable.

      Furthermore, underutilization is also highly comparable to stock market options: their value increases as variability increases. Slack enables quick pivots with less advance notice. It builds continuous responsiveness into the system. And as the Agile Manifesto tells us, excellent software development is more characterized by the ability to respond to change than the mere ability to follow a plan. Customers appreciate responsiveness from software vendors; it builds trust, which is increasing in value all the more with the rise of AI.

      But AI-driven development threatens to increase, not decrease individual engineer utilization. More is expected, more is possible, and frankly, once you learn how to guardrail the AI and give it no trust to design well analytically, the speed a senior engineer can achieve while writing great code with AI assistance often feels intoxicating.

      I think we're going to go through a whole new spat of hard, counterintuitive lessons similar to those many 1960s and 70s developers like Fred Brooks and his IBM team learned the hard way.

    • conartist6 2 hours ago
      Oh spare me! Anyone can "output" 10x more code. Fred knew you could slap 10x more people on a team and "output" 10x more code.

      What this article explains is why despite your feelings of untouchable success, on average the experience of using software just keeps getting worse and worse and worse, making this the worst era for software quality that I've ever lived through

      Didn't we already do this with every company looking to hire "rockstar programmers"? I don't recall that that ended well.

    • gensym 10 hours ago
      I've been thinking about this and have wanted to discuss it with people. I think the 10x thing has been broken, but I don't think it's because the premise of "No Silver Bullet" was false - I think it's because LLMs have the ability to navigate some of the _essential_ complexity of problems.

      I don't think anyone has really wrestled with the implications of that yet - we've started talking about "deskilling" and "congnitive debt" but mostly in the context of "programmers are going to forget how to structure code - how to use the syntax of their languages, etc et etc)." I'm not worried about that as it's the same sort of thing we've seen for decades - compilers, higher-order languages, better abstracts, etc etc etc.

      The fact that LLMs are able to wrestle with essential complexity means that using them is going to push us further and further from the actual problems we're trying to solve. Right now, it's the wrestling with problems that helps us understand what those problems are. As our organizations adopt LLMs that are able to take on _those_ problems - that is, customer problems, not problems of data, scaling, and so forth - will we hit a brick wall where we lose that understanding? Where we keep shipping stuff but it gets further and further from what our customers need? How do we avoid that?

    • nonameiguess 1 hour ago
      This seems like somewhat of a mischaracterization. He contrasted improvements in software with improvements in hardware, saying we'd never have something like a Moore's law for software where performance doubled or cost halved equally rapidly. Churning out software faster doesn't mean it's any better.

      We also seem to fall into these ruts of not understanding what is meant by labor productivity. When an economist is presenting the common outputs / inputs measure, they don't mean raw quantity of output. They're talking about the value added by outputs divided by the value of inputs. Churning out software faster that doesn't earn anybody additional revenue is not making us more productive. It's disheartening that even c-suites with business education don't seem to understand this. That's not to say there is no productivity gain. Plenty of AI-adjacent hyperscalers are seeing ridiculous growth right now, but no non-startup is seeing revenue 10x what it was the year before, not even NVIDIA.

      A lot of this is just basic diminishing marginal utility. There is only so much value to be added. Software is usually either a semi-automated controller or human decision making augmenter to some kind of physical manufacturing process, or entertainment, when we talk about ultimately delivering value. Everything else is an intermediate input. We can only be so entertained. For physical goods, we have food, space, clothing seemingly at a sufficient level to satisfy just about everyone, with the reasons for value not being maximized having to do with distribution. Unless your software manages to solve borders, bigotry, cultural incompatibility, poverty, mental illess, physical illness, violence, I'm not sure what the other big rocks are. Software can absolutely be a key part of infrastructure to facilitate distribution. That's exactly what the Internet is, along with all the backend business and logistics systems out there in existence. But without hitting the true big rocks, where is the 10x value supposed to come from? We're talking incremental gains simply because we're not in the dark ages any more and incremental gains are all that's there. Short of Star Trek style replicators and transporters, I'm not sure what could realistically multiply global value by 10.

      Without the value, then sure, you may be churning out 10 times as many discrete projects used by at least one person, or 10 times as many lines of code, but that was never the point. Your personalized notes and grocery ordering apps you share with your wife might excite you for a few weeks, but I can assure you they aren't going to revolutionize your life.

    • teddyh 10 hours ago
      For your sake I hope that your pay is determined by your “output”, and not your long-term usefulness.
    • skydhash 10 hours ago
      > that has led to a 10X increase in the speed of software development.

      > AI is the silver bullet - my output is genuinely 10X what it was before claude code existed.

      Those are not the same.

      You can add 5 different features to a project and still provide less value that the 5 lines diff that resolves a performance bottleneck.

      • jrumbut 9 hours ago
        I agree with this sentiment but I think LLMs are really close to the Brooks idea of a silver bullet.

        I don't know if, overall, it's a 10x improvement or 6x or 14x but it's a serious contender. Part of it is the LLMs are very uneven in their performance across domains. If all I build is simple landing pages, it might be a 100x improvement. If I work on more complex, proprietary work where there aren't great examples in the training data then it might be a 10% improvement (it helps me write better comments or something)

        • BlackFly 8 hours ago
          All available evidence points to it being an incremental improvement at best. Higher claims are attributable to the psychological effect of the AI sycophancy problem which erases the Dunning-Kruger effect and makes even experts extremely overconfident.

          You still have to read the output of your LLM. Learning by reading alone and not doing is not nearly as effective.

      • winrid 9 hours ago
        "claude, connect to a k8s pod in prod and grab a 30s cpu profile, analyze and create a performance test locally for the top outlier, verify your fix and create a PR"
    • deadbabe 10 hours ago
      Just because code has been put out does not mean the software is “developed”.
    • slopinthebag 10 hours ago
      10x would only be possible if your output was low before Claude Code
      • hatsix 10 hours ago
        I've found that I can have 10x output, so long as I don't expect anyone to review your code...
        • slopinthebag 10 hours ago
          I can get 100x output, if we're counting lines of code!
    • jdw64 10 hours ago
      [flagged]
      • altcognito 10 hours ago
        Horses weren't replaced overnight.

        Also, I know that there will be a lot of boilerplate applications that just don't look good or seem to have been well thought out early on.

        Folks will use that as a cope mechanism, but huge changes are coming.

    • raincole 10 hours ago
      The premise of "no silver bullet" is wrong (LLM just made it clear, but it has always been wrong).

      The premise is that the software development had been mostly "essential complexity" rather than "accidental complexity." But I think anyone who worked as SE in the past decade would have found the opposite is true.

      It's not only that software development is full of accidental complexity. Programmers (and the decision makers above them) have always been actively creating accidental complexity. Making a GUI program hasn't gotten easier since Visual Basic. In fact for each JavaScript framework and technique that wraps around DOM render engine, it has got harder over years. Until LLMs made it easier again (by creating a permanent dependency on LLMs. If you intend to edit the code manually afterwards, it became even harder!)

  • cleifer 37 minutes ago
    Loved Brooks’ and feel like I must’ve internalized his model because that’s all I care about anymore in dev. Coherence among the components (people or software) to produce something good. I think of if 100 pianos are tuned to the same tuning fork then they all play well together.

    AI accelerated iteration and undisciplined use seem to me the main risk lately. Drift from any prompting, accumulation of features, plausible looking patches that are actually slop. Wrote about this recently [0], it creates a dynamic where you aren’t just making the software less coherent, you’re paying more and more to make it so. Curious to hear others experience of this.

    [0] https://charlesleifer.com/blog/tokens-and-dreams/

  • sutro 10 hours ago
    "The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination." -FB
    • oleggromov 3 hours ago
      When I was young, in my teens, I already knew a bit about programming but of course nothing about the industry.

      These beautiful metaphors by Brooks, from books like inmates running the asylum, etc - they made me romanticize the industry I had no idea about.

      Now, about 20 years later, I wonder to which extent they influenced me to take the path I've taken. Because when I began, it wasn't lucrative or cool in the slightest.

  • manoDev 10 hours ago
    It’s easy to see the conceptual integrity in good software, architecture, design and movies — or the lack of this quality in the bad ones.

    Vibe coded software is the Marvel green screen movie equivalent.

  • jh00ker 10 hours ago
    As a software engineering manager, I always look to staff up a project at the beginning as much as possible, looking for doing as much in parallel up-front as we can. If some things take longer than expected, then I already have a team of engineers with all the context since the project kicked off that can help each other with any longer running tasks. An engineer that has completed a smaller chunk of work can help out with the items on the critical path, for example.
    • datadrivenangel 10 hours ago
      Fred brooks would not necessarily endorse this.
      • jh00ker 9 hours ago
        Please, say more!

        >I always look to staff up a project at the beginning as much as possible, looking for doing as much in parallel up-front as we can.

        Ah, maybe this is what you think he would take issue with? Fair enough. Perhaps I should have said:

        >I always look to staff up as much as is economically and organizationally optimal, to exploit all genuine parallelism opportunities, being careful not to overstaff.

        • pzoln 9 hours ago
          You mileage may vary but in my (unfortunate) experience, stuffing up by any other reason than grassroots "we need more hands" raised by engineers themselves typically backfires. Teams that are constrained by people resources often find creative ways to work smarter. Teams that have an abundance of labor, often end up working unnecessarily harder, duplicating work, reinventing the wheel, not solving the right problems, etc. See also intensive vs extensive development.
  • oytis 2 hours ago
    What is that? Does he let openclaw post for him? Wikipedia article on the same topic is more informative
  • alexpotato 2 hours ago
    Anytime I read an article about increasing software delivery times, I think of this quote:

    “Through more vigorous computer programing and more sophisticated scheduling, it was possible to reduce the changeover period from two weeks to two days.”

    - Lee Iacocca (in his autobiography)

  • Nifty3929 9 hours ago
    I love this book, and I often recommend it to new folks on my team. I used to carry a few extra paperback copies to give away, just in case.
  • DeadEye2111 3 hours ago
    The funny thing is that adding agents to an AI-first project has similar issues (today). Agents stepping on each others toes, needing to manage state, communicate with each other, and divide up work that is planned ahead centrally. Agents accelerate, but don't reinvent the fundamentals of building products.
  • jeffreygoesto 7 hours ago
    "Simple made Easy" is a nice add-on, the first half is the philosophical part and a classic. https://m.youtube.com/watch?v=SxdOUGdseq4
  • ForOldHack 6 hours ago
    "The most influential." is relative, I read it when it came out, and I had been programming for more than 20 years, there were 2 professors on the facility who were there... and confirmed much of it. 10 years later, while dipping back into academia again, it was a recommend read, so I read it again. 20 years later, the same thing happened... it influenced multiple generations of programmers and managers world wide. I am willing to read it again, and yes, it really is that influential.
  • fukinstupid 9 hours ago
    [flagged]
  • jdw64 10 hours ago
    [flagged]
    • massysett 9 hours ago
      Nine women can already have babies in parallel. That is, nine women cannot have a baby in one month, but nine women can have nine babies in nine months.
      • fragmede 8 hours ago
        14,000 women will produce a baby in a month, because that is how many, in average, it would take for one of them to be 8 months pregnant. Of course, if you need one tomorrow, you can go over to the maternity ward and steal someone's that was just delivered.
      • XorNot 8 hours ago
        Moreover if you need 1 baby a month you can absolutely stagger your initial startup period to reliably produce 1 baby a month.
    • janalsncm 10 hours ago
      It would probably be more practical to make old age less expensive than to inject more people into the bottom of the demographic pyramid. Those young people eventually get old too. I am looking forward to my sentient robot caretaker:

      “Open the refrigerator door, HAL”

      “I can’t do that right now”

      • jdw64 10 hours ago
        If he had saved enough money to subscribe to the Pro tier, HAL might have opened it.
    • slopinthebag 10 hours ago
      Once we ditch our centrally controlled economies perhaps life can be affordable enough to not prevent willing parents from having children.
      • Nifty3929 9 hours ago
        Oddly from your comment I can't quite tell which end of the political spectrum you're on. I think I agree with you, but I'm not sure until I know which team you're on.
        • slopinthebag 9 hours ago
          I bet depending on the questions you ask me I could be on either side :)
      • philwelch 9 hours ago
        Life has never been more affordable than it is now. Virtually all of your ancestors were impoverished to a degree you can't even imagine.
        • slopinthebag 8 hours ago
          Life was becoming increasingly more affordable, but that stopped being the case years ago. It is now declining. I would like it to either stay the same as it was years ago or start increasing again.
      • jdw64 10 hours ago
        I think Brooks would call that an optimistic schedule estimate.
  • wewewedxfgdf 10 hours ago
    Look, I read it and loved it 25 hyears ago.

    Fred Brooks wrote that book when they were programming IBM operating systems in assembly language.

    Times have really, really changed - do not pay attention to the messages of this book unless for historical fun.

    • yellowapple 10 hours ago
      The lessons in that book have broadly held true for nearly every single one of my employers throughout the entirety of my career.
    • HarHarVeryFunny 1 hour ago
      So men and months have suddenly become fungible ?

      You should tell these AI companies and we could have AGI tomorrow if only they would throw a few thousand more men on the project.

      Or perhaps today's men are coding agents? You can spin up as many agents as you care to, so asymptotically any project should be completable in zero time, regardless of complexity.

    • freetime2 10 hours ago
      Indeed a lot of things have changed. A worthwhile exercise is to read the book, contemplate how things have changed, and try to map lessons from the book onto modern technology and organizational practices. A LOT of the core principles are still relevant IMO, even if many of the implementation details are not.
    • janalsncm 10 hours ago
      Your comment and the OP both mention some things that are outdated about the book. What are those things?
    • gaigalas 10 hours ago
      Our field is full of vague, terrible opinions and useless advice. Arrogant people that think they're better than others.

      That book isn't, it's built from humility and a rare bright light in this god forsaken field.

      • zephen 10 hours ago
        The book is good. As you say, the author, Fred Brooks, is not at all arrogant.

        Martin Fowler, the author of the blog, may be a bit different than that.

    • CreepGin 10 hours ago
      IMHO, Brooks's Law applies more today than ever.
      • linsomniac 10 hours ago
        I was half expecting Fowler to tie it in to right-sizing agent teams.
  • jwr 5 hours ago
    I re-read that book every 10 years and try to think carefully about whether what Brooks wrote still holds.

    The last three times I read the book, everything held.

    This time, I'm not so sure: AI does change things significantly. Perhaps not for all teams and not all scales of software, but in my case (solo developer, complex software system) I did measure a 12x productivity increase [1].

    Also, some of the problems Brooks describes became much easier, if not borderline trivial with AI. For example, maintaining design documentation that stays consistent with the software being built. I do this and it is no longer a problem.

    I still think most of what Brooks wrote is applicable today. I think the biggest difference is that AI enables smaller teams to work on larger systems, and the biggest benefit is for single-person teams (ahem) like me. I see it as another step that allows me to tackle larger systems: the previous one was Clojure which reduced incidental complexity so significantly that I was able to develop the system to the size it is today. AI is the next step: it allows me to build features that would have taken me years in a span of months. Not because of "vibe coding", but primarily because I can work on a set of design documents and turn my ideas into a coherent design.

    [1] For the nitpickers: yes, measured, not guessed. Yes, the metric was reasonable. No, it wasn't "lines of code" or something equally silly, in fact one of my main goals is reducing code size as much as possible. Yes, I compared larger time periods: 2 months with AI to an average of 12 months of the previous year. No, the metric wasn't gamed: this is a solo business and I have no interest in gaming my own metrics. I earn a living from this work, so this is as objective as it gets.

    • aerhardt 4 hours ago
      Dario Amodei said in the most recent interview with Dwarkesh that Anthropic currently gets achieves an increase of around 20-30% coding productivity, which tracks with my experience. What do you do to reap orders of magnitude more?

      Also, how much more money do you make? Or are you working less?

      • dnnddidiej 4 hours ago
        I think if you build out simple sites it is 10x. That number tends to 1x as the project gets more complex.

        Side projects where you try an idea are you not finding 1h now to do what was 10h work?

    • e12e 2 hours ago
      Sounds like a blog post on your experience would be very interesting.

      Like a sibling comment - I'm also curious about what that 12x means for you and your business - same revenue at fewer hours? More revenue, fewer hours? Etc.

    • cheschire 2 hours ago
      Maybe I’m misunderstanding but that sounds like a 6x improvement not 12x.
    • jdlshore 4 hours ago
      What did you measure? It’s a famously difficult problem, so I’m genuinely curious.