Software development in an enterprise can be characterised as co-ordinating a small army of generally not well skilled developers in churning out a mass of ill-specified code through a poorly managed process. I’m not jaded; it’s the truth!
Writing software is difficult but it can be done well. Unfortunately, in my experience, it’s quite rare that it’s done well. There are many reasons for this and there are whole books on the topic so I won’t dive into any kind of analysis here. I believe much of it is due to poor process, lack of skills and inadequate sponsorship by the business. A common statistic batted around the industry is that 80% of projects fail to meet their success criteria.