When we talk about software development a lot of the discussion revolves around programming languages, frameworks and the latest in technology.
While all the above and also the knowledge and skill of the developers certainly matter a great deal regarding the success of a software project the interaction between the involved individual is highly undervalued in my opion. Some weeks ago I watched a great talk connecting air plane crashes and interaction in a software development team. The golden quote for me was certainly this one:
Building software takes technical skill, but building the right software take human interaction and lots of it”Nickolas Means (“How to crash an airplane”, The Lead Developer UK 2016)
I could not word it better and it matches my personal experience. Many, if not most of the problems in software projects are about human communication, values, feelings and opinions and not technical.
In his talk Nickolas Means focuses on internal team communication and I completely agree with him. My focus as a team lead shifted a lot from technical to fostering diversity, opinions and communication within the team. I am less strict in enforcing certain rules and styles in a project. I think this leads to more freedom and better opportunities for experimentation and exploration of ways to approach a problem.
Extend it to your customer
As we work on projects in different domains with a variety of customers we are really working hard to understand our customers. Building up open, trustworthy and stable communications is key in forming a fruitful and productive collaborative partnership in a (software) project. It will help you to produce a great software that does meet the customers needs instead of just a great software. It may also help you in situation where you mess up or technical problems plague the project.
The aspect of human interaction in software projects has its place rightfully in the agile software development manifesto:
Through this work we have come to value:
Individuals and interactions over processes and toolsThe Authors of the Agile Manifesto
Almost 20 years later this is still undervalued and many software developers are still way too much on the technical side. We are striving to steadily improve our skills on the human interaction side and think it proves fruitful everytime we succeed.
I hope that more and more software developers will grasp the value of this shifted view point and that it will increase quality and value of the software solutions provided to all users.
Maybe it will make working in this field friendlier for not so tech-savvy people and allow for more of much needed diversity in tech.