▲ | tmvphil 4 days ago | |||||||||||||||||||||||||||||||
Sorry, I'm going to be critical: "We follow a strict 5-phase discipline" - So we're doing waterfall again? Does this seem appealing to anyone? The problem is you always get the requirements and spec wrong, and then AI slavishly delivers something that meets spec but doesn't meet the need. What happens when you get to the end of your process and you are unhappy with the result? Do you throw it out and rewrite the requirements and start from scratch? Do you try to edit the requirements spec and implementation in a coordinated way? Do you throw out the spec and just vibe code? Do you just accept the bad output and try to build a new fix with a new set of requirements on top of it? (Also the llm authored readme is hard to read for me. Everything is a bullet point or emoji and it is not structured in a way that makes it clear what it is. I didn't even know what a PRD meant until halfway through) | ||||||||||||||||||||||||||||||||
▲ | ebiester 4 days ago | parent | next [-] | |||||||||||||||||||||||||||||||
> So we're doing waterfall again? I think the big difference between this and waterfall is that waterfall talked about the execution phase before the testing phase, and we have moved past defining the entire system as a completed project before breaking ground. Nothing in defining a feature in documentation up front stops continuous learning and adaptation. However, LLMs and code breaks the "Working software over comprehensive documentation" component of agile. It breaks because documentation now matters in a way it didn't when working with small teams. However, it also breaks because writing comprehensive documentation is now cheaper in time than it was three years ago. The big problem now is maintaining that documentation. Nobody is doing a good job of that yet - at least that I've seen. (Note: I think I have an idea here if there are others interested in tackling this problem.) | ||||||||||||||||||||||||||||||||
▲ | Terretta 4 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
> So we're doing waterfall again? The waterfall we know was always a mistake. The downhill only flow we know and (don't) love was from someone at DOD who only glanced at the second diagram (Figure 2) in the original 1970 Royce paper and said "This makes sense, we'll do it!" and... we're doing waterfall. So, go to the paper that started it all, but was arguing against it: - https://www.praxisframework.org/files/royce1970.pdf I encourage you to look at the final diagram in the paper and see some still controversial yet familiar good ideas:
Crucially, these arrows go backwards.See also the "Spiral Model" that attempts to illustrate this a different way: https://en.wikipedia.org/wiki/Spiral_model#/media/File:Spira... Amazing that waterfall arguably spread from this paper, where it's actually an example of "what not to do." Here's what Royce actually says about the waterfall diagram: The implementation described above is risky and invites failure. … The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. These phenomena are not precisely analyzable. … Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required. … The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. … One can expect up to a 100-percent overrun in schedule and/or costs. This is 55 years ago. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
▲ | jcmontx 4 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Waterfall is what works for most consulting businesses. Clients like the buzz of agile but they won't budge on scope, budget or timeframe. You end up being forced to do waterfall. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
▲ | aroussi 4 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||
OP here. I wouldn't necessarily call it a waterfall, but it's definitely systemized. The main idea was to remove the vibe from vibe coding and use the AI as a tool rather than as the developer itself. By starting off with knowing exactly what we want to develop on a high(ish) level (= PRD), we can then create an implementation plan (epic) and break it down into action items (tasks/issues). One of the benefits of using AI is that these processes, which I personally never followed in the pre-AI era, are now easy and frictionless to implement. | ||||||||||||||||||||||||||||||||
|