Ответы пользователя по тегу Agile
  • Как соотнести дату реализации конкретной задачи и спринты?

    @kn0ckn0ck
    Продюсер
    Есть процесс, который именно для этого и сделан, называется Scrumban.
    Параллельно идут спринты и решение срочных запросов (к дате или как можно скорее - не важно).
    Ответ написан
    2 комментария
  • Как планировать спринт, если во время спринта всплывают критичные баги от пользователей?

    @kn0ckn0ck
    Продюсер
    Лучше - сильно сократить поток багов, чтобы не нужно было делить разработчиков. Нет смысла фигачить новые фичи, если уже сделанные либо кривые, либо неполные, либо плохо сделаны - этим вы роете себе яму.

    Когда поток багов небольшой, то они укладываются в ваш фокус-фактор. Если нужно срочно что-то фиксить (например, клиент не готов ждать окончания спринта), то лучше использовать смешанный процесс, например, скрамбан.
    Ответ написан
    Комментировать
  • Как оценить автотесты в стори-поинтах?

    @kn0ckn0ck
    Продюсер
    1. SP - это линейка для измерения сложности. Что-то совсем простое = 1, что-то сложное = 13. Это относительна шкала, поэтому у всех она своя. Оценки в SP эмпирические, то есть основанные на предыдущем опыте. Если что-то не понятно во сколько оценить, то нужно это разбить на кусочки и каждый оценить в отдельности.

    2. У разработчиков есть такая же проблема, обсудите с ними. Она называется "технический долг". Каждое изменение в функциональности требует переписывания чего-то ранее написанного. Эта как-бы лишняя работа крадет время и снижает скорость команды. Очевидно, что с этим нужно бороться.

    Я знаю два подхода, которые здесь можно применить:

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

    б) Непрерывно улучшать дизайн (кода и тестов) с той целью, чтобы поддержка новых историй не требовала много времени. Это уже только в руках разработчика/тестировщика - делать гибкий дизайн. Банальный пример, в автоматических тестах привязываться не к названиям, и не расположению их внутри модели UI, а только к ИД элементам интерфейса.
    Ответ написан
    2 комментария
  • Как реорганизовать процесс разработки и увеличить её скорость, если нету документации, куча костылей и старый код?

    @kn0ckn0ck
    Продюсер
    Первым делом вы должны осознать, что проект находится в глубокой Ж. Стоимость и продолжительность выхода оттуда существенны. Это значит, что сразу все сделать красиво скорее всего не получится. А это значит, что нужно выбрать что важнее и заняться этим в первую очередь.

    Определите наиболее весомые для проекта риски. Из того что перечислено, на мой вкус, это все яйца в одной корзине (один разработчик) и отсутствие тестирования. Важно понимать, что наличие костылей само по себе не так уж и критично, как поют некоторые спецы. Куда критичнее отсутствие регрессионного тестирования.

    Задачу по документированию я бы отложил на более поздние этапы, поскольку куда проще и эффективнее будет посадить двух разработчиков на две недели за парный кодинг и поставить задачу перелить знания из одной головы в другую. Разработчики должны быть примерно одного уровня, чтобы сильный морально не давил на джуниора.

    С задачей по настройке CI я бы тоже не спешил. Если время выполнения одной задачи занимает неделю, то ускорение выпуска сборки через CI на 1 день ничего не решает. CI хорош, когда несколько разработчиков делают изменения в своих ветках, когда есть автотесты и т.п.

    Отсюда вытекает первоочередная задача - разработка автотестов, которые будут выполнять важнейшие функции:
    1. фиксировать текущие требования к системе, то есть отвечать на вопрос как оно должно работать
    2. страховать от ошибок, которые могут возникать из-за костылей и неопытных программистов
    3. стабилизировать ветки разработчиков перед слиянием в мастер-бранч

    Для создания автотестов, вам не нужен разработчик, вам нужен тестировщик с навыками создания автотестов. Только когда будут автотесты имеет смысл разгонять скорость разработки за счет привлечения новых программистов, делать CI и по ходу фиксировать технические решения, важные для дальнейшей разработки.
    Ответ написан
    Комментировать
  • Аналог Visual Studio Team Services в плане TODO и Agile/Scrum?

    @kn0ckn0ck
    Продюсер
    gitlab devprom
    Ответ написан
    Комментировать
  • Какие KPI существуют для программистов?

    @kn0ckn0ck
    Продюсер
    Любой KPI проистекает из процесса. Если у вас Scrum, то в нем единственной метрикой является Velocity (скорость команды) и определяется она не для программиста, а для команды разработки (для всех программистов, участвовавших в спринте).

    Очевидно, что при одинаковых расходах от спринта к спринту, вы хотели бы, чтобы Velocity не падала, а наоборот, со временем росла. Тренд Velocity и может быть тем самым KPI. Если тренд нисходящий, без наличия объективных причин (изменение состава команды и т.п.), это признак снижения продуктивности/эффективности команды разработки.

    В разработке любого продута есть еще стадия эксплуатации, на которой в команду возвращаются баги, недоделки, недодумки и т.п. Число дефектов, вернувшихся из эксплуатации, также часто используемая метрика качества разработки.

    Это если из простых.
    Ответ написан
    2 комментария
  • Выбор между EasyRedmine\Jira. Что лучше использовать?

    @kn0ckn0ck
    Продюсер
    Это все платные сервисы, но есть ничем не уступающий по функциям аналог AgileTeam, можно поставить на свой сервер, а можно и в облаке использовать.
    Ответ написан
    Комментировать
  • Как быстро изучить jira и agile?

    @kn0ckn0ck
    Продюсер
    Перешли с Jira на scrumboard, там есть встроенная обучалка, которая рассказывает что нужно делать для управления проектом по Agile. Все доступно и понятно, в общем нам помогло.
    Ответ написан
    Комментировать