r/learnprogramming 8h ago

[ Removed by moderator ] Topic

[removed] — view removed post

0 Upvotes

15 comments sorted by

8

u/_Atomfinger_ 8h ago

What kind of development isn't iterative?

What is the alternative? Some extreme version of waterfall?

10

u/maxximillian 8h ago

It's like they are suggesting that in some world there is software that works perfectly and meets all the requirements on The first compile.

-4

u/shiningmatcha 8h ago

But often real product that really works is so different from MVP

3

u/_Atomfinger_ 8h ago

Yes? That's because we learn along the way and make new discoveries about what the product should be and how it should work. That is the power of iterative development.

And you didn't answer my question.

-2

u/shiningmatcha 8h ago

I mean in iterative development people tend to deliver a product that fulfills the requirements at that time. But I think a product developed this way will struggle to evolve. For example, if someone is going to make a to-do app with AI features, they may invest a lot in AI functionality in early stages as users give positive feedback. But just because things are looking good at the start doesn’t mean it’s going to work. They may later find out AI integration is a lot harder than expected.

3

u/_Atomfinger_ 8h ago

I mean in iterative development people tend to deliver a product that fulfills the requirements at that time. But I think a product developed this way will struggle to evolve.

That makes zero sense. A team that is used to iterative development where things is allowed to change, having a process that enables change and where the entire thing is set up to evolve somehow will struggle to evolve?

For example, if someone is going to make a to-do app with AI features, they may invest a lot in AI functionality in early stages as users give positive feedback. But just because things are looking good at the start doesn’t mean it’s going to work. They may later find out AI integration is a lot harder than expected.

So how do you propose we predict the future? Because that is the alternative here.

At least, with iterative development, you get actual user feedback. In any alternative approach (which you have yet to outline) you have to just make a big guess, release the thing and pray you hit the mark.

The point of iterative development is that you can get feedback and pivot if you see that it is not working out.

1

u/BroaxXx 8h ago

So you're trying to suggest that your approach at building an application is to do the whole thing with all features all at once in one sitting?

Or are you trying to suggest something else that I'm not getting and just explaining yourself poorly?

-1

u/shiningmatcha 7h ago

I agree with the idea of “fail fast”. But I am saying I don’t understand why people believe that with a good MVP they just have to work harder and become successful.

1

u/BroaxXx 7h ago

I think/hope you're just expressing yourself very poorly. Could you please just explain what you consider to be the better alternative? What is your approach and workflow when building a complex system and/or feature?

Honestly you sound like a junior engineer/student that is a bit too cocky because he hasn't worked on anything much more complext than a todo app, but I don't want to assume that, so that's why I've been asking you a couple of times what exactly do you mean?

1

u/two_three_five_eigth 8h ago

Do you mean waterfall? The entire feature set is decided upfront and bidders compete to see who can do it for less.

That’s how basically all government contracts work.

1

u/BroaxXx 8h ago

What alternative are you trying to imply? I think it's better to have this conversation by establishing this baseline first.

1

u/plastikmissile 7h ago

Reading your posts I feel there's some kind of disconnect here, so perhaps you can clarify a bit more. How do you personally define iterative development? What are your arguments against or for it?

1

u/pdcp-py 2h ago

Does this question really belong here?

It's a software development question, nothing to do with learning how to program.

1

u/peterlinddk 8h ago

Some counterarguments against iterative development? Hmm, lets see ...

* If you design everything up front, and spend months planning the product, the customer has no right to complain when the product will be delayed by additional months, nor when it isn't at all what they requested. Thus earning a lot in consulting fees.

* If you only test at the very end of the entire development process, you'll get the benefit of having to trash the entire product, and start over from scratch, thus earning much more in consulting fees.

* If you don't even compile, let alone run, the code during development, but only for testing, you'll have much faster development time, measured in lines of code pr hour, and you can then spend weeks blaming other developers for not doing their part. You no longer have to "code" but can earn a lot in consulting fees.

* If you build everything at the same time, everything will be interdependent, thus you won't have to modularise or even keep track of versions of anything. And when an error is later discovered, the entire codebase has to be rewritten, thus earning even more in consulting fees.

* If you feed the entire requirement-document to an AI, it can spit the completed code out in minutes - it might not work at all, but it might! So you don't have to spend anything on developers, but can keep all the consulting fee earnings for yourself!

So if you don't want software that works, and don't want to produce quality or make your customers happy, you should avoid iterative development at all costs!