Comments 21
Исполняемые спеки необходимы, но не достаточны для гарантии корректной работы. Они так же как и прочая документация могут не описывать всех мыслимых и не мыслимых нюансов.
Поэтому когда видишь проект, где твоя работа рапланирована и ясна, где ты просто можешь, что я называю «работать вперед» — т.е выполнять рутинную работу по определенным заранее направлению и схеме — это кажется счастьем. Пусть для этого приходится ставить себя в определенные жесткие рамки.
я, персонально, еще впридачу отметил снятие с себя персонального груза рисков и ответственности за дальнейшую разработку. каждый может взять любую историю. каждый может ее завтра бросить. ничего не надо держать в голове, вышел — забыл — с утра снова прочитал. если забыл и не можешь найти где прочитать, то сам допишешь в спецификацию.
это другой мир, на самом деле.
Офигенная статья, и так мало комментариев. Я поражён.
Описанные условия — адов ад. Но я хотел бы в это на полгодика окунуться. Посмотреть и пощупать как выглядит TDD и парное программирование доведённые до крайности.
Выглядит прикольно. Есть ли какие-то сравнения по качеству и скорости? Напишете статью на хабр?
на удаленку нельзя, в этом весь пойнт парного программирования.
и платить за тикеты бессмысленно, программисты будут просто создавать больше тикетов.
оплата тут вообще ортогональна процессу — там есть отдельные recognition-метрики, которые у каждого коллаборанта могут быть свои, потому что, например, это могут быть разные компании-аутсорсеры.
Сам имею возможность поработать с сабжем. Но как часто бывает в статьях — высвечиваются привлекательные стороны, а о плохом — вроде как не и сказано — значит и нету. А это очевидно не так. Список минусов не меньше чем список плюсов. И как любое лекарство его надо принимать с умом и под присмотром квалифицированого «доктора».
Кроме того в статье пропущена ключевая роль в этом процессе — TPM. Его квалификация и взаимодействие.
Ничего не сказано о роли Ankor — кто такой и где его взять.
Умалчивается а откуда беруться такие классные «десять-двадцать историй с покрытием» и что происходит когда они не классные или не беруться.
Ну и т.д…
В общем если представить, что проект состоит только из написания кода — то TDD\XP подход отлично решает проблему. Если же нет — то остаются пробелы и «пространство для улучшения».
Все остальное — про ankor и TPM и прочее — это вопрос сюда не относящийся. Agile-методология бывает разная и я вообще не ее фанат, например. У нас есть стендапы и ретро, а TPMa нету совсем, ну и что.
Мы не говорим, что TDD решает все проблемы, мы указываем, какие именно проблемы оно решает: качество кода, наличие спеков и collaboration.
А что такое "история" и чем она отличается от задачи? Судя по тому, что результатом воплощения истории не являтся готовая фича, это не UserStory?
Оно соответствует определению тут: https://en.wikipedia.org/wiki/User_story
То есть написано с точки зрения ползователя, повествовательно и т.д.? Или просто "записать скидку в базу данных" — то ести технические подробности
Если юзер сам программист и в состоянии посмотреть в базу, то в истории может фигурировать и база, впрочем.
Лишь бы тот, кто определяет юзер вэлью, не был отделен от acceptance по причине того, что у него нет прав\квалификации\ и тп
2. На один тикет в джире несколько историй или один к одному?
один джира-тикет — одна история, она же юзер-стори.
единственное ограничение, может быть, что любая юзер-стори пишется в форме какую user value она предоставляет. т.е. «as an account manager i want to see the order id field on the form filled from the same place as in the Application», а не в технической форме — «добавить или починить real database adapter implementation», что ограничивает раж рефакторинга и заставляет фокусироваться на пользовательской ценности.
True XP/TDD в Пивотал изнутри: как это выглядит и возможно ли это?