Ten 2013 Software Architecture Videos to Watch

Software architecture is a fundamental discipline in the software development world. Even if this activity was sometimes performed out of an ivory tower, good software architecture is a key element for the long term quality and good evolution of software systems. Software architecture documentation allows also helpt to communicate the vision of the system to the software development team.

Here are, in no particular order, ten presentations on software architecture from last year software development conferences that are available on videos and that can help you understand the current trends in software architecture:

What is Software Architecture?: This short video shows you how software architects focus on failure risks and build models that allow them to reason about their designs

Visualize your architecture and information: Do you want to communicate more effectively? Do you want create better maintainable software? If so, watch this presentation to get some hands on tips on techniques and tools.

Software Architecture All the Way Down: This session covers a broad range of topics that challenge traditional practices of software architecture, examining what it takes to bring down the ivory tower, probing the paradoxical aspects of architecture’s goal, investigating the inextricable link between temporal decisions and structural flexibility, and exploring the roles of SOA, modularity, and software design principles and patterns.

Just Enough Software Architecture: One of the major points of disagreement about software relates to how much up front design to do, with people being very polarized as to when they should do design and how much they should do. “Just enough” sits somewhere in the chasm between big design up front and what often ends up being “foolishly hoping for the best”. This session discusses “just enough” and present a minimal set of software architecture activities that can help drive software projects towards a successful conclusion.

Treating Legacy System in Practice: Frequently Software Engineers are asked to make changes to an existing code base. However, the structure of such code bases is often less than optimal. This talk explains some approaches to handle this issue: Concrete and practical approaches to deal with legacy systems, improve their quality and apply the needed changes. It is based on the experience with reviews and work in several large applications.

Towards a System-of-systems Architecture: This presentation questions the initial architecture decisions in building large systems and discusses how to approach design differently. Allow for diversity while maintaining integrity and avoid falling into the trap of making technology choices with too much rigor.

Large Scale Domain Driven Design: So you know all about ubiquitous language, the relationship between an aggregate and a repository, and what a domain event is. You’ve mastered DDD right? Not so fast! Many of DDD’s insights concern managing larger domain models and if you are just focusing on the tactical patterns you won’t know when and how to apply DDD style domain modeling. In this presentation we look at modules, bounded contexts (including context mapping), distillation of the core domain, and large scale models for a domain

Software Architecture Remake: Statoil has recently done a large and complex software architecture remake of a business critical application. The overall plan was to go from a situation with a codebase that was really hard, time consuming and riskful to make even small changes to and transform that into a situation with a codebase starting to get in control, and thereby making it smooth to make business driven improvements.

Aesthetics and the Beauty of an Architecture: This session talks about our experiences building an event-driven architecture for a price comparison website. We talk about how we applied the principles of CQRS and Event-Sourcing to create an event driven system that is, all at the same time: beautiful; dangerous; liberating and difficult and ultimately freed us from the oppression of a monolithic legacy application and database.