Разработка программного обеспечения всегда была связана с решением проблем.
Но различия в том, КАК мы решаем проблемы, могут быть огромными!
Это усложняет один конкретный аспект, который наши друзья вне разработки любят добавлять в смесь: «Купить или построить».
Должны ли мы разработать решение собственными силами или приобрести уже готовое?
Понимание дебатов
Решение о покупке или сборке по сути простое: вы создаете решение самостоятельно (создаете) или используете существующее (покупаете)? Хотя вопрос может быть простым, ответ часто бывает сложным и зависит от множества факторов, к некоторым из которых мы, инженеры, не так чувствительны.
Конкурентное преимущество: суть дела
Ключевой концепцией, которую следует уяснить в этом обсуждении, является идея конкурентного преимущества. По своей сути, конкурентное преимущество — это то, что компания может делать исключительно хорошо по сравнению со своими конкурентами с целью обеспечения большей ценности для клиентов или превосходства своих конкурентов.
Но почему разработчики должны заботиться о конкурентном преимуществе?
Каждая написанная строка кода требует времени и ресурсов сейчас и в будущем. Когда вы разрабатываете что-то, что не имеет решающего значения для вашего конкурентного преимущества, вы отвлекаете эти ресурсы от областей, где их можно было бы потратить с большей пользой для развития основного бизнеса.
Рассмотрим эти вопросы:
Если что-то является основным и необычным, скорее всего, это то, что вам следует создать. Все, что является общим и не выделяет ваш продукт или компанию, например аутентификация пользователей или платежные шлюзы, обычно лучше купить.
Факторы, которые следует учитывать: идем глубже
1. Время выхода на рынок
Покупка часто ускоряет выход на рынок. Когда вы покупаете решение, особенно хорошо зарекомендовавшее себя, вы, по сути, используете годы разработки, усовершенствования и тестирования, которые уже были проведены.