1.6.2. Гибкие методы

iDevice ikoon 1.6.2. Гибкие методы

В методологии разработки вместо старых так называемых твердых методов (тяжелых методов) появились легкие, agile, или гибкие методы (см. B1.2). Одна из причин прихода гибких методов заключалась в том, что тяжелые методы не подходили для проведения многих программных проектов. В отличие от иной индустрии оказалось, что ведение программного проекта по первоначально согласованным развернутым планам очень сложно. Особенно в случае, если продукт изготавливали в соответствии с пожеланиями заказчика, и эти пожелания не были ясно сформулированы. В составленном в 2001 году Agile Manifesto среди прочего приведено то, что вместо радикального вклада в планирование следует все же делать «вещь в себе», однако, в то же самое время это не означает отказ от плановый деятельности. В случае гибких методов разработки процесс и еженедельные виды деятельности очень четко регламентированы.

Здесь, как пример можно привести Scrum (скрам), который в Эстонии распространен.

«Инфраструктура Scrum помогает командам стать сверхэффективными. Это позволяет разработчикам осуществлять крупные проекты в долю времени, расходуемого в практике программной разработки », - сказал Джим Кандифф (Jim Cundiff), управляющий директор Scrum Alliance. «Кроме того, Scrum делает немедленно видимыми дефекты команды», - добавил Кандифф. «Проще говоря, Scrum повышает эффективность и помогает организации справиться с заданиями». Растущую популярность методологии Scrum можно объяснить способностью поднять производительность и усилить получаемую доходности от инвестирования, способностью объединять руководство и разработчиков компании (фирмы) во имя достижения бизнес-целей. Scrum легко понять и применять, имеются и работают учебные программы. Scrum предоставляет гибкую структуру, которая помогает большим командам сосредоточиться на цели, чтобы сообща всей командой, достичь каждого спринта задания. Работа SCRUM основывается на цикличности, чьи этапы именуют спринтами. Спринт обычно длится от двух до четырех недель. Для каждого спринта команды выбирают задания, упорядоченные на основе важности, и исходя из потребностей клиента. Задания называют пользовательскими историями (user story), так что функции, которые разрабатывают, прежде всего, являются для клиента наиболее ценными. В конце каждого спринта потенциально применимый продукт поставляется клиенту.

Хотя Scrum является наиболее распространенной в сфере разработки программного обеспечения, эта методика очень подходит для осуществления разнообразных гибких (условия и исходные данные меняются часто) проектов разработки.

Scrum включает в себя почти только деятельность, связанную с организационными работами (управление проектом), планируя ежедневные / еженедельные действия. Например, утром понедельника не начинают с прилежного написания кода, а расходуют значительная часть дня на планирование действий на неделю (т.н. « planning poker » - деятельность по разделению требуемых работ на спринты). Проводят утренние короткие т.н. «собрания на ногах» («митинг стоя», «летучка», stand-up), где каждый может сказать как то, что он делал в предыдущий день, так и то, что мешает его работе. Проводятся ретроспективные собрания (retrospective), где подытоживают происшедшее и высказывают свое мнение о членах команды, если их деятельность, например, мешает работе других. На стене держат график продвижения работ, на котором всем видно, как далеко на текущий момент продвинулись с различными функциональностями.

О «гибкой деятельности» в Эстонии смотрите agile.ee и scrum.ee.