For those with critical thinking habits, let’s cogitate about this:
If day after day goes by with nobody discussing uncomfortable questions like these, won’t the good people of my country be guilty of making things worse?” —Donald E. Knuth
Could this type of questions be translated to the lesser sphere of software development and the quality of what we deliver to customers and end-users?
Let’s think, for example:
Could it be possible that the notion of division of labor in industrial settings just does not deliver the same benefits in software development?
I have seen and heard that many so-called ‘software architects’ lack the ability to write shippable software by themselves (with their own hands) and that they are taking key architectural decisions based on hypothesized ideas not actually corroborated with the results from execution of models. After taking architectural decisions this way follow the expenditure of vast amounts of human effort and financial resources to carry out a given project only to find out —most often than not— that most or all of that expenditure have been wasted. Serious postmortem analysis could revel that part of the root cause are those architectural decisions taken prematurely. Why should software consumers accept increasing levels of ineptitude in software development teams?
Could it be that software development industry has got wrong the practice of architecture?
Could it be that software development industry has got wrong the very essence and purpose of modeling (in reference to modeling as in engineering disciplines)?
Has the “taking the form but not the substance” behavior gone too far among us members of software development industry?
What kind of work could be expected from developers and their managers if their view of software development is based on the belief that the main task is a mechanical and repetitive task that can be industrialized with expendable and interchangeable human ‘resources’?
If day after day goes by with nobody discussing uncomfortable questions like these, won’t the good people of our software development industry be guilty of making things worse?