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 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 ivory towers 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 sketches.
for the slides presented during this session.
Simon Brown and Marcin Floryan
01 July 2012 |
British Computer Society Software Practice Advancement conference 2012