Jason didn't dig deep enough on this one. Why is the buyer not the user? Because enterprise operations are too big and complex for any one person to do the job. Likewise, there is no one person that understands how the processes work or even why they all exist.
You hear it at every presentation and see it on every careers page. If we empower our employees so much, why do we make it so difficult for them to do their jobs? Thanks to start-ups, new technologies, and industry disruptions, large companies now see the value in an Agile mindset, creating MVPs that provide value to clients. They have worked to create cross-functional teams of super engineers, product managers and user experience experts to help quickly deliver features that provide value to customers and are a joy to use. However many large corporations have internal-facing software teams as well as external facing. Typically internal teams are creating software for HR, accounting, tech support and so on. Internal software development teams are typically smaller, for example: one project manager and four engineers.
I like to make a coherent summary of my views on the Design Patterns and eXtreme Programing stuff. In my previous articles and other posts posted here recently, their contents are summarized and expanded as follows:. They lack sufficient discrete math background, lack mastery of their tools languages, protocols etc. This is in contrast with other engineering disciplines.
No one makes bad software on purpose. No benevolent programmer has ever sat down, planning out weeks of work, with the intention of frustrating people enough to make them cry. Bad software, or bad anything, happens because making things is hard, making good things doubly so.