В последнее время очень много пишу видеороликов - капитализирую результаты своих тренинговых усилий. Много приходится общаться с трейни по коду и не только. Есть несколько способов как это сделать. Можно написать в скайпе (или письмо), можно написать пост в вики и поделиться линком, а можно включить скринрекордер и записать голосовое сообщение с демонстрацией того, что собирался донести - прямо в коде. Так, со временем этих вижяшек становится столько, что не даже куда их девать :) Но сейчас не об этом. О другом - развивая это направление (видеописательство) я начал применять скринрекордер в других местах (не только при общении с трейни).
Вот, например, сегодня хотел напарнику Сергею задать вопрос. Но понимаю, что ему сейчас может быть не совсем удобно давать ответ. Да и мы удалены друг от друга минимум на пару километров. Писать текст? Малоинформативно. Созвониться в скайпе и расшарить свой рабочий стол - уже лучше, но опять же напарник может быть занят в эту минуту, а когда он освободится занят уже буду я... Вот тут то я и решил записать скрипрекордером свой вопрос, показывая сразу на коде то, что хотел спросить так, как будто бы напарник сидит рядом. Записал - вышло 5 минут видео - и выложил в скайп с пояснением что, мол посмотри, когда будет минутка. 5 минут на полноценный вопрос. Текстом бы я его формулировал (даже с учетом слепого 10пальцевого) не менее 10 минут, а потом еще напарник мог бы не так понять. А тут все как в парном программировании...
Идем дальше. Следующее узкое место, которое можно таким образом задокументировать - коммиты проделанной работы. Сколько раз я ловил себя на слове во время резолвинга конфликтов: "ну и что он хотел этим сказать? зачем тут это?" Из дескрипшена это обычно не понятно - дескрипшен описывает только поверхностно суть коммита, а что касается реализации - тут поможет видяшка, записанная за 5-10 минут перед коммитом, поможет твоему напарнику в будущем разобраться что ты хотел сказать своим фиксом. Чем еще хорошо такое нововведение (кроме как информация для напарника)? А тем, что перед коммитом ты просматриваешь файл за файлом то, что проделал и тут, о чудо!, ты видишь глюки, которые не стоило бы коммитить. Я не знаю каким коротким должен быть сеанс кодинга между коммитами и внимательным дивелопер, чтобы случайно не закоммитить какой-то там system.out.println или кусок кода, который использовался временно для отладки. Такие строительные леса я всегда убирал просматривая код перед коммитом и это само по себе работало. Все что надо - всего лишь включить камрекордер и озвучивать мысли в такой форме, чтобы она было понятной напарнику.
Идем дальше. Записывать видео можно так же и sprint demo. Зачем напрягаться, и мьютить постоянно микрофон со словами "беги быстро пофикси, пока он (заказчик) не заметил", если можно спокойно записать видяшку, аккуратно ее смонтировать и выслать на ревью заказчику. А он посмотрит ее в удобное для него время и расскажет команде, что именно и где не так... Да, тут меньше интерактива для заказчика, но все же, в кое-каких случаях этим инструментом можно воспользоваться...
Предлагайте идеи, где еще можно заюзать камрекордер в разработке ПО?
Да, забыл - запись должна прохождить максимально комфортно, чтобы у команды небыло отговорок типа "эта тулза корявая, я записал а потом еще пол часа потратил на монтаж" - для этого пользуйтесь Camtasia Studio. Она стоит того, чтобы за нее заплатить 300$ Но можно, конечно поискать и фришные тулы (дай Бог чтоб удобную)...
Вот, например, сегодня хотел напарнику Сергею задать вопрос. Но понимаю, что ему сейчас может быть не совсем удобно давать ответ. Да и мы удалены друг от друга минимум на пару километров. Писать текст? Малоинформативно. Созвониться в скайпе и расшарить свой рабочий стол - уже лучше, но опять же напарник может быть занят в эту минуту, а когда он освободится занят уже буду я... Вот тут то я и решил записать скрипрекордером свой вопрос, показывая сразу на коде то, что хотел спросить так, как будто бы напарник сидит рядом. Записал - вышло 5 минут видео - и выложил в скайп с пояснением что, мол посмотри, когда будет минутка. 5 минут на полноценный вопрос. Текстом бы я его формулировал (даже с учетом слепого 10пальцевого) не менее 10 минут, а потом еще напарник мог бы не так понять. А тут все как в парном программировании...
Идем дальше. Следующее узкое место, которое можно таким образом задокументировать - коммиты проделанной работы. Сколько раз я ловил себя на слове во время резолвинга конфликтов: "ну и что он хотел этим сказать? зачем тут это?" Из дескрипшена это обычно не понятно - дескрипшен описывает только поверхностно суть коммита, а что касается реализации - тут поможет видяшка, записанная за 5-10 минут перед коммитом, поможет твоему напарнику в будущем разобраться что ты хотел сказать своим фиксом. Чем еще хорошо такое нововведение (кроме как информация для напарника)? А тем, что перед коммитом ты просматриваешь файл за файлом то, что проделал и тут, о чудо!, ты видишь глюки, которые не стоило бы коммитить. Я не знаю каким коротким должен быть сеанс кодинга между коммитами и внимательным дивелопер, чтобы случайно не закоммитить какой-то там system.out.println или кусок кода, который использовался временно для отладки. Такие строительные леса я всегда убирал просматривая код перед коммитом и это само по себе работало. Все что надо - всего лишь включить камрекордер и озвучивать мысли в такой форме, чтобы она было понятной напарнику.
Идем дальше. Записывать видео можно так же и sprint demo. Зачем напрягаться, и мьютить постоянно микрофон со словами "беги быстро пофикси, пока он (заказчик) не заметил", если можно спокойно записать видяшку, аккуратно ее смонтировать и выслать на ревью заказчику. А он посмотрит ее в удобное для него время и расскажет команде, что именно и где не так... Да, тут меньше интерактива для заказчика, но все же, в кое-каких случаях этим инструментом можно воспользоваться...
Предлагайте идеи, где еще можно заюзать камрекордер в разработке ПО?
Да, забыл - запись должна прохождить максимально комфортно, чтобы у команды небыло отговорок типа "эта тулза корявая, я записал а потом еще пол часа потратил на монтаж" - для этого пользуйтесь Camtasia Studio. Она стоит того, чтобы за нее заплатить 300$ Но можно, конечно поискать и фришные тулы (дай Бог чтоб удобную)...
Классная идея!
ОтветитьУдалитьТолько я бы это делал не для каждого коммита, а для серии маленьких *атомарных* коммитов. Если придерживаться single responsibility principle для коммитов, то ясно, что я сделал в каждом коммите. А с видео можно дать overview серии коммитов.
Могу подискутировать только насчет записи видео при коммите.
ОтветитьУдалитьКоммит - это единица абстракции, точно такая же, как класс или функция, потому методы упрощения можно использовать те же.
Если для объяснения магического фикса нужно записывать видео, то есть несколько возможных вариантов:
1. Не коммить =)
2. Либо разбей коммит на несколько простых, каждый со своим месседжем.
3. Либо просто напиши magic fix без объяснений, это будет достаточно информативно)
4. Ну и можно записать видео, если хочется)
Олег
Так точно, видео классно описывает общую идею реализованной фичи, которая может состоять из серии коммитов. Например сегодня запилил что-то потратил 6 часов, было 20 коммитов. Это все ради одной цели. Были кое какие архитектурные изменения, записал видяшку и если кто спросит что ты "намутил" ты ему а там в дескрипшене есть линк...
ОтветитьУдалить"Не коммить =)" - это да, как-то оно всетаки пахнет - запись видео. Но вместе с тем, не все проекты идеальные, а это инструмент и где-то его не хватает. Пост написал именно для таких неидальных проектов, которых уверен больше половины во всем мире.