Collaboration and "moving fast" aren't terms that many people associate with the software architecture role, yet they're both essential. Why? Because collaborating on the software design process provides a basis for coming up with a better solution and it paves the way for collective code ownership. And moving fast requires "just enough" up front design to avoid costly rework, which sits conveniently in that vague area between big design up front and foolishly hoping for the best. Costly rework can be caused by a number of things, ranging from not mitigating the key technical risks through to the team not understanding the high-level structure and therefore being able to work towards the same vision. This, as with agile in general, requires good communication skills and not being able to effectively communicate your software architecture will slow you down at best.
Most people don't get to practice the software design process all that often and fewer get to hone their communication skills. Join us if you want to practice collaborative software design and learn about how to communicate it through a collection of simple, effective architecture sketches.
Simon Brown | 04 March 2013 | DevWeek 2013 | London, England