на изучение 2-3 альтернативных рамок / инструмента
Иногда это может произойти, если у вас есть особые требования, вам нужно сделать несколько POC, чтобы выбрать лучший инструмент для решения этого требования. Это то, для чего нужен спайк, потому что, не зная, какую основу вы будете использовать, вы, скорее всего, не сможете оценить историю, а хранилище без оценки не может быть спланировано и разделено на задачи.
затем при изучении рамок мы выбираем для проекта
Что ж. Это довольно опасно. Когда клиент платит вам за ПО, он ожидает, что вы профессионал, который уже знает, как использовать его инструменты. Клиент не платит вам за обучение или пробный подход. Разработчик обязан изучать новые инструменты в свое свободное время или в специально отведенное время, оплачиваемое его сотрудником, а не заказчиком. Тратить деньги клиента на обучение без информирования клиента непрофессионально.
Если вам действительно нужно использовать что-то особенное (например, какой-то клиентский API или инструмент, выбранный клиентом), которым вы никогда не пользовались раньше, вы должны сообщить клиенту, что цена будет увеличена со временем, необходимым для изучения того, как использовать API. Возможно, клиент передумает, если повышение цены будет слишком большим.
Конечно, я не имею в виду ситуацию, когда вы должны искать какую-то конкретную новую проблему в рамках, которые вы использовали много раз. Я имею в виду ситуацию, когда вы начинаете использовать новый API или фреймворк, не тратя значительное время (вне проекта) на обучение.
Если вы нарушите это, это все равно будет видно по вашей скорости, потому что вы будете приносить очень малую ценность для бизнеса за одну итерацию. Если клиент не знает причину, он, скорее всего, отменит проект.
Это все еще действует в случае внутренних проектов - вы должны сообщить своему менеджеру / бизнесу о времени, необходимом для изучения нового API или инструмента. Обычно это имеет очень плохие последствия, если менеджер рассчитывает на вашу обычную производительность, а ваша производительность - лишь малая часть из-за нового API, который вы пытаетесь освоить во время выполнения своих задач. Это, очевидно, еще хуже, если некоторые продавцы рассчитывают с нормальной производительностью, когда подписывают контракт с заказчиком.
по настройке серверов (SVN, Базы данных и т. д.)
Это ваша инфраструктура и внутренние затраты. Когда вы начинаете проект, ожидается, что вы подготовили свою инфраструктуру. Настройка среды разработки не имеет значения для клиента и не должна быть частью каких-либо индикаторов, связанных с проектом, например, скорости в Scrum. Я видел, что это реализовано как специальная итерация перед проектом, используемая только для настройки среды, создания базовой инфраструктуры и т. Д.