• Определить сроки выполнения проекта сложно из-за внешних факторов и непредвиденных событий.
• Если вы разобьете проект на более мелкие части, например с использованием методологии agile, планировать работу станет проще.
• Хорошо регулируемая и структурированная система управления задачами (тикетами) поможет вам и вашей команде четко понимать состояние проекта.
• В растущей команде жизненно важно иметь сильного руководителя проектов, который будет управлять работой на всех этапах.
• Внедрение простых базовых стандартов разработки поможет сделать код более читабельным и таким образом упростить его поддержку, что особенно важно для растущего проекта.
• Система контроля версий – ваш верный союзник в борьбе с постоянными изменениями.
• Подходящая стратегия работы с бранчами позволит вам вести разработку параллельно без необходимости ждать или составлять сложные графики работ.
• Признание технического долга – первый шаг к тому, чтобы начать его уменьшать.
• Существуют разные способы тестирования, как ручного, так и автоматизированного. Это сложная и трудоемкая работа, но лучше иметь хотя бы какие-то тесты, чем вообще никаких.
• Выпуск релизов не обязательно должен быть сложным и рискованным; весь секрет здесь в планировании, отработке на практике и коммуникации.
• При использовании виртуализации и облачных сервисов вы можете значительно уменьшить риски при выпуске релизов, внедрив сине-зеленое развертывание.
• Поощряйте и приветствуйте обратную связь от клиентов и пользователей; однако это не должно приводить к превращению вашей кодовой базы в беспорядочный набор случайных функций.