Problem is that you can budget time/cost of endeavors that were already done.
If you are doing R&D that is not something you can budget because definition of research is you don't really know what you are searching for - well you have to have some reasonable idea of course but if $20k becomes suddenly $50k that should not be a surprise for R&D.
People might say "but the CRUD app you are building is not real R&D" if you are really building a CRUD app that is like an existing one - setup Wordpress, SAP, Shopify or pick from dozens of existing ones and be done with it. All else is R&D because there is more unknowns than known stuff, there are always integrations with 3rd parties, some workflows that need implementations etc. .
Even building a piece of road - well all tech is there - can end up running over time/budget if for example you find terrain under is not as one expected and it sinks or something and you have to figure out how best to deal with that and there is no expert to deal with that specific type of ground you ran into.
If you are doing R&D that is not something you can budget because definition of research is you don't really know what you are searching for - well you have to have some reasonable idea of course but if $20k becomes suddenly $50k that should not be a surprise for R&D.
People might say "but the CRUD app you are building is not real R&D" if you are really building a CRUD app that is like an existing one - setup Wordpress, SAP, Shopify or pick from dozens of existing ones and be done with it. All else is R&D because there is more unknowns than known stuff, there are always integrations with 3rd parties, some workflows that need implementations etc. .
Even building a piece of road - well all tech is there - can end up running over time/budget if for example you find terrain under is not as one expected and it sinks or something and you have to figure out how best to deal with that and there is no expert to deal with that specific type of ground you ran into.