Engineering the Future of Software
November 13–14, 2016: Training
November 14–16, 2016: Tutorials & Conference
San Francisco, CA

Organization and architecture

3:50pm–4:40pm Tuesday, 11/15/2016
Business skills
Location: Tower Salon A Level: Non-technical
Average rating: ***..
(3.83, 6 ratings)

Prerequisite knowledge

  • Basic knowledge of software architecture and Agile software development

What you'll learn

  • Understand the engineering decisions that lead to poor designs and technical debt and the cultural and organizational factors that influence those decisions
  • Learn ways that you can tweak your organization to make implementing better architectures easier and faster

Description

Drawing on real-life examples from Avvo, Spotify, Adobe, and Microsoft, Kevin Goldsmith explores why you should consider changing your organization to improve your architecture and discusses the successes and failures he’s seen around the interplay of organizational models and software architectures.

Kevin often visits companies, where he hears about how they struggle to break up monolithic applications or move to a continuous deployment pipeline. Oftentimes, the organizational structure is clearly making their problems harder but is seen as something that can’t be changed. Kevin relates his own journey to a more experimental organizational style.

As a developer at Microsoft, Kevin worked in a rigid hierarchy organized around functional areas. The communication flows within the organization dictated the way it structured its libraries and dependencies. This is the essence of Conway’s law. In this case, the company hierarchy and the architecture it produced was often suboptimal for the problem Kevin and his team were solving, but it was the architectural path of least resistance.

When Kevin moved to Adobe and became a senior manager, he started to build his organization in the traditional way. Adobe wanted to create a more fluid and Agile architecture for its products, but the company struggled to realize these goals because it was it was too hard to work across teams and reporting lines. The company finally started to make some progress as the organization became more fluid and loosely coupled.

Kevin then went to Spotify, which had realized this problem early on and restructured its organization in a way that supported the architectural model that it wanted to build. As a vice president of engineering, Kevin was able to see firsthand how the organizational model simplified the architectural challenges that other companies struggled with while also introducing difficulties that other companies were easily able to overcome.

Today, Kevin is the CTO at Avvo. When he joined, the company had the same organization and architectural challenges as many other startups, but rather than attack them only from an architectural angle, Avvo is experimenting with architecture and organization together to improve its legacy systems and help build new ones faster and with higher quality.

Photo of Kevin Goldsmith

Kevin Goldsmith

Avvo

Kevin Goldsmith is the CTO at Avvo in Seattle. Previously, Kevin was the vice president of engineering, consumer at Spotify in Stockholm, Sweden, where he was responsible for feature development and all media handling and playback, a director of engineering at Adobe Systems, where he led the Adobe Revel product group and the Adobe Image Foundation group, and a member of the Windows Media, Windows CE CoreOS, and Microsoft Research teams at Microsoft. Kevin has also worked at such companies as Silicon Graphics, (Colossal) Pictures, Agnostic Media, and IBM. He holds a degree in applied mathematics and computer science from Carnegie Mellon University.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)