Выпусти сейчас, если сможешь
Ваш вопрос о том, когда вы начнете выпускать код, - отличный. Я думаю, что применяются две оговорки. Во-первых, что у вас «достаточно хорошее качество», а во-вторых, что вы соответствуете требованиям для MVP (минимально жизнеспособный продукт).
Рим (и Agile) не были построены за один день
Может быть, вы готовы с гибкой командой под ключ, чтобы вступить во владение в первый день. Для большинства организаций есть работа и затраты на обучение, переоснащение и обычный цикл формирования, штурма, нормирования, построения команды. Будьте честны относительно рисков и затрат, будьте осторожны, чтобы установить реалистичные ожидания, и будьте в курсе и готовы отстаивать ваш подход.
Быть загрузчиком
Как и сила слияния, повторное использование кода есть и всегда будет будущим решением наших экономических проблем. У меня такое ощущение, что разработчики часто говорят, что верят в повторное использование, но только в тот тип повторного использования, который начинается после создания новой инфраструктуры, а не в тот тип, в котором они основываются на том, что уже сделал кто-то другой. Как это может работать, пока кто-то не захочет строить на чужом фундаменте? В лучшем случае это означает переписывать каждые несколько лет, когда меняется командное руководство.
Зачем выпускать раньше и часто?
Выпуск рано и часто является мантрой по многим причинам. Это дает жизнь нашим дискуссиям о том, каким должен быть продукт, оно делает реальным то, где мы находимся, и дает нам основу для итеративных / инкрементальных изменений. Темпы выпусков в значительной степени являются неизменными для гибких, с той разницей, кто получает релизы (суррогаты клиентов или конечные пользователи). До гибкого обслуживания, по оценкам, 60% стоимости программных систем. Это источник большого беспокойства для менеджеров и других, кто считает, что выпуск продукта - это то, где программное обеспечение умирает. Для них все после релиза переделывается и платит за исправление продукта, за который они заплатили уже один раз.
Предварительный релиз неестественный
Кент Бек пишет, что предварительная версия - это неестественное состояние для программных продуктов. Это, безусловно, неудобное время, потому что это время, когда у вас нет клиентов, и вы платите за продукт, а не за продукт, платящий за вас.
Не критикуйте предыдущую команду
Хотя это может настроить разработчиков, которые возьмут на себя переписывание, как героев и спасение проекта, я думаю, что стоит критиковать достижения предыдущей команды.
- Во-первых, если вы позволите людям составить собственное мнение о предыдущей команде, у вас будет больше времени и энергии для вашей настоящей миссии.
- Будет неудобно работать с членами предыдущей команды, как с разработчиками, так и с заинтересованными сторонами, такими как менеджеры по продуктам, руководители проектов или клиенты.
- Если вы можете заставить его работать, вы можете получить (или, что еще хуже, взять) кредит за то, что сделала предыдущая команда.
- В среднем предыдущая команда была, вероятно, средней. В среднем вы можете быть в среднем. У вас больше работы, чем в предыдущей команде, потому что у вас есть новая методология, которую нужно внедрить в дополнение к проекту.
- Если старая команда была ужасной, если вы тоже не ужасны, вы в конечном итоге получите кредит за то, что были лучше, чем ужасны. Если они были лучше, чем ужасны, а вы не заметно лучше, то сказать, что они были ужасны, может вызвать неприятные сравнения.
- Если старая команда была лучше, чем вы думали, и у вас возникли проблемы, потому что организация сломана или проблема плохо определена или очень сложна, дела пойдут лучше, если вы значительно не повысили ожидания.
- Если они ожидают, что они получают, но вы делаете лучше, это победа для вас.
- Воздерживаться от критики - это как хорошие манеры, так и показывать, что у вас есть класс.