Every project has a budget. Whether it is a grand country house or a humble pop-top, the cost of the construction will always be stressed. It should be.
In the design process, there are loads of options that are considered and balanced. But there is nothing quite so focused as the discipline brought to a project by an initial cost meeting with a contractor's exhaustive bid that is over budget. But there is also usually no way for an architect to truly gauge the deep-seated priorities of a client until each of those priorities have a price tag. A beautiful greenhouse is fantastic, but is it $50K fantastic?
It is extremely rare; rainbow-spotted unicorn-rare, that a client's budget exceeds their expectations.
There are a number of ways of establishing a budget and the realistic expectations to which it is linked:
An architect can do a cost estimate and design within that estimate. Architect's are notoriously bad at this if they do it at all. We want to please, we want to think we can fit 20 gallons in a ten-gallon hat. The architect's budget can be based on a basic cost/square foot or can be more sophisticated breaking down the building into constituent parts and assigning differing costs to each. The architect should do this before they sketch the first line or soon thereafter. And at every phase of the project, the architect should update that cost estimate as more specificity is brought to bear on the project.
A builder can do a cost estimate. Homeowners can bring a builder on at the start of a project and the builder and architect can work hand-in-hand to simultaneously design the project and verify costs. Many builders like this idea because they don't have to take the risk of competitively bidding a project. However, most contractors are not very good at putting increasingly specific numbers to the rather vague initial sketches of an architect. Very often builders say they need a complete set of drawings to work up an accurate price. If that is the case then we might as well bid the project. A contractor brought on during design should have enough experience and data from past projects to be able to make fair assumptions of cost. Like the architect's estimate, the builder's budget will get increasing specific and hopefully more accurate as the design progresses. No excuses for saying "we didn't have enough information" or "the architect added a bunch of stuff that wasn't in the early sketches".
An owner can do a cost estimate. The quality of this estimate will vary greatly depending on the sources of info as well as the sophistication of the person assembling it. Most dubious are the cost/sf numbers listed on the internet for new construction. That information was free and probably not reflective of the region or date or style or ... The owners budget is more like a vague idea of how important something on a project is to them. Not absolutely everything in the dreams of the owner and architect will end up in the project. The owner needs to know what is important to them and why and be able to communicate that to the team.
The best answer is: all of the above. The relationship between owner, architect and builder is best carried forth if everyone does their part to keep a discipline on the budget. For an architect that means not adding in expensive details or assemblies without discussing them with all parties and knowing what everything on the job costs in relative terms. For a builder that is not selling a client on an all-too-rosy scenario of an unrealistic budget to get a project only to have the reality of costs slam down at a later date. For an owner, clearly communicating their desires as to materials and details early in the process is the best way to insure that costly change orders don't uncomfortably arrive during construction.
The building of a custom house is an exciting and thrilling prospect. But there are too many stories of cost overruns and bottomless monetary pits. Every project has a budget and every budget will be stressed. If everyone does their part honestly and with diligence, that stress won't break the project. "Affordable" is relative, different on every project, but we all ought to know it when we see it.