The success rate of IT projects, particularly in software development, is lower than in probably any other industry. It is certainly much lower than in the building construction industry. Is this because project managers in that industry are more competent than in IT?
Having completed a civil engineering degree many years ago and having worked as a contract software engineer for most of the time since, I felt I should investigate the difference between software development projects and building construction projects. From this I was hoping to find out why the building construction industry was so successful and if the failures we experience in IT could be avoided by learning from them.
My investigation is a little different to others however as I have delved fairly deeply into the evolution of architecture and engineering over the past 2,000 years and then into how building construction projects are presently organised, constituted and managed.
First, a little history. In the UK, the architecture and engineering professions evolved in the following manner:
- 1700s: Civil and military engineering began to form into two distinct disciplines.
- 1800s: Architecture and engineering began to form into two distinct disciplines.
- 1818: Institution of Civil Engineers (London) formed.
- 1828: The Institution of Civil Engineers received Royal Charter; engineering was recognised as a profession.
- 1834: Royal Institute of British Architects formed.
- 1837: Royal Institute of British Architects received Royal Charter; architecture was recognised as a profession.
The two disciplines split because there are two fundamentally different stages in building design, as articulated by Steve Jobs: “Design is not just what it looks like and feels like. Design is how it works.” In this case:
- Architecture: Determining what the requirements are, that is, what the customer wants in terms of both form and function, and creating the architectural design.
- Engineering: Determining how to build an item that meets those requirements, and creating the engineering design.
Each discipline therefore requires a very different set of skills in order to be able to answer the two fundamental questions of what and how. Architects work with the customers in order to determine the requirements so they must have excellent people skills; engineers work with the technologists in order to build the item, so they must have excellent technology skills.
The same sort of situation exists in the software development industry. The software architect needs to work closely with the client representatives, and the software engineer needs to work closely with the technologists. Only through a strong architectural/engineering partnership can these two critical groups be brought together in order for the client’s requirements to be successfully implemented in IT.
The difference between IT architects and engineers
There are many more engineers than architects. Outside IT, most architects work with engineers, however only a subset of civil engineers— architectural engineers who work in the building industry—work with architects.
Engineers do not generally work with architects in other industries such as the aeronautical, electrical, environmental, mining, transport or robotics sectors. This is because the requirements are predominantly technical and not based on a jumble of often conflicting thoughts, ideas and objectives held in the minds of a group of client representatives.
Why do so many in software development project managers call themselves architects? The term architecture comes to the software development industry from the terms ‘building architecture’ and ‘computer architecture’. Designing computer architecture is inarguably an engineering pursuit, however designing the architecture of buildings is certainly not. We therefore now have two conflicting uses of the term ‘architecture’ in software development so we have two groups of people calling themselves architects who do very different work.
- Those that do what building architects do, that is, determine the client’s requirements and the form and function of the object to be built.
- Those that design the structure of the software application.
This confusion needs to be sorted out, and this is best done by renaming the members of one of these groups of architects. Furthermore, as the latter group corresponds with structural engineers (i.e. specialist civil engineers), then software architects who design the structure of the software application should really be referred to as structural software engineers.
Architecture is designed by architects and is what you can see, feel and experience, whereas the structure is designed by engineers and is how the architecture is realised and supported.
IT professionals are a little blasé about their job titles in any case. Job titles in the building industry is controlled as it is essential that all members of the project, all stakeholders, and any others who might take some interest in the project know, for a particular issue, who they need to talk to, who has the ultimate responsibility for specific tasks, what those people are required to do, who reports to whom and what deliverables they are required to produce. There is currently no such rigour in IT projects.
There are some roles that are found in building construction projects but not in software development projects. Two critical roles missing in software development are the Clerk Of Works and Quantity Surveyor.
According to the Institute of Clerks of Works and Construction Inspectorate of Great Britain, Clerks of Works “liaise closely with the contractor’s staff. They must, however, maintain their independence, as they are responsible for working in the best interests of their employer or client”.
To ensure that the client is fully aware of the state of the project for the duration of the project, and that the project work is of a consistently high level, a Clerk of Works should be closely involved in the project at all times and report directly to the client. Furthermore, if the project is later subject to litigation, the client would then have a technical expert available to advise and assist them during the litigation process.
The Australian Institute of Quantity Surveyors defines a Quantity Surveyor as someone who “estimates and monitors construction costs, from the feasibility stage of a project through to the completion of the construction period”.
In order for project estimates to be more accurate, fully trained, experienced and reputable Quantity Surveyors should be engaged in the estimating process.
In conclusion therefore, it would appear that project managers in IT would need to be even more competent than those in other industries. As can be concluded from this investigation, IT Project Managers have the additional responsibility of ‘herding cats’ as the cats don’t really understand where they fit into the project team and what their specific roles are.