2024 Public Training Schedule
December 9 – 12, 2024 – Agile Analysis and Design Patterns
Half-Day Sessions
(c) 2024 To Be Agile
Practice four from my book, Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of your software, is Collaborate.
You may wonder why a technical book on agile software development practices would include a practice called Collaborate but it turns out that even though we often don’t get formal training in school on collaboration, we developers spend a great deal of time collaborating with other team members in order to build enterprise software. And just like any other technical practice collaboration requires skills.
Our industry desperately needs collaboration. We have to find ways of working together and sharing knowledge to a much greater degree because our industry is growing so rapidly. We need more opportunities for internships and apprenticeships within organizations. We need relevant education and training from schools that teach us valuable development practices instead of 20 year-old techniques that aren’t or shouldn’t be used in industry any longer.
Enterprise software construction is a social activity and unlike the stereotype of the computer programmer nerd who is entirely antisocial, we software developers pride ourselves on our abilities to communicate and collaborate.
The importance of collaboration in working together is another thing that Extreme Programming got right. We must be able to learn from each other and share knowledge. This is a fundamental tenet of agile software development because we need to be able to share knowledge if we’re going to grow as an industry and a discipline.
Think about what life would be like if doctors guarded their secrets for successful surgeries and didn’t share it with their colleagues. The medical community has an entire infrastructure designed to disseminate good ideas. Even accountants have efficient and effective mechanisms to get the latest tax codes for their clients.
It should be no surprise that the field of software development requires constant learning. We’re constantly discovering new and better ways to construct software. This most certainly attracts a certain kind of person to the field. Most everyone that I know who is a professional software developer learned their most important skills on the job. We need more ways to learn from each other and so Extreme Programming embraces techniques and practices like pair programming, spiking, swarming, and mobbing.
I started my chapter on Practice Four: Collaborate, in my book by saying, “The most valuable resource we have is each other.” I really believe that this is true and that we can figure out so much more together than we can on our own.
The following seven posts come from the section Seven Strategies for Pair Programming in my book Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software. While these posts are focused on pair programming, many of the concepts apply equally as well to mobbing, swarming, and other collaborative activities. Enjoy!
Note: This blog post is based on a section in my book, Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software called Seven Strategies for Seven Strategies for Agile Infrastructure.
Previous Post: « Fix Broken Builds Immediately
Next Post: Try It, You’ll Like It »