Идея пришла от заказчика. Суть в том, что кроме обязательных заливок в конце итерации, заказчик просит нас делать заливки после выполнения определенных карточек.
Выглядит примерно так:
Звездочкой отмечена карточка, сделав которую нам надо залить новую версию на сервер, чтобы ей могли пользоваться.
Теперь заказчик получает еще большую отдачу от разработки, а нам такие заливки ничего не стоят :-)
А сколько времени уходит на заливку версии?
ОтветитьУдалитьПосле выполнения карточки/итерации производится ли тестирование выполненой задачи/задач?
@Николай
ОтветитьУдалить"А сколько времени уходит на заливку версии?"
Заливка практически автоматизирована. Выпуск версии для заливки делается около минуты и написан на Nant. Выкладка этой версии на живой сервер требует внимания (поэтому заливка всегда производится вдвоем) и занимает около 5-10 минут.
"После выполнения карточки/итерации производится ли тестирование выполненной задачи/задач?"
Весь наш код изначально покрывается тестами (модульные тесты). Тестирование самой задачи (пользовательский интерфейс) происходит ручками перед заливкой.
>> а нам такие заливки ничего не стоят
ОтветитьУдалитьтолько закусывать не забывайте!
@Анонимный
ОтветитьУдалитьТипа от радости, что мы залили новую версию?
А на сколько велик проект, можно поинтересоваться?
ОтветитьУдалитьДа, это достаточно просто в реализации и заказчик счастлив. До тех пор, пока у него не свалится что-то в самый ответственный момент...
ОтветитьУдалитьЯ так понимаю, серьезного тестирования при помощи QA тима, тест кейсами и прочей ерундой у вас нет? Т.е. в основном идет тестирование только что реализованных фич, а по пути можем найти что-то, если сломалось в других местах. Или как-то по-другому?
Почему спрашиваю: пока проект в стадии разработки, да если он еще и небольшой - это работает. Когда проект становится больше, вероятность сломать уже существующий функционал увеличивается. Модульные тесты, конечно, очень помогают, но не всегда. А уж когда продукт выходит в production - там вообще все не так просто становится, пропущенный баг может быть слишком дорог, поэтому перед выкатыванием новой апдейтов должен проходить как минимум smoke testing приложения, а при серьезном изменении функционала - даже полное регрессионное тестирование.
Да, тестирование можно оптимизировать, особенно, если у вас нормальный набор модульных тестов, а также автоматизировать, написав кучу интеграционных, но сам процесс тестирования лучше ставить пораньше, иначе в будущем могут быть проблемы...
@Александр Кондуфоров
ОтветитьУдалитьСпасибо за дополнение.
Конечно задачи, которые могут сломать что-то мы заливать "просто так" не будем. К тому же код отлично покрыт тестами, причем как модульными, так и интеграционными.
На самом деле шанс сломать где-нибудь там повышается, но эта опасность контролируемая.
"А на сколько велик проект, можно поинтересоваться?"
ОтветитьУдалитьВ чем величину измерять? В годах, деньгах, строчках кода?
@Александр Кондуфоров
ОтветитьУдалитьНаравне с сортировкой карточек по уровню важности, выставление "звездочки" для заливки является бизнес-решением заказчика. В нашем случае проект от этого только выигрывает.
Я хочу чтобы эту идею взяли на вооружение, но ни в коем случае не использовали как руководство к обязательному исполнению =)
"В чем величину измерять? В годах, деньгах, строчках кода?"
ОтветитьУдалитьВ чем вам удобнее. Для меня более показательными будут года/строчки кода, чем деньги.
И еще, пожалуйста, если не затруднит. Сколько времени у вас длится полноценная итерация? Сколько программистов работает над проектом?
Спрашиваю не просто так. Есть мысль использовать что-то подобное в своем проекте, но пока это только мысль. Вот и интересует опыт успешного применения таких подходов в средних и больших проектах.
Строчек кода очень много, за год написали довольно много функциональности. Над проектом сейчас работает 4 программиста (надеюсь это не секретная информация, да простит меня директор ;)
ОтветитьУдалитьИтерация длится 2 недели. В проекте очень часто и довольно резко меняются требования и направления развития, поэтому 2 недели это оптимальный срок.
Помог?
Спасибо, это кое что.
ОтветитьУдалитьЯ правильно понимаю, что если итерация - 2 недели, то мини-итерация, заканчивающаяся после завершения очередной карточки, - это 2-3 дня?
"Спасибо, это кое что."
ОтветитьУдалитьНадеюсь, что вам пригодиться =)
"Я правильно понимаю, что если итерация - 2 недели, то мини-итерация, заканчивающаяся после завершения очередной карточки, - это 2-3 дня?"
Да, на самом деле это любой промежуток времени меньше недели. Проект является SaaS решением, поэтому заливку мы можем делать централизовано для всех наших пользователей.