1 min readAug 13, 2018
This is a very good question . IMO, the first iteration should be as simple as possible. One should look at where the change requirements are coming from and adopt according to that.
If the new/change of requirement is causing us to modify our existing code (a lot), its violating the open to suggestion, close for extension
principle. In our new implementation, we can create a new offer without changing existing code.
Hope this helps!!