As much as I like DeMarco, I have never agreed with his argument here.
The reason software costs so much is that most people DON'T KNOW WHAT THEY'RE DOING.
That's why, in our industry, things don't gradually get better. They become obsolete and get leapfrogged.