The process of programming has changed vastly over the years. However far too many consider programming as little more than that ancient arcane art simplified with high level languages. To too many, a large program is something that takes more than a week to write. In this context, the job of programming is the work of a single individual. Of course, we have moved on and some actually know that large programs are the work of many individuals but that earlier view still pervades much of the industry.
Much current software is built on an ad hoc basis.
Everyone thinks that they should be doing the same job. It is rather as if we built houses by getting together a dozen or a hundred workman, giving them a plot of land and building materials and telling them to get on with it. Ancient cathedrals may have been built something like that, but we would not accept that today. One thing that worries me about software development is that there seems to be a strong assumption that, even when jobs are handed out to different people, you start by cutting code, and if you are any good at it you will move on to something else. You would not expect a building architect to be any good at brick laying, nor that a site manager would necessarily be able to wire a house.