Don’t try to create a budget that will apply to every month of the year. Make your budget specific to the current month.
When you approach it generally instead of specifically, it’s easy to get discouraged and give up after several months because it “doesn’t work.” You begin to try to make your life fit a certain mold to meet the budget, when your budget should be the one molding around your life.
That means in the beginning of every month you are going to be asking questions like “Whose birthday is this month? Are we buying any gifts?” or “How many times will we be filling up on gas?” Or even “Do I need shampoo this month?”
Further, my method involves a "mid-month check-up" where you look at where you are, see how you are doing, and change what needs to be changed. Maybe you have ended up hosting a lot and your grocery budget is up, but you haven't gone out as much as you planned so your restaurant budget is down. Change your projection to what you are actually going to spend. That way, you can see if anything needs to adjusted, and you have that opportunity before the month is over and it is too late.
Many times we have found mid-month that our needs are different than we originally projected. That may mean taking something that you budgeted for (say a hair cut, a clothing item, or something else that can wait) and holding off until the next month. Or maybe your spending is lower than anticipated, which means you can put a little more toward your debt repayment.
It's funny to me how in the modern world money can feel so hypothetical as most of our financial activity is virtual. In reality, there is a very real accounting that can be done down to the dollar (I won't say penny since most budgeting software rounds to the dollar), and if you pay attention, you will be confident that you are neither over spending, which brings feelings of fear, anxiety, and guilt, or under-spending, which can cost you in missed opportunity.