Software releases
When creating software, we don't want to start with an idea for the finished project and then get to work on everything that this application needs to do and, several years later, finally publish the finished software. The reason we don't want to do this is that during development time, several things will happen; for example, the requirements for this application might change, new laws can make us need to do things differently, and competing software solutions might be released, to name a few.
Instead, we want to implement some core features, release them to our users, and then immediately begin the development of the next release, which will contain some more features. This can be illustrated as follows:
We start with a vision or an idea. Then, we take some fundamental parts of this idea and implement them in what is called an iteration. During this...