Agile Zone is brought to you in partnership with:

Simon lives in Jersey (Channel Islands) and works as an independent consultant, specialising in software architecture, technical leadership and the balance with agility. Simon regularly speaks at international software development conferences and provides consulting/training to software teams at organisations across Europe, ranging from small startups through to global blue chip companies. He is the founder of "Coding the Architecture" (a website about pragmatic, hands-on software architecture) and the author of "Software Architecture for Developers" (an e-book that is being published incrementally through Leanpub). He still likes to write code too, primarily in .NET and Java. Simon is a DZone MVB and is not an employee of DZone and has posted 32 posts at DZone. You can read more from them at their website. View Full User Profile

On-Boarding New Team Members

01.11.2013
| 1632 views |
  • submit to reddit

Effective software architecture sketches can help you move faster


Last year I wrote a blog entry called Presentation vs solution that talked about how not being able to communicate your software design in an effective and efficient way has the potential to slow you down. Diagrams are a great way to do this but I've observed, first hand from my training sessions, that communicating a software design through pictures is a skill that many people no longer have.

If you can communicate your software system in an effective and efficient way, you'll shortcut all of the conversation about what the pictures mean from a syntactic point of view and start to focus on the technical aspects of the solution. In other words, you'll start to have more meaningful conversations focussed on what's really important.

While the ability to share information and ideas through visual communication is obviously important throughout the entirety of the software development lifecycle, it's incredibly useful to do this when you're on-boarding somebody new onto your team. In Guiding newbie toward productivity, Nick talks about how he's recently worked with a new team member to get them productive. There are a couple of points of note here. First is the use of simple high-level software architecture diagrams to provide an overview of the software system before diving into the detail, and the second is the way in which Nick led the newbie through the process by letting him drive at his own pace.

My opinion is that the wax-on, wax-off – aka sit and watch me – is not a very good strategy for integrating new team members. I don’t think it provides a good level of business value either.

An interesting read, particularly since Nick's team already does a lot of pair programming, which is also a great way to get people up to speed. Nick's post is certainly one to come back to the next time you're on-boarding somebody new into your software development team.

Published at DZone with permission of Simon Brown, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)