Каждому танку — своя граната
posted in Инженерия ПО |Как говорится, каждому танку — своя граната, а каждому проекту — свою методологию. Как выбрать методологию? Если проект измеряется человеко-годами и есть жесткие требования к качеству (ошибки ведут к серьезным потерям), то, наверное, нужно использовать «утяжеленые методологии». Если есть ряд крохотных проектов (два — три человека на пару месяцев) и нет жестких требований к качеству, то лучше облегчить процесс. Если есть постоянный контакт с заказчиком, возможность организации коротких циклов и быстрого проведения бета-тестирования, то можно обойтись без формализованного документа требований. Если же проект организован по принципу: «Когда все сделаете, посмотрим результат», — тогда нужно тратить уйму времени на создание и согласование ТЗ.
SCRUM ориентирован на проекты с большой степенью непредсказуемостью до самого момента завершения проекта. Утверждается, что в эту методику заложены идеи управления процессами, которые позволяют управлть даже хаосом.
Основные принципы SCRUM просты и интуитивно понятны:
- Фиксация проблем, мешающих разработке и наискорейшее устранение этих проблем.
- Функциональность, в которой заинтересован заказчик, должна быть реализована в первую очередь.
- Ошибки нужно устранять сразу, как только они выявлены.
Также как и другие легкие методологии, SCRUM определяет короткие итерации (strint), в рамках которых реализуется заранее определенная функциональность, заданная в заранее зафиксированном перечне (backlog), а также предлагает механизм «обмена опытом» — ежедневные короткие совещания (scrum).
В чем же преимущества SCRUM? Посмотрите на замечательную картинку. Не правда ли из нее понятно, что SCRUM лучше других методологий? 🙂
На самом деле преимущества SCRUM — ее ориентированность на крупные сложные проекты, в которых требования постоянно «плывут». SCRUM ориентирован именно на такие проекты и позволяет максимально эффективно отслеживать в процессе разработки целостность системы и выдерживать сроки и бюджет в рамках такого рода проектов.