←back to thread

1017 points QuinnyPig | 7 comments | | HN request time: 0.894s | source | bottom
1. manbash ◴[] No.44566625[source]
> 2. Technical design based on requirements > Kiro then generates a design document by analyzing your codebase and approved spec requirements. It creates data flow diagrams, TypeScript interfaces, database schemas, and API endpoints—like the Review interfaces for our review system. This eliminates the lengthy back-and-forth on requirements clarity that typically slows development.

This is nice for documentation but really having a design document after-the-fact doesn't really help much. Designing is a decision-making process before the code is written.

replies(4): >>44566645 #>>44566655 #>>44566676 #>>44567106 #
2. p1necone ◴[] No.44566645[source]
The Eisenhower quote comes to mind: "Plans are worthless, but planning is everything."
replies(2): >>44566662 #>>44566671 #
3. cgio ◴[] No.44566655[source]
I read it as after requirements and before code. This is how I would expect it to work too. It reads the existing codebase, which also makes sense for non greenfield projects as in the example.
4. Twirrim ◴[] No.44566662[source]
If you don't start with approximately the right destination, you're definitely never going to end up there, even if you have to take some detours and compromise on some choices.

It gets really frustrating reviewing people's designs at times, when it's crystal clear they're a) working backwards and b) haven't really considered the customer experience at all.

One of my favourite tell tale signs of a) is when the chosen option 100% fits the specifications, doubly so if there's no cons associated with the pros. Sometimes it's genuine, but very rarely.

5. ◴[] No.44566671[source]
6. the_arun ◴[] No.44566676[source]
I slightly disagree. Plans are really useful for enhancements. If we stick to original plans & patterns as we extend & add new features, we can slow down the decay process.
7. danbeaulieu ◴[] No.44567106[source]
Kiro takes the requirements and the existing code to create a spec.

Otherwise the spec may cover requirements that are already met in the existing code and needs to understand integration points it needs to include in the spec.

Having used Kiro myself I think it does what you expect.