It is important to understand that planning stages often involve making assumptions about your user base, i.e., community. The development phase tests those assumptions, and the results are used to improve the final product. Here’s one example of iterative development:
New features are exposed to the community for immediate feedback. The feedback is reviewed, and the features are refined to improve user experience. This co-creational style of development ensures that the final product becomes more aligned with the community’s desires, increasing chances of success.
Compared to a classic “waterfall” style of development where developers fulfill a list of technical requirements, an agile approach adjusts and finetunes the list based on user feedback.