Producing top-quality software derive from excellent design. Excellent design depended on people who understand effective technology development as well as the field in which the application will be used.
In short, people, process, and technology are a necessary condition of success. The model, originating from the research of Harold Leavitt, focuses on how people do their work, and what they do their work with.
People (not only developers)
It goes without saying that utilizing people with expert skills within software development is essential when creating an application or a system. They are needed to get the appropriate degree of abstraction as well as efficient usability.
Equal important is people with expert knowledge within the specific area of the application. I.e., building an effective statistical system, requires people with specializing knowledge of software technology as well as people with competence in statistics.
Even though they are a key component, skillful people are not enough in themselves. Since the work is collaborative by nature, utilizing their skill sets requires an organized, methodical, and well-trained environment. Being more crucial, the more specialized the application.
Process (and organization)
Effective organization, in turn, requires highly skilled mangers.
It is self-evident that the software engineering specialists should be utilized for picking appropriate alternatives regarding methods and development tools. But they are also paramount in creating organizational practices. Practices that require management backing for implementation as well as enforcement.
Hence, there need to be collaboration between the professions and the process, as well as the outcome of the process (i.e. the software).
Technology (and how to use it)
For every software development organization, it is vital to systematically work to find ways of producing software of higher quality at a lower cost, within the organizations’ available resources. The use of technology can — when used correctly — accomplice that.
For example programs that support the building of software, software development tools, can help people to avoid mistakes, complete the work faster, and keep focus on the conceptual level.
Creating business benefits
Improving the knowledge of individuals involved in the development process. Furthering the organization of the process. Supporting the process with efficient technology. The model’s three components are evidently interdependent as well as essential in creating effective software.
The result: better systems at lower costs with more satisfied end-users certainly meets the textbook case for creating business benefits!
“Leavitt” original model included people, tasks, structure and technology. Later tasks and structure were consolidated into process. Making it a tree-part model, and in all fairness, not a diamond at all anymore.