Что такое велосити в монтаже
Миф: Velocity – это производительность
День ото дня мы приближаемся к Agile-трансформации. Одна из самых важных целей для нас – увеличить velocity команд на X %. Слышали об этом? Слова Марка Андрессена о том, что «программное обеспечение пожирает мир», становятся отличительной чертой отраслей, которые раньше были менее автоматизированными.
Компания, занимающаяся разработкой Agile-продуктов, опросила более 18 000 клиентов и специалистов по разработке программного обеспечения.
Известный вклад в эту игру вносит Scrum – фреймворк, с помощью которого люди могут решать сложные адаптационные проблемы, эффективно и творчески обеспечивать продукты максимально возможной ценностью.
Velocity – это дополнительная и необязательная часть практики Scrum.
Когда вы начинаете применять Scrum, вся работа, которую нужно выполнить для достижения цели, может быть подытожена в любой момент. Для прогнозирования прогресса используются разные проективные практики, например диаграммы сгорания задач или накопительные диаграммы потока. Они оказываются весьма полезными. Однако они не оспаривают важность эмпирической оценки. В частности, Agile-фреймворки, такие как Scrum, не требуют использования каких-то практик. Однако эти дополнительные практики зачастую полезны. Все эти методы используются для построения дашбордов, которые помогают принимать решения.
Но Agile-разработка не обязательно должна отвечать таким дашбордам и отчетам, которые так любят менеджеры. Те немногие показатели, которые она выдает, имеют мало смысла вне контекста планирования работы команды. Если учесть получившуюся нехватку информации, может возникнуть соблазн переиспользовать velocity для измерения производительности. В конце концов, это же показатель потенциала команды, из чего следует, что его изменение с течением времени можно использовать для определения изменения производительности, не так ли?
Velocity – это способ измерения прогресса, а не конкретная величина!
Наряду с взаимодополняющими практиками, самый большой риск в таком подходе заключается в том, что velocity – это инструмент планирования, а не конкретная величина. Это оценка относительной эффективности, которая имеет тенденцию меняться с течением времени, но эти изменения не обязательно указывают на изменение производительности. В целом это условная величина, которая сильно варьируется между организациями, командами и продуктами. Нет надежного способа представить этот показатель в виде нормализованного числа, которое можно было бы использовать в конструктивном сравнении.
Тогда что же такое velocity?
Velocity — это показатель способности превратить бэклог продукта в работоспособный функционал за отрезок времени или определенную стоимость.
Моя цель — увеличить velocity команды.
Если учитывать, что velocity — это условный показатель, с ним легко играть, раздувать и сдувать его. Приравнивая velocity к производительности, вы создаете «искаженный стимул» для оптимизации velocity за счет разработки качественного программного обеспечения. Сознательно или нет, но команды будут пытаться продемонстрировать увеличение производительности, поднимая velocity. Если будет поставлена такая цель, то velocity станет пропорционально производительности. Но команды начнут «срезать углы», чтобы быстрее доставить функционал. В свою очередь это приведет к увеличению технического долга, а продукт, который команды развивают, будет становиться все более и более хрупким.
Волшебный момент: откройте диаграмму сгорания задач команды
Допустим, ваша задача показывать диаграммы сгорания задач руководству. В течение каждого спринта линия прогресса начнет магическим образом пересекаться с целью по доставке продукта. Форма линии может сильно варьироваться, но каким-то образом будет происходить ускорение или замедление во второй половине спринта, чтобы соответствовать ожиданиям.
Velocity – это мера объема работы, которую может выполнить команда. Это не то же самое, что мера ценности или влияние этой работы. Velocity действительно может быть относительно стабильной в успешной слаженной команде, поскольку количество усилий, требуемых в каждом спринте, остается неизменным. В таком случае искусственное давление на velocity приведет лишь к искажению картины.
Как же тогда измерить производительность?
Производительность определяется путем анализа входов и выходов из деятельности. Достаточно легко измерить входные данные для процесса разработки ПО, но сложнее измерить выходные данные каким-либо логичным способом.
Итоговый результат важнее выходных показателей.
Грубая количественная мера, такая как количество строк кода, не даст никакой рациональной информации. Она слишком сильно зависит от изменчивых факторов, таких как стиль написания кода, язык разработки и подход к реализации. Этот показатель может оказаться контринтуитивным, поскольку хорошо написанный код, который долго разрабатывался, часто занимает меньше строк.
Как измерить ценность?
Если вы будете выводить производительность из velocity, то увидите статистическое улучшение. Но оно не будет означать успешное развитие.
В конечном итоге, такие Agile-фреймворки как Scrum, опираются на эмпирический подход. Эмпирический подход в свою очередь опирается на проверку, адаптацию и прозрачность, обеспечивая непрерывный цикл обратной связи между командами разработчиков и бизнесом. Более значимая мера успеха должна фокусироваться на реальной выгоде, а не на абстрактных нормализованных показателях.
Помните, что релиз нужен для понимания ценности.
Говорю ли я, что метрики — это плохо? Ни в коем случае. Я не говорю, что метрики бесполезны. Они помогут вам собрать информацию, принять решение о корректирующих действиях, и самое главное, понять, в какую сторону развиваться. Если вы склонны удовлетворять постоянный голод руководства отчетами, этим вы в итоге просто создаете бессмысленные накладные расходы. В конце концов, программное обеспечение — это сложно, его развитие нельзя предсказать, но можно спрогнозировать!
Тогда что же измерять?
Одна из идей Кена Швабера называется «Evidence-Based Management» или «Доказательное управление». Он говорит, что управление на основе фактических данных организации, занимающейся разработкой ПО, является самым полезным способом преобразования ПО из издержек в прибыльные активы.
Рассказ о EBM выходит за рамки этой статьи, поэтому я порекомендую вам перейти по этой ссылке, если вы хотите получить дополнительную информацию по этой теме.
Участники вместе с преподавателем-экспертом разберут виды оценок проектов и задач в зависимости от срочности, размера и сложности объёма работ.
Велосити
Значение параметра velosity характеризует силу удара по клавише. Устройства, оснащенные датчиками скорости нажатия клавиши, измеряют скорость, с которой клавиша при нажатии опускается вниз, и присваивают значение в пределах от 0 до 127 параметру velocity, указывая, таким образом, скорость атаки. (Некоторые инструменты реагируют также на скорость отпускания клавиши; для описания скорости отпускания клавиши используется параметр release velocity.) Самый явный смысл параметра velocity заключается в том, что его значение задает громкость звука в зависимости от силы удара по клавише. Но, поскольку в реальных инструментах при изменении силы удара по клавише изменяется не только громкость, но и спектр звука, параметр velocity позволяет корректировать также другие параметры звука. Например, в подключаемом модуле виртуального пианино предусмотрены аудиообразцы звука одной и той же ноты реального пианино, сыгранной по-разному, и в зависимости от значения параметра velocity в поступившем MIDI-сообщении подключаемый модуль выберет самый подходящий из записанных аудиообразцов, сделав звук более реалистичным. Характер и уровень реагирования инструмента на изменение параметра velocity зависит от конкретного инструмента, но не от MIDI-сообщения. Параметру velocity присуще еще одно существенное ограничение, обусловленное тем, что MIDI-технология по своему назначению является технологией моделирования исполнения на клавишном инструменте. Поскольку в MIDI-сообщениях нот используются только два параметра — attack velocity и release velocity,— MIDI-инструменты лучше всего моделируют характер исполнения, присущий пианино.
Производительность команды [Скорость](Velocity)
Производительность Скрам-команды часто называют скоростью, поскольку это буквальный перевод Velocity —англоязычного термина из Scrum. Это величина, отражающая количество работы, которое Скрам-команда может выполнить за один Спринт. Производительность является важной метрикой в Скраме и должна визуализироваться таким образом, чтобы все члены Команды могли ее видеть.
Производительность вычисляется в конце Спринта как сумма Стори Поинтов по всем полностью завершенным Элементам Бэклога Спринта. Стори Поинты по частично завершенным или незавершенным историям не должны участвовать в расчете производительности Команды.
Прогноз производительности должен отслеживаться в течение Спринта на основании Диаграммы Сгорания Работ Спринта. Конечно, в идеале итоговая производительность спринта должна совпасть с числом Стори Поинтов по всем задачам, запланированным на Спринт, но по факту она может отличаться как в меньшую, так и в большую сторону.
Производительность — это ключевой механизм получения обратной связи для Команды. Она позволяет оценить, как внедрённые процессные изменения повлияли на эффективность ее работы. И хотя производительность Команды от Спринта к Спринту может меняться, в среднем у хорошо функционирующих Скрам-Команд она стабильно возрастает примерно на 10% за Спринт.
Этот показатель помогает достаточно точно прогнозировать, сколько историй Команда может делать за один Спринт (в Скраме это называется Вчерашняя погода). Для расчета прогноза необходимо взять среднее значение Производительности за последние три Спринта. Это означает, что для корректного расчета производительности Команде необходимо работать в том же составе, как минимум, три Спринта, что бывает очень сложно объяснить нетерпеливым стейкхолдерам.
Без понимания Производительности невозможно планировать выпуск (релиз) продукта. Зная же Производительность, Владелец Продукта понимает, сколько Спринтов потребуется Команде, чтобы собрать функционал, готовый к поставке. В зависимости от длины Спринта, Владелец Продукта может запланировать дату релиза или понять, укладывается ли Команда в заданный свыше дедлайн.
Диаграмма Сгорания Работ Спринта визуально показывает прогресс Команды в Стори Поинтах по дням спринта. Это графическое представление того, сколько работы уже сделано и сколько еще остается сделать. Диаграмма позволяет Команде прогнозировать успех Спринта и предпринимать меры, чтобы к моменту окончанию Спринта все запланированные задачи были были завершены.
Информация, которая требуется команде для понимания и выполнения работы над Элементом Бэклога Продукта. Описание критериев готовности Элементов к разработке должно быть таким, чтобы для выполнения работы команде не требовалось дополнительных обсуждений и исследований. Такие Элементы можно принять в работу немедленно (они Immediately Actionable). Например, Элементы можно проверять на соответствие критериям I.N.V.E.S.T.
Критерии Приемки (Acceptance Criteria)
Специфические требования и приемочные тесты, которым должны соответствовать Элементы Бэклога Продукта, чтобы работа по ним считалась завершенной с точки зрения клиента / Владельца Продукта. Определение Критериев Приемки звучит очень похоже на Критерии Готовности, но в действительности эти понятия отличаются: Критерии Приемки касаются требований клиента к конкретному Элементу Бэклога, а Критерии Готовности формируются командой и касаются многих Элементов.
Оценка (Estimation)
Оценка – это прогнозирование усилий, которые потребуются для завершения работы над Элементом Бэклога Продукта. Она обеспечивает Владельцу Продукта и Скрам-мастеру уверенность в дате релиза и является базой для расчета производительности Команды. Существует множество способов оценки усилий Скрам-командой, но при этом всегда используются относительные единицы: например, Стори Поинты. Обычно оценка проводится в рамках Уточнения (Груминга) Бэклога Продукта.
Чтобы оценить объем работы над Элементом Бэклога Продукта, Скрам-команды обычно используют Стори Поинты. Это условная величина, позволяющая давать Элементам Бэклога относительные веса. Чаще всего для оценки в Стори Поинтах используются числа Фибоначчи (1, 2, 3, 5, 8, 13, …), что позволяет провести оценку достаточно быстро.
Мы хотим, чтобы компании были крутыми, а люди в них — счастливыми
Ableton Live Velocity
Данная статья является частью цикла статей «Ableton Live»
Velocity может изменять значения велосити входящих MIDI нот (1-127) либо контролируемым, либо случайным образом. Он может действовать с MIDI Note On (Velocity (велосити нажатия)) или Note Off (Rel. Vel. (велосити отпускания)) сообщениями, или с обоими, в зависимости от установки в меню Operation.
Ручки Out Low (исходящий низ) и Out Hi (исходящий верх) управляют исходящей велосити (от 1 до 127), которые представляются Y-осью на X-Y дисплее. Входящие велосити отображаются на дисплее в выбранном диапазоне с помощью параметров Range (диапазон) и Lowest (низ), и представлены X-осью. В результате кривая показывает, как эффект изменяет велосити в при каждом значении.
Если Lowest и Out Low установлены в ноль, а Range и Out Hi установлены в 127, на дисплее появится прямая диагональная линия, которая указывает на то, что эффект не оказывает никакого влияния: тихо сыгранные ноты выходят тихими, и наоборот. Если вместо этого, Out Hi устанавливается в ноль и Out Low в 127, наклон линии будет обратным, и тогда тихие ноты производят громкий выход.
Что происходит с входящими нотами которые находятся за пределами диапазона, установленного параметрами Range и Lowest? Это зависит от того, какой выбран режим (Mode).
Регулятор Random (случайность) добавляет случайные значения на все велосити, и представляет собой серую область на дисплее кривой.
Параметры Drive (драйв) и Compand (сложный) могут быть объединены, для создания более сложной кривой. Compand это инструмент одновременного расширения и сжатия. При установке значения больше нуля он перемещает входящие ноты к внешним границам кривой, что делает их воспроизведение либо громким либо тихим. С другой стороны значения Compandменьше нуля, перемещают исходящие велосити в середину. Drive перемещает все значения кривой к внешним краям. Используя эти два параметра вместе создавайте или переопределите динамическую структуру произведения.
Velocity
Рассматриваемые нами ранее миди-эффекты в Ableton Live, в основном имели дело с высотой миди-нот. Эффект Velocity работает с информацией о Velocity, т.е. с данными о силе нажатия на клавиши миди-клавиатуры или контроллера. Он очень похож на плагин Compressor и немного на Scale, т.к. здесь по схожим принципам изменяется велосити миди-данных.
Взглянем на разлинованный дисплей, который чем-то напоминает дисплей, используемый в устройстве Scale (об этом устройстве писал ранее – щёлкните, чтобы попасть на страницу со статьёй). Уточняю: входящие данные велосити отмечаются по оси Х (нижняя часть сетки), выходящие же данные — по оси Y (правый край сетки), тем этот дисплей и похож.
По умолчанию график велосити представляет собой прямую, выходящую из левого нижнего угла дисплея и уходящую за правый верхний угол:
Это означает, что Velocity каждой выходящей из устройства ноты будет соответствовать Velocity входящей ноты.
Поворачивая ручку Drive вправо, мы заставляем прямую изгибаться:
Новая кривая показывает, что низкие значения велосити входящих миди-данных приводятся к более высоким значениям на выходе. В результате громкость нот, сыгранных тихо, увеличится, в то время как изначально громкие ноты в основном останутся не затронутыми эффектом.
Поворот регулятора Drive в обратном направлении приведёт к обратному эффекту: поступающие на вход эффекта ноты, сыгранные с большой громкостью, на выходе получат более низкие значения Velocity и зазвучат тише:
Только самые громкие ноты плагин оставит при своих больших значениях Velocity.
Регулятор Comp чуть ниже (это означает «Compand» — компрессор / экспандер) оказывает такой же эффект, что и ручка Drive, с той лишь разницей, что создаются две кривых вместо одной. Поворотом этой ручки вправо до значений больше нуля вы изгибаете кривую таким образом, что тихие ноты становятся ещё тише, а громкие — громче:
Поворот Comp в противоположном направлении имеет обратный эффект, приводя значения Velocity большей части нот к среднему значению:
Помните, что эффект Velocity так же, как и Pitch, изменяет именно ноты, поступающие на инструмент, а не физические показатели звука. Вследствие этого, увеличивая значение параметра Comp, вы не добавляете «саунду» компрессии, как если бы вы это сделали с помощью компрессора, вставив его на трек за инструментом. Эффект просто ограничивает значения Velocity у нот, посылаемых на инструмент, в то время как сам инструмент продолжает выдавать несжатый звук.
Регулятором Random можно установить диапазон рандомизации, которую можно наложить на входящие значения Velocity:
Повышая значение Random, вы увидите, как на дисплее появляется серый участок, демонстрирующий все возможные значения Velocity, которые могут принять ноты вследствие воздействия генератора случайных чисел.
Регуляторы Out Hi и Out Low определяют самые высокие и самые низкие значения велосити, которые могут принять выходящие из устройства ноты.
Параметры Range и Lowest действуют так же, как их аналоги в устройствах Pitch и Scale (см. текст выше). Т.е. в них вы можете выбрать диапазон, в котором устройство Velocity будет работать.
Кнопки Clip, Gate и Fixed устанавливают, как будет действовать плагин в случае, если входящее значение Velocity находится за пределами рабочего диапазона, выставленного параметрами Range и Lowest.
Наконец, меню Operation позволяет выбрать, на какие велосити будет реагировать эффект: велосити нажатия (Note On), велосити отпускания клавиши (Note Off) или и на то и другое (Both).
Этот плагин – один из самых полезных в наборе Midi-плагинов. Рандомизация значений Velocity позволяет вдохнуть больше жизни в запрограммированную вами партию ударных. Люди не могут играть так же ровно и с такой же постоянной силой, как компьютер. Внося небольшой хаос в значения Velocity ударных инструментов, вы можете сделать их звучание более разнообразным. Это особенно хорошо слышно на хай-хетах и шейкерах.
Примите этот полезный плагин в свой инструментарий, используйте его для интересных эффектов. Применяйте его в связке с другими плагинами с помощью Instrument Rack и MIDI-effect Rack.