(Note to self: Remember Mark Twain’s quote – If I had more time, I’d have written less…)
It seems apropos to use this headline to illustrate soft skills’ importance in software development (the 1992 Clinton presidential campaign coined the original “It’s the economy, stupid”).
What do you think? Do technology skills trump people skills in IT (this was the traditional engineering approach)? I believe that people skills are at least as important – if not more important – than the hard methodology or coding skills.
I believe that the lack of people skills are at the root of several issues in IT today, unless you work on projects for unknown customers, such as the story this week in the NY Times: Can Apple Find More Hits without its Tastemaker:
Shortly before the iPad tablet went on sale last year, Steven P. Jobs showed off Apple’s latest creation to a small group of journalists. One asked what consumer and market research Apple had done to guide the development of the new product.
None,” Mr. Jobs replied. “It isn’t the consumers’ job to know what they want.”
“IT would be easier without the people”
One of my first MIS projects as a programmer was memorable for two reasons:
- It was the first time I heard the phrase above; and
- My boss made a deal to get sponsor sign-off on requirements by promising that he (the sponsor) could change anything down the road that he didn’t understand.
It was a project from hell (change running rampant) and it was the first time I truly realized that we go into computer science and engineering because we are good at technical subjects, not communication. Back then, waterfall development was essentially done “over the fence” with the business throwing the requirements over to us, we doing the design and build, and then us throwing the finished software back to the business for testing. More often than not, our “perfect” software missed the mark in terms of functionality, and was typically late and over budget.
Certainly much has changed with the new approaches – can you imagine software development without regular end-user contact?
How much rework is people-based?
Does it surprise you to learn that software development is fraught with rework – in traditional settings it is close to 40%? This means – literally – that we do great work every Monday, Tuesday and Wednesday, and then get to redo it all every Thursday and Friday.
Thanks to Kanban, Agile, Lean, Scrum and other customer-focused methods, our industry is getting a lot better at reducing rework, and at identifying non-productive wait times/delays from customers and others. We are also better at knowing how to deliver incrementally to customer needs. Augmenting the new approaches are job roles specifically tasked with customer facing such as business analysts, project managers and user advocates or scope managers. Some might argue that these roles are inconsistent (or even counterproductive) with Lean or Agile approaches, but that is the topic of a future post.
Regardless of approach, however, engineers and computer scientists are no fundamentally different today than they were in the days when I attended college. We choose these professions because we love math, science and technology, have a reasonably high-IQ, and want to make a difference in the future of the world (at least that is my excuse!) People do not go into engineering or computer science for the people skills.
Sure, there is a growing recognition that both engineers and computer scientists must have good people skills when they enter the workforce, however, soft skills training is still secondary. Soft skills remain some of the most elusive and necessary skills in software and systems development.
(Side note: at an SEPG conference several years ago, research showed a high concentration of early onset autism/Asberger’s syndrome among Silicon Valley’s professionals. For SEPG, this was a very controversial session that led t interesting results: 1. developers who already felt socially inept wondered just how inept they might be; and 2. others took careful notes so that they could report people they didn’t get along with to HR with the suspicion that they might be autistic. Presenters were careful to say that this research was inconclusive and PRELIMINARY.)
In my experience software engineers score high marks in technical areas but fall short in communication skills because:
- they do not realize that they are poor communicators (their co-workers and friends understand them);
- they see themselves as superior in intelligence to non-IT’ers, which can lead to condescending behavior (“what do you mean that you don’t know what these acronyms mean?”
- they do not realize that both the sender and receiver are part of the communication loop (as in “I understand perfectly, it’s the business who has a problem”);
- they value technical proficiency over soft skills proficiency (if something is not complex and technical, where is the value?); and
- they have not taken soft skills training aside from a presentation skills course in college.
What did I miss on this list?
What are soft skills?
While I hate to quote Wikipedia, it has a good definition for soft skills (better than dictionary.com):
“Soft skills” is a sociological term relating to a person’s “EQ” (Emotional Intelligence Quotient), the cluster of personality traits, social graces, communication, language, personal habits, friendliness, and optimism that characterize relationships with other people. Soft skills complement hard skills (part of a person’s IQ), which are the occupational requirements of a job and many other activities.
Soft Skills are behavioral competencies. Also known as Interpersonal Skills, or people skills, they include proficiencies such as communication skills, conflict resolution and negotiation, personal effectiveness, creative problem solving, strategic thinking, team building, influencing skills and selling skills, to name a few.
How many of these skills are explicitly taught as part of Scrum, Kanban, Lean or Agile training? (In fairness, they were never taught in waterfall or structured analysis classes.) I know that there is at least recognition of soft skills importance with newer customer-centric methods, and I believe there is still a gap.
Are you better at presenting and communicating with users doing Kanban or Scrum than you would be if you were involved in waterfall development?
As our industry has learned better ways of developing software-intensive systems, neither our business partners nor we are well skilled in soft skills. Accountants, marketing majors, doctors, actuaries, and human resources can also suffer from too much IQ and not enough EQ. So, who is responsible for making sure that business outcomes, funding levels, and trust are present in the IT/Business partnership? Both sides are definitely responsible for their own part to make things better.
On the development side, we need to recognize that prowess in terms of effective communication, knowledge transfer, people networking, facilitation, cultural awareness, etc. do not come by osmosis – we need soft skills practice and training. When we are experts at both the hard and soft skills, our entire industry will gain – and so will our business partners.
How are your soft skills? Here is a quick quiz: http://www.bettersoftskills.com/quiz/
Soft skills workshops?
It is easy to blame misunderstanding, lack of technical prowess, and poor communication on users, but IT has yet to recognize that IT’s not about the business; IT is all about the people.
Are you interested in attending a dedicated session on soft skills for technical professionals? Drop me an email for information on my upcoming one-day IT’s all about the People workshop.
Have a productive week!