10 Articles About the People Side of Software Development
In their seminal book Peopleware, Tom DeMarco and Tim Lister wrote “The major problems of our work are not so much technological as sociological in nature.” Computer science curriculum are full of courses about how to code sorting algorithms or how to write a compiler, but most of us never had any training on the people aspect of our software development which involve communication and negotiation.
This is a selection of articles that will interest those who want to improve their knowledge about the people side of software development. They discuss building trust, hiring people, giving feedback, improving communication, team building and dysfunction management. Topics that should be important for software developer and managers that consider themselves “Agile” and should therefore prefer “Individuals and interactions over processes and tools”.
Building Trust in Scrum
Teams that do not discuss personal matters openly pay the price of missing considerable opportunities for improving an already good team performance. In order to help teams solve this, or maybe to open that door, I include in retrospectives a special section to address personal issues. Always after the exercises, all teams remark on the need to achieve three key things: first, trust; second, trust; and last . . . trust.
Immersive Interviewing – Building Great Agile Software Teams
Building great agile software development teams is challenging using traditional hiring methods. Candidates might be able to answer your questions and prove C++ skills, but what you really want are people who are competent and capable, who will work well with others and fit with your Scrum team. Immersive interviewing is the best way I know to hire for agile software development teams, or for any other position in your organization. And like all good agile practices, it begins and ends with the team.
Follow up with FEELING
As coaches, our job is to give people new attention maps and positive feedback, whatever has happened since they had their initial insight. One way we can do this is to use the FEELING model.
The Softer Side of the Architect
Most of us would agree that having strong technology skills is a key ingredient to being a competent architect. However, the most successful architects that I have met possess more than just great technical skills. They also have qualities that enable them to work well with people. Developing and refining these “soft skills” can take ordinary architects to new levels of effectiveness in their careers. This article outlines a framework I developed for defining these soft skills and strategies for the architect based on my experiences and interactions with architects I admire.
Heroes: Carrying a Double-Edged Sword
Heroes play an important role in getting their organizations through difficult situations, getting products out the door, and keeping customers happy. However, reliance on heroes can create problems just as big as the ones the heroes help resolve. Organizations must recognize the double-edged sword that heroes bring with them. There are ways an organization can leverage the good qualities that heroes bring and minimize the negative ones.
“Flirting” With Your Customers
This article shows how flirting skills can be used to improve interactions in the workplace.
The Core Protocols, an Experience Report – Part 1 & 2
The Core Protocols are our ‘best practices’ for people, teams of people and organizations that want to get great results – all the time.
Are You a Whole Team?
This article proposes four “smells” that might indicate that you’re not optimally practicing whole-team approach in your Scrum software development project
Team Dysfunctions and Scrum
Scrum doesn’t cause team dysfunctions, but it certainly exposes the ones you already have. This article explores common problems through example and analysis. Then, it suggests ways to overcome these obstacles so that your Scrum team functions at optimal levels.