| |
| ▲ | the_af 4 days ago | parent [-] | | What do you mean? I suppose it depends on the company. Maybe big, conservative companies? Startups don't operate on waterfall. Most jobs I've had didn't do the ol' all requirements upfront -> design -> implement dance. | | |
| ▲ | loginx 4 days ago | parent | next [-] | | I would also point out that a lot of organizations think scrum ceremonies and sprint satisfy the requirement for ticking the agile checkbox, but in reality, practice waterfall. | | |
| ▲ | the_af 4 days ago | parent [-] | | Hm, agreed that the ceremonies are there just to tick some checkbox, but why does it mean this is waterfall "in practice"? To me, most orgs don't practice any kind of sensible methodology at all. Waterfall implies a rigor they don't have. |
| |
| ▲ | cmrdporcupine 4 days ago | parent | prev | next [-] | | Most companies I've seen recently, including a lot of startups, are operating in a waterfall that they then window-dress every 2 weeks in the form of SCRUM-ish rituals and ceremonies as if it's agile because it has iterations and story points or whatever. Behind the scenes the PMs are making Gantt charts and deciding what's in and what's out and who is going to do it, without the team having any input or really getting to cost it out. XP and agile generally was supposed to about shortening the communication and iteration gap between customer and maker. I almost never really see that. | | |
| ▲ | the_af 4 days ago | parent [-] | | Oh, I wasn't arguing that any companies actually do Agile (lower or upper case). I meant in my experience, the methodology most companies I've worked in seems to follow is capital-C Chaotic. Requirements change at the whim of customers or leadership week to week, pivots are frequent and unpredictable, leadership gets fired/quits and the whole plan changes, lots of effort is wasted on stuff that then gets ignored, and customers are sold one thing but delivered another. I don't believe organizations or companies follow either Agile (any brand of it) or Waterfall. I don't think what they do can be called a methodology at all. | | |
| |
| ▲ | NikolaNovak 4 days ago | parent | prev | next [-] | | I would guess "big conservative companies" with waterfall are by far the overwhelming number of programmers, even if agile startups may (may) win be market valuation. Then there's the definition - like, is SAFE really agile plus so many other hybrid approaches that have veneer of agile as long as we get all requirements up front and have detailed plan. | | |
| ▲ | the_af 3 days ago | parent [-] | | Maybe! I stopped working for consulting companies early in my career, and that was the last time I saw anything resembling waterfall. After that I worked in product or service companies, and none did detailed requirements/planning prior to implementation, they mostly winged it (calling it "agile", but we know better). Maybe I'm biased. | | |
| ▲ | NikolaNovak 3 days ago | parent [-] | | Beyond consulting companies, there's also just so much back office / line of business software out there - procurement, human resources, payroll, enterprise performance management, etc. Most of it at high level is slow and onerous because it needs to be reliable and predictable. It cannot fail fast and stakeholders place premium on the feeling of certainty / forecasting. | | |
| ▲ | the_af 2 days ago | parent [-] | | I understand that, but didn't agile arise because that feeling of certainty/forecasting proved false? That is, experience showed that the end result ran over budget, underdelivered or simply wasn't needed anymore by the time it was done? It's not that Agile is chaotic because it's cool, it simply (allegedly) surfaces the chaos and uncertainty that was already there. And in my limited experience in consulting, I did build one of these heavily specified LOB software that got canceled near finishing, with all of us laid off and all the effort wasted. This was some CRUD system for an insurance company, by the way; "boring" software by definition. (To be clear: I'm not arguing Agile truly fixed this, just that what was before had serious enough problems to spark a paradigm change). | | |
| ▲ | NikolaNovak 2 days ago | parent [-] | | Oh, I agree, and we can probably sit for 3 hours over a drink (Orange Juice, preferably:) sharing sea stories of executives embracing illusion of predictability and its ultimate fallacy :). But that desire / delusion did not go away. I don't even need to go into politics to showcase that human kind, sadly, on average does not necessarily learn from past experiences and mistakes. |
|
|
|
| |
| ▲ | conception 3 days ago | parent | prev | next [-] | | If waterfall didn’t exist then there wouldn’t be release dates and software being pushed out before being done. Waterfall is there; it’s just at the top of the project. | | |
| ▲ | the_af 3 days ago | parent [-] | | Those are external factors that exist regardless of methodology. They do not make something "waterfall". |
| |
| ▲ | zdragnar 4 days ago | parent | prev | next [-] | | The ol all requirements up front -> design -> implement that people classically associate with waterfall came from an infographic on how not to do waterfall. Actual waterfall looks very much like actual agile, in that it is designed around iteration loops. The primary difference is that waterfall prescribed steps in the iteration process, and agile is just a set of principles in a manifesto. Edit: reference: https://beza1e1.tuxen.de/waterfall.html TLDR: the original impetus for waterfall is basically what we call agile today. Someone copy-pasted a random chart from a paper (one the paper specifically said was too problematic) into a DOD process spec, that turned into a standard because the DOD loves to standardize everything, and big companies all adopted the fundamentally flawed approach and called it waterfall. | | |
| ▲ | rramadass 4 days ago | parent | next [-] | | Most people know nothing about "Waterfall Model" which if you think about it, is just commonsense meta framework using which you can implement any SDLC methodology. Pair it with "Spiral Model" (https://en.wikipedia.org/wiki/Spiral_model) and you are golden. This excellent writeup by David Olson gives both the history and the correct understanding; The Myth of the 'Waterfall' SDLC - http://www.bawiki.com/wiki/Waterfall.html | | |
| ▲ | adastra22 2 days ago | parent [-] | | Reading this subthread is wild. I worked for NASA earlier in my career. We never used the term waterfall, but the process described by that term is epitomized by large government projects, and NASA engineering culture in particular. Most of what people are describing here would be unrecognizable to any government program office. |
| |
| ▲ | the_af 4 days ago | parent | prev | next [-] | | > Actual waterfall looks very much like actual agile, in that it is designed around iteration loops. The primary difference is that waterfall prescribed steps in the iteration process, and agile is just a set of principles in a manifesto. In that case, I don't believe companies follow either. I've never seen anything as principled (in any form) practiced anywhere. Companies claiming to do Agile were usually doing some rituals and cosplaying as agile. I don't believe I've ever seen a company doing "waterfall" or anything resembling what your link describes either. They mostly do chaos-driven development. | |
| ▲ | Jtsummers 4 days ago | parent | prev [-] | | > Actual waterfall looks very much like actual agile, in that it is designed around iteration loops. No, Waterfall was not agile, it was the diagram from Royce but not what he recommended from his paper (which tore down that diagram). What Royce added to that diagram (fundamentally, just common sense with feedback loops) was closer to agile, though. Royce himself never called anything Waterfall, but what was termed Waterfall was the bad process he tore apart. |
| |
| ▲ | MangoToupe 4 days ago | parent | prev [-] | | Apple famously uses waterfall. |
|
|
| |
| ▲ | adastra22 3 days ago | parent [-] | | Why? Waterfall is suboptimal mostly due to human failings. | | |
| ▲ | Jtsummers 3 days ago | parent | next [-] | | Waterfall is suboptimal because it's optimistic and lacks feedback loops. Waterfall as codified was not the improved process Royce described, but the flawed process early in his paper. It's optimistic because it carries an assumption that you can delineate your development into clear phases with a distinct start and finish. That doesn't work on large projects. You don't spend years designing your new system and then years building it and then years testing it. You commingle each of those, and once you do that, you're not doing Waterfall. You're doing something better, you're using your brain. Iterative & Incremental, Spiral development, or most ideas out of the Agile movement are better. They incorporate feedback into the project and don't have strongly delineated phases. They don't make 10 year project commitments before they've even written a single requirement. Because these are methods that are realistic. We didn't get to the moon by Waterfall. The Wright brothers didn't succeed in flight with Waterfall. Linux wasn't developed with Waterfall. Waterfall is a failure for large scale systems. | |
| ▲ | CuriouslyC 3 days ago | parent | prev [-] | | AI loves waterfall because every time you insert yourself in the agentic coding loop you reduce the velocity of the system, and if the system blocks on your input the reduction can be pretty epic. Beyond that, AI has myopia, and if you tell it to implement something without a larger framework it understands how to slot it into, it'll put it somewhere that makes no sense, duplicate code, make incompatible interfaces, etc. It's much more efficient to just have the system outlined clearly from the get-go, and this also helps because you can generate E2E tests for validation up front to ensure the features really are valid and working. | | |
| ▲ | adastra22 3 days ago | parent [-] | | That is half of it. The other half is that AI is tireless about planning. Most waterfall implementations fail from lack of planning, or when done right (think well managed government programs) are significantly delayed compared with agile because the planning process itself takes forever. AI will happily spend the human equivalent of months getting the planning details right before implementation. It won’t by default, to be sure, but if prompted right it will. So you can go into a waterfall implantation plan with significantly better and more thought out plans. | | |
| ▲ | CuriouslyC 3 days ago | parent [-] | | Yup, I actually force my agents to build a formally validated CUE spec for everything they build, I have a service that gives them a wizard for interacting with the cue to add/remove/update, then when everything we discuss is represented they can use it to sync a project, which will automatically generate missing unit/e2e tests, iac docs, folder stubs with README.md files, etc. It was a lot of work to get agents to interact with the service correctly, so many facepalm moments, but it's pretty magical when it works. | | |
| ▲ | mighmi 2 days ago | parent | next [-] | | > CUE spec Have you heard of Ada, whose type system does the same thing? | |
| ▲ | adastra22 3 days ago | parent | prev [-] | | Still waiting/hoping for you to share your stack! | | |
|
|
|
|
|