I'm a software developer who suffers from the regular hotfixes that are required to an application I've developed.
The application I've developed didn't had many infrastructure requirements from the start but over time those requirements became more and more. This is only one part of the problem because when such an new requirement comes it is expected for me to make a hotfix outside of other planed work. Because the project managers already promised a working application.
I want to reduce the amount of hotfixes I have to make, as this would let me concentrate on the task I'm currently working on and the project managers won't have to apologize when the product isn't working from the start.
Most of those infrastructure requirements have to do with authentication and authorization (active directory, support cross domain, impersonation, etc.).
I think neither the product owner nor the project managers nor I know enough about the technical specifics to build a requirement catalog from the start.
The product is developed with Scrum as the project management ideology. (I'm also part of other Scrum Teams.)
How can a small business without this knowledge prevent such hotfixes?
I know that not promising a working solution and having reserved time for tests and corrections would solve this. But is there another way this could be prevented? Or should I try to have a talk to the project managers and try to change their way?