|Coaching is more than presentations.|
One of my favorite pieces of journalism is Bloomberg’s weighty essay entitled “What is Code?” It talks about the person in the taupe blazer and the frustrations of software developers. It also does a great job talking about the headaches the executives who manage software developer face. The essay captures perfectly how smart people struggle daily to get dumb machines to act intelligently.
The world of software has tremendous power, but that power belongs in a small subset of the world population. I calculated that less than .05% of the global population of 7.4 billion could maintain software and computer networks. Many of these individuals work in the quiet recesses of government and business keeping things running. They go home to families and friends. They pay bills and try to live their lives as best they can.
Because of the laws of supply and demand, computer professionals receive large compensation, but the compensation comes with a trade-off. The trade-off is long hours on uncompensated overtime and business leaders expecting them to perform magic. It creates conditions which lead to poor quality and burn out. I have experienced this situation as a developer and as a manager. As a customer, I have stumbled on numerous situations where fatigue, complexity, and unrealistic expectations have combined into a poor product. The history of the internet contains plenty of companies which had a few pixels and an unhealthy dose of hype.
Technology professionals have lived in that world since the early 1990s, and you can excuse them for being suspicious of new approaches to doing things. For every Amazon.com there are hundreds of companies like Pets.com. So bringing ideas like Test Driven Development, S.O.L.I.D. programming and Agile is going to face resistance. As a scrum master or coach, I recommend you begin slowly introducing concepts letting people test out an idea to get comfortable with them. It also helps if you understand and recognize the pressures the team faces. Are they distracted by requests which are urgent but not important? Do you have a healthy cadre of product owners or is the role being performed by a manager? Finally, are they working with a brittle technology stack? Answering those questions will determine how fast you can go during your agile transformation.
Software development is not rocket science. It is a challenging field prone to error and burn-out. Only by paying attention to individual challenges each software development team faces can they be coached into an agile way of doing things.