I wrote the Leadership, Management and Development: Theory and Leadership, Management and Development: Personal Experience articles years ago based primarily on my experience as a contractor. Everything that is stated in these articles definitely works and definitely is important to IT project's success.
However, there is one more side to this: based on my experience, IT professionals, who have hands-on software application development experience and expertise, make better project managers than do subject matter experts, or IT professionals, who do not have hands-on software application development experience and expertise.
The main reason for this is, that a good software development project manager must evaluate circumstances simultaneously from the users needs perspective, and from software development perspective.
For example, a business executive may say, that he needs an application that handles steps (1), (2) and (3). Everything else can be handled using spreadsheets. The business executive makes this determination, because based on his experience, he has been able to handle the relevant tasks on spreadsheets.
However, the business executive most likely does not analyze the entire relevant workflows both from the users needs perspective and from the technical implementation perspective, determining what steps could be cost-effectively built into the new application. Technical business analysis is not something that most business executives do, or most subject matter experts do.
Developers follow the orders, and the outcome is mediocre application that performs only a subset of the needed tasks.
Similarly, project managers who are subject matter experts, but are not IT professionals, often fail to hire sufficiently capable software developers. They do not know what qualities to look for in the software developers.
The software applications that are built by such teams naturally tend to cost more (because more problem fixing instances and time are needed), have lower usability and user satisfaction, and have higher probability of failure.
Similarly, a business executive may think that having thorough requirements written upfront will help to avoid creating problems. In reality, using the corresponding Waterfall predictive method tends to increase development cost more than it produces value, and tends to lead lower quality outcomes, because better quality ideas that emerge during the development processes cannot be implemented.
Further, business executives who are IT project managers may order developers to use solutions that violate relational database development principles. If mediocre developers-contractors were hired, they just do what's ordered, finish the project and move on to the next one, with the next customer. The application users will have to live with the consequences. Usually, the resulting application is more difficult to query and to develop further, and requires higher maintenance costs.
Another relevant aspect is that subject matter related expertise which is needed for software application development purposes can be learned through business analysis tasks. However, subject matter experts cannot learn in a short period of time what's needed from all the areas that contribute to successful software application development. When relational database application development projects are concerned, these areas are: project management, project related software development expertise, business analysis and business requirements documenting, application architecture and navigation structure development, programming, user interface design and usability engineering, table structure and other objects development, quality control and user training.
All of these areas must come together in a mutually supportive manner. In combination with the necessary management support and funding, that's how well-functioning relational database applications are built.