The Effective Software Team

image

I’ve spent the last five years immersed in trying to answer two questions: how to build scalable software systems and how to get teams to perform at a high level and build those great systems that exceed expectations.

Over those years, I’ve learned from varied sources: blogs, books, podcasts, colleagues, and my own experience. I will be cataloging my favorite ideas and resources for building, nurturing, facilitating, and leading effective software teams. High level topics will include:

  • Hiring
  • Training
  • Leading
  • Processes
  • Collaboration
  • Self-organization

I will post at least one article per week for the the next year (or more). I will address topics as they hit me. I’ll catalog and index them later.

Lunch with Uncle Bob

unclebob

Ever since I stumbled across the original C++ Report articles that have become known as the SOLID principles, I have been a disciple of Robert Martin (aka Uncle Bob). He is a leader within the agile and software craftsmanship movements. He has as good a sense of what makes good software as anyone currently writing and teaching. If he thinks it’s worth writing, then it’s worth reading.

I’m not usually a fan of video for learning. I like the random access referenceability of books and I like the on-the-go accessibility of audio recordings. I find video to be the worst of both worlds: I cannot flip to the a particular page or go at my own pace, nor can I consume it while driving or mowing the lawn. Further, there are so many good conference videos available for free that I find it difficult to justify paying for video content.

clean_codeHowever, when Uncle Bob began releasing the Clean Code video series, I thought I’d at least check them out. I found them to be so good, that I’m now having my development team watch them together over lunch hours. Uncle Bob does a great job teaching (and preaching) the techniques that lead to clean, maintainable software. As we watch the sessions together, we are creating a common baseline of understanding that we can all refer to as we work together.

I highly recommend them for any software development team that is looking to get better (and if your team is not working to get better, it is on it’s way to obsolescence).  If you have trouble justifying the cost ($12 per viewer per video) to management, have them take a look at this excellent explanation of the value of software craftsmanship and professionalism.