I have spent the last few days hiding from cable news. The death of the Queen of England and the mourning and celebration it generates is overwhelming. I have spent my time reading David Forster Wallace's essays and working on white papers focusing on creating cross-functional teams. It has been a welcome respite. As I was writing, I stumbled upon some online forums discussing the role of developers in an agile team, and I felt that I needed to make an important point.
I have commented on the attitude of a minority of people in the project management profession that the only role of a development team is to write code. It is an incorrect assertion. A development team not only includes people who write software code but quality professionals, data specialists, user interface professionals, and business analysts. Each team member has a say in delivering value to a customer. The combination of these diverse skills makes an agile team so powerful.
Leaders with command and control mindsets think that developers are interchangeable. A developer understands a computer language and can take business requirements and translate them into that language. What these leaders do not understand is that developers are people. Developers have children and spouses. Like all human beings, they are struggling with emotional and existential challenges. Software developers deal with deadline pressure and problem-solving differently than others because each is unique. A software developer is not some nameless worker bee working for the company hive; they are flesh and blood struggling to get along in the world just like everyone else.
Along with Marx's observation that work alienates people from themselves, I believe the dehumanization of people keeping the global economy spinning is the biggest challenge of our time. People should take pride in what they do, and saying a software developer is just a coder dismisses all the intelligence and effort they put into mastering their craft. Influential bureaucratic organizations often make the work process impersonal and anonymous, whether in government or business.
A competent software developer requires creativity, attention to detail, intelligence, and the ability to deal with oppressive levels of frustration and doubt. The middle ground of healthy self-esteem is elusive when you are on deadline with a gnarly problem to solve. Some days you feel like the dumbest person on the planet, and other days you want to revel in your intelligence. It is emotionally taxing, and treating these people like mindless drones is insulting.
Treating people like people instead of nameless cogs in a global machine is the key to success in a global economy. I have come up the technology ranks as a hobbyist, student, entry-level developer, and finally, a scrum master. This experience in the trench of software development makes me a better leader and agile coach.
Until next time.
No comments:
Post a Comment