Принципы инженерного проектирования
Хорошая инженерия, как и любая другая команда в организации, должна способствовать достижению целей организации. В данном случае, в частности, целью в первую очередь является создание продукта без ошибок, надежного и достаточно масштабируемого. В зависимости от стадии развития компании, она должна иметь достаточно быструю первоначальную разработку и допускать быстрые итерации.
Это требует от инженерной группы поиска различных компромиссов между конфликтующими приоритетами, например, качеством и надежностью кода в сравнении со скоростью разработки. Технические долги неизбежны. Таким образом, хороший инжиниринг заключается в минимизации безнадежных технических долгов и получении хороших технических долгов.
На слайдах представлены некоторые из моих выводов и практических правил, которые я использовал при создании программного обеспечения:
- Техдолги (более подробная статья ).
- Инженерные принципы (и как их использовать). Часто команды склонны переусердствовать с такими принципами, как универсальность, простота и возможность повторного использования.
- Фреймворки и инструменты
- Масштабируемость и оптимизация. Нужно ли на любом этапе создавать масштабируемое решение? А когда оптимизировать? Подробнее здесь .
- Показатели инженерной команды. Как и в любой бизнес-функции, существуют проверенные и установленные показатели производительности команды инженеров.