The top three are typically quality, budget and time. Usually a compromise is needed on one of these. You could replace quality with features in SW dev.
Scope is more of a dimension than quality. In theory it might be possible to accept lower quality in order to cut the budget or accelerate the time but in practice that doesn't seem to work. Any significant reduction in quality usually causes the project to grind to a halt after the prototype stage. You just can't build any new features when everything is broken.