I recently got dramatically better with my patience/shouting issues. I have a 7yo.
For me it was about really analyzing my triggers.
I noticed that I shout the worst when there is a time pressure, e.g. trying to get somewhere at a certain time.
I had chats with myself about this and over time realized a lot of it is to do with seeming like a less than perfect, not completely holding it together mum. I really want to seem competent and calm and not a hair out of place. This is something I carry from childhood, through my own mums way of dealing with me.
So I decided to destroy that part of myself. I started to consciously relax about being late, concentrate on speaking softly and kindly under time pressure, make little jokes, stop to kiss and hug on way to car etc.
It was a great cure. I extended this to other lesser triggers- not doing homework? Loads of people dont and they are fine. He is 7 ffs. He doesn't have to be perfect. He probably needs to be sat with and helped. Another trigger is when my DC isnt "independent" enough- my mum required me to fend for myself from very early age, I was treated impatiently when I had needs of any kind. I find I shout at times when my mum will have shouted at me. Etc. Etc. Basically identifying and breaking the habits of shouting by replacing them with the opposite behavior