To add to this " the people who give me requirements" vary greatly. In most circumstances it is the Architect of the project i.e. your boss so it is unlikely you would tell them that you are inflexible. In other circumstances it is the customer that changes
the goalposts, and they usually have the hump that they are paying you all this money, and if you cannot make changes then their product will fail. It is a delicate balance of them always being right and ingratiating them, whilst spitting blood privately.
A lot of the time, the software you write ends up being quite different from what was originally conceived because other (mostly better) ways present themselves. The bigger picture is that the changes requested are usually for the best, and show incorrect
judgement at the projects inception. If you accept that architects/lead developers have no crystal ball either then you make the changes that are required, but it is really painful to discard something you have been working on at a whim, or change it significantly
because the scope for introducing bugs increases due to the fact that you have to start thinking completely differently and usually things are running late and you end up doing what I am doing now, working at the weekend.
Yep Vesuvius, achieving and maintaining a consistent requirements understanding (internally and externally) is quite the high wire act
You MUST be flexible because the real world simply isn’t cast in concrete. However, as someone once quipped in a design meeting, “you can’t become so flexible that you can’t stand”