Управление проектами - статьи

         

Архитектура


Как бы ни было организовано в проекте владение кодом, в любом случае, вся разработка должна подчиняться некоторому более общему замыслу, подходу. Можно выделить как минимум три таких подхода:

  1. Монолитное приложение. Разработчики реализуют каждый свою часть функций системы, о взаимодействии как-то договариваются по ходу разработки. Может быть подходящим решением для локальной команды, но гораздо менее подходящим - для распределенной. Есть существенный риск недопонимания или разногласий между удаленными членами команды.
  2. Платформа разработки и проекты на базе платформы. Позволяет естественным образом разделить ответственность разработчиков, но отнюдь не способствует их сближению. Как раз наоборот, разработчики платформы более интересуются общими задачами, разработчики на платформе – более частными, и их точки зрения на одну и ту же функциональность могут существенно различаться. Кроме того, разработчики платформы становятся в некотором роде «привилегированной кастой», что может приводить к напряжению отношений между группами.
  3. Компонентный подход. Команды отвечают каждая за свой компонент, но совместно определяют интерфейсы взаимодействия компонентов. Если имеется несколько команд в разных частях света, компонентная архитектура будет наиболее точно соответствовать структуре проектной группы. Сложность только в том, что для реализации компонентной архитектуры нужно достаточно уверенное владение данным подходом к проектированию.



Содержание раздела