SATURN 2020 has ended
Back To Schedule
Wednesday, May 13 • 3:45pm - 4:30pm
Philosophies and Practices for Global Agile Software Development

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Conway's Law, “Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations," suggests that in order to develop a product globally while maintaining a coherent software architecture, the development model itself must be cohesive. As an agile development project grows and is distributed over different places and timezones, however, communication overhead tends to increase (Metcalfe’s law). If its communication systems are not carefully designed, friction and miscommunication can cripple it to the point of being less effective than a single team working alone. Well-synchronized distributed development can derive benefits such as working hour continuity, diverse skill sets, and varied perspectives. On the other hand, with significantly differing timezones, architectural decisions often need to be made without being able to include all stakeholders or even core developers, and often without including those most experienced with a particular subsystem or component. In a global agile development model, centralization of an architect role is not effective and so that role must be distributed as well. This poses challenges in how to make significant architectural decisions, how to consistently communicate the tradeoffs considered for those decisions, and how to ensure that a common vision is maintained-especially when there are language barriers.

In this talk, we will begin with the perspective we have developed on how to address the issues identified above. We will use our working global development model at IBM Watson, spanning seven sites throughout both hemispheres, to both illustrate this perspective and identify a specific set of practices we adopted for distributed architectural modeling and decision making that can serve as a minimum for product development and architecture design to stay on-track and cohesive. We will further discuss mechanisms for establishing and maintaining shared understanding of the project’s goals and execution, managing expectations to eliminate friction during asynchronous collaboration, and preventing communication overhead from being so expensive as to prevent the benefits of global development. In particular, we feel that the philosophy underlying our approach to the latter is essential to our model; we will introduce our format for declarative, decentralized, and effective communication and decision making, along with a history of how it and its philosophy were arrived at. After this talk, you will be equipped to form effective, collaborative development models over teams distributed globally, over any number of timezones, using a cohesive communication systems design philosophy.


Hiroaki Kikuchi

Hiroaki Kikuchi is a software designer, architect, and developer in the cognitive information retrieval tech domain. He has been working on inventing and productizing cutting-edge insight retrieval technologies on unstructured data, leveraging emerging technologies and modern open... Read More →
avatar for Anastas Stoyanovsky

Anastas Stoyanovsky

IBM Watson
Anastas Stoyanovsky is a senior software engineer and engineer lead at the IBM Watson Pittsburgh lab. He holds an MSc in pure mathematics from Purdue University and a BSc in mathematics, computer science, and neuroscience from the University of Pittsburgh.

Wednesday May 13, 2020 3:45pm - 4:30pm EDT
Salon 9/10 Rosen Plaza Hotel

Attendees (2)