Часть серии статей о |
Разработка программного обеспечения |
---|
В agile - принципах тайм-боксинг выделяет максимальную единицу времени для деятельности, называемую тайм-боксом , в рамках которой происходит запланированная деятельность. Он используется в подходах к управлению проектами на основе agile-принципов и для управления личным временем.
Timeboxing используется как метод планирования проекта . Расписание делится на несколько отдельных временных периодов (timeboxes), при этом каждая часть имеет свои собственные результаты, крайний срок и бюджет. [ требуется ссылка ] Иногда называется расписанием как независимой переменной (SAIV). [1] «Timeboxing лучше всего работает в многоэтапных проектах или задачах, которые занимают мало времени и которые можно втиснуть в один временной интервал. Его также стоит применять в случае обязанностей, которые имеют предсказуемые временные рамки завершения». [2]
В управлении проектами обычно рассматриваются три ограничения : время (иногда график ), стоимость (иногда бюджет ) и объем . [3] [4] [5] [6] [7] ( Качество часто добавляется как четвертое ограничение, представленное в виде середины треугольника. [8] [9] [10] ) Предполагается, что изменение одного ограничения повлияет на другие. [6]
Без ограничения по времени проекты обычно работают в рамках фиксированного объема, [11] и в этом случае, когда становится ясно, что некоторые результаты не могут быть завершены в запланированные сроки, либо срок должен быть продлен (чтобы предоставить больше времени для завершения фиксированного объема), либо вовлечено больше людей (чтобы завершить фиксированный объем за то же время). Часто происходит и то, и другое, что приводит к задержке поставки, увеличению затрат и часто снижению качества (согласно принципу мифического человеко-месяца ).
При использовании таймбоксинга крайний срок фиксирован, что означает, что область действия должна быть сокращена. Поскольку это означает, что организации должны сосредоточиться на завершении наиболее важных результатов в первую очередь, таймбоксинг часто идет рука об руку со схемой приоритизации результатов (например, с методом MoSCoW ). [12]
Временные рамки используются как форма управления рисками , чтобы явно определить неопределенные отношения между задачей и временем, т. е. работу, которая может легко выйти за пределы своего крайнего срока. Временные ограничения часто являются основным фактором в планировании и не должны меняться без учета критических путей проекта или подпроекта. То есть, обычно важно соблюдать крайние сроки. Факторы риска пропущенных крайних сроков могут включать осложнения на этапе восходящего потока проекта, ошибки планирования в рамках проекта, проблемы, связанные с командой, или неправильное выполнение плана. Проблемы на этапе восходящего потока могут включать изменения в миссии проекта или поддержке/поддержке со стороны руководства. Распространенной ошибкой планирования является неадекватная разбивка задач, что может привести к недооценке времени, необходимого для выполнения работы. Проблемы, связанные с командой, могут включать проблемы с межкомандной коммуникацией; отсутствие опыта или необходимой кросс-функциональности; отсутствие приверженности/стремления/мотивации (т. е. плохое построение команды и управление).
Чтобы уложиться в сроки, обычно оцениваются следующие действия по тройным ограничениям:
Многие успешные проекты по разработке программного обеспечения используют временные ограничения, особенно небольшие. [13] Внедрение временных ограничений более чем утроило производительность разработчиков в DuPont в 80-х годах. [14] В некоторых случаях приложения были полностью доставлены в течение времени, необходимого для завершения спецификации . [ 14] Однако Стив Макконнелл утверждает, что не каждый продукт подходит [14] и что временные ограничения следует использовать только после того, как клиент соглашается сократить функции, а не качество. [14] Существует мало доказательств прочного принятия среди самого большого класса проектов. [13]
Метод тайм-боксинга был принят некоторыми известными методологиями разработки программного обеспечения :
Гибкая разработка программного обеспечения пропагандирует переход от разработки , ориентированной на план , к разработке, ориентированной на ценность . Качество и время фиксированы, но допускается гибкость в области охвата. Поставка наиболее важных функций в первую очередь приводит к более раннему возврату инвестиций, чем каскадная модель . [7]
Отсутствие подробных спецификаций обычно является результатом нехватки времени или отсутствия знаний о желаемом конечном результате (решении). Во многих типах проектов, и особенно в программной инженерии, анализ и определение всех требований и спецификаций до начала фазы реализации невозможны. Ограничение по времени может быть благоприятным типом контрактации для проектов, в которых крайний срок является наиболее критическим аспектом и когда не все требования полностью определены заранее. Это также позволяет отразить в конечном результате новую обратную связь или идеи, обнаруженные в ходе проекта. [12]
Ограничение по времени можно использовать для личных задач, в этом случае используется сокращенная шкала времени (например, тридцать минут) и результатов (например, работа по дому вместо результата проекта), и часто это называется блокировкой времени .
Также считается, что личный тайм-боксинг действует как лайфхак , помогающий обуздать тенденции перфекционизма (устанавливая четкое время и не переусердствуя в выполнении задачи), что также может повысить креативность и концентрацию (создавая чувство срочности или повышенного давления). [21]
Тайм-боксинг выступает в качестве конструктивного элемента других методов управления личным временем: