Things We Tend to Overlook Going from Architecture to Release
Summary
Iliev mentioned that during architecture and planning people get so focused on the actual functionality, that all the surrounding pieces get blurred and slip away, similarly to getting tunnel vision while driving on a highway. InfoQ: What made you decide to explore the things that people tend to forget or ignore when developing a new software product or service? People often tend to go to extremities either by adding unnecessary levels of isolation or making the new parts so coupled with the existing codebase that separating or replacing them at a later stage results in major system refactoring. Another one is maintaining the compatibility of your system when you have to support multiple client versions, for example when you work with mobile apps and you lack control over when the end users update their devices. And tribal knowledge is fragile - people take vacations or change jobs, companies hire new employees, and suddenly everyone realises that having a single source of truth easily accessible by everyone is not just a convenience, but a necessity.