Форум Сообщества Аналитиков

Общий раздел => Методологии => xP Xd Agile ICONIX пр. => Тема начата: Galogen от 23 Января 2008, 15:51:45

Название: Кратко про Agile
Отправлено: Galogen от 23 Января 2008, 15:51:45
Коллеги!

Не могли бы Вы кратко описать основные дисциплины Agile, примерный график фаз и итераций, минимальный набор артефактов применительно к очень небольшому проекту (скажем так 6 человекомесяц, обязательное описание документации). Скажу, проект учебный.
Название: Re: Кратко про Agile
Отправлено: pastor_dp от 23 Января 2008, 15:59:44
Поддержу предыдущего оратора.
Только начинаю свое знакомство с Agile (до этого работал по РУПу).
Так вот после поверхностного изучения сложилось острое ощущение, что если РУП - таки полное описание процесса, то Эджайл - просто набор техник. Причем вполне можно работать в рамках РУП, активно используя техники Эджайл.
Насколько сильно я заблуждаюсь?
Название: Re: Кратко про Agile
Отправлено: Григорий Печенкин от 23 Января 2008, 16:22:18
Agile - всего лишь слово, маркетинговая находка. Обычно пропагандисты Agile противопоставляют его процессному подходу, то есть именно графикам фаз и итераций.

Кое-что есть на форуме AgileRussia.ru:
http://agilerussia.ru/forum/index.php
Название: Re: Кратко про Agile
Отправлено: Galogen от 23 Января 2008, 19:31:41
greesha, а конкретно ткнуть носом? что-то тяжко просматривать все темы, пытаясь найти нужное
Название: Re: Кратко про Agile
Отправлено: bas от 23 Января 2008, 19:36:41
Причем вполне можно работать в рамках РУП, активно используя техники Эджайл.
Мы именно так и пытаемся выстроить процесс.
Название: Re: Кратко про Agile
Отправлено: bas от 23 Января 2008, 19:47:04
Agile (http://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B1%D0%BA%D0%B0%D1%8F_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8) - это общее слово для всех гибких методологий, таких как XP (http://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D1%82%D1%80%D0%B5%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5), Scrum (http://en.wikipedia.org/wiki/Scrum_%28development%29), ICONIX (http://en.wikipedia.org/wiki/ICONIX) и т.д.
Название: Re: Кратко про Agile
Отправлено: Askhat от 23 Января 2008, 23:02:07
Коллеги!

Не могли бы Вы кратко описать основные дисциплины Agile, примерный график фаз и итераций, минимальный набор артефактов применительно к очень небольшому проекту (скажем так 6 человекомесяц, обязательное описание документации). Скажу, проект учебный.

В двух словах и очень грубо: Строго говоря Agile это не процесс.

Исходная посылка Agile - короткие итерации, по итогам которой есть готовый продукт. Это называется итеративной и инкрементальной разработкой.

После каждой итерации требования могут измениться. Это означает, что использовать относительно "тяжелые" процессы с высоким уровнем документирования мы не сможем - не хватит времени на документирование. На первый план выходит личное общение.

В Agile мы используем адаптивный процесс. Команда должна придумать процесс (с ролями, документами и прочим), который позволяет ей максимально эффективно работать в условиях постоянных изменений.

Команда в Agile становится самоорганизующейся, то есть сама координирует работу и сама определяет процесс. В противном случае единый координатор (менеджер) быстро становится узким местом в условиях минимизации документации.

Короткие итерации заставляют сокращать цикл тестирования. Это происходит благодаря модульному тестированию и автоматизации тестирования как таковому.

И последнее. В Agile команда определяет необходимый уровень документации, который ей необходим. Это не означает отсутствия документации!

-----
Асхат Уразбаев (http://urazbaev.ru)
Название: Re: Кратко про Agile
Отправлено: bustor от 24 Января 2008, 09:55:29
В Agile мы используем адаптивный процесс. Команда должна придумать процесс (с ролями, документами и прочим), который позволяет ей максимально эффективно работать в условиях постоянных изменений.

Команда в Agile становится самоорганизующейся, то есть сама координирует работу и сама определяет процесс. В противном случае единый координатор (менеджер) быстро становится узким местом в условиях минимизации документации.

Честно говоря, я слабо представляю себе Agile, но мне кажется что такое описание очень похоже на описание анархии, или я что-то путаю?
Название: Re: Кратко про Agile
Отправлено: Galogen от 24 Января 2008, 10:22:59
Большое спасибо, Асхат.

Теперь стало понятнее.
Название: Re: Кратко про Agile
Отправлено: bas от 24 Января 2008, 12:18:14
Честно говоря, я слабо представляю себе Agile, но мне кажется что такое описание очень похоже на описание анархии, или я что-то путаю?
Ключевая фраза - "я слабо представляю себе Agile". Agile как раз наоборот - это очень строгая дисциплина, если кто-то выбивается, то Agile не получится, тем более если мы говорим об xP
Название: Re: Кратко про Agile
Отправлено: Григорий Печенкин от 24 Января 2008, 12:42:10
greesha, а конкретно ткнуть носом? что-то тяжко просматривать все темы, пытаясь найти нужное

А кто обещал, что будет легко? :)

Но лучше Асхата, пожалуй, вряд ли кто-то объяснит.

О себе могу сказать, что как раз сейчас пытаюсь внедрить более-менее ясный порядок разработки софта (назвать это "процессом" пока язык не поворачивается), и при этом обнаружил исключительную полезность некоторых методов, активно используемых в Agile вообще и в SCRUM в частности.
Название: Re: Кратко про Agile
Отправлено: bustor от 24 Января 2008, 12:46:43
То есть Agile больше всего похожа на "командную игру" в чистом виде, когда целое представляет собой нечто большее, чем просто набор составляющих?

Я пока не понял, почему "В противном случае единый координатор (менеджер) быстро становится узким местом в условиях минимизации документации.". Мне кажется, роль менеджера (проекта?) состоит именно в том, чтобы создать команду. Или Agile применяется уже после создания?
Название: Re: Кратко про Agile
Отправлено: bas от 24 Января 2008, 14:02:41
... и при этом обнаружил исключительную полезность некоторых методов, активно используемых в Agile вообще и в SCRUM в частности.
А рассказывать о "некоторых методов" не обязательно?? :)
Название: Re: Кратко про Agile
Отправлено: bas от 24 Января 2008, 14:07:19
То есть Agile больше всего похожа на "командную игру" в чистом виде, когда целое представляет собой нечто большее, чем просто набор составляющих?
Конечно

Мне кажется, роль менеджера (проекта?) состоит именно в том, чтобы создать команду. Или Agile применяется уже после создания?
Именно так, в Scrum - эта роль называется "Scrum master". Но после того как команда создана и ВСЕ роли распределены внутри ее, то МП становится просто не нужен. Асхат имел в виду, что узким местом будет классический МП, если он будет пытаться перетаскивать некоторые задачи на себя и решать что-то в одиночку. Тут уже МП превращается больше в координатора и составителя какой-то отчётности для руководства, если надо.
Название: Re: Кратко про Agile
Отправлено: Юрий Булуй от 24 Января 2008, 14:24:36
В двух словах и очень грубо: Строго говоря Agile это не процесс.
....
-----
Асхат Уразбаев (http://urazbaev.ru)

Рад приветствовать на нашем форме :-) ...
Название: Re: Кратко про Agile
Отправлено: Григорий Печенкин от 24 Января 2008, 18:27:58
А рассказывать о "некоторых методов" не обязательно?? :)

Чукча теперь больше читатель, чем писатель - времени почему-то всё меньше и меньше :(

Если коротко:
- работа по итерациям. Это оказалось трудно, потому что параллельно ведётся много проектов;
- ежедневная пятиминутка (SCRUM-meeting), где каждый отвечает на три вопроса: чем занимался завтра, какие были проблемы и нужна ли помощь, чем будешь заниматься сегодня;
- task board (сейчас состоит из четырёх разделов: нераспределённые задачи, в работе, требует тестирования, выполнено);
- практикую работу в паре, но чаще это касается не собственно программирования, а разбора спецификаций, анализа трейсов, рисования диаграмм и т. п. Оказывается, очень действенный метод.

А началось всё примерно два года назад, когда я прочитал книгу по экстремальному программированию и попытался сначала внедрить учёт требований на карточках. Были бы у меня старые добрые перфокарты - так бы по сей день, наверное, ими и пользовался. А поскольку в продаже картона подходящего формата не нашёл, а обычные бумажки слишком малы и быстро истрёпываюися, постепенно перенёс всё с бумаги в базу данных. Теперь эти карточки виртуальные.
Название: Re: Кратко про Agile
Отправлено: Askhat от 25 Января 2008, 00:04:21
Честно говоря, я слабо представляю себе Agile, но мне кажется что такое описание очень похоже на описание анархии, или я что-то путаю?

Прямо таки хочется сказать "анархия - мать порядка"

В таком изложении и правда похоже на анархию. Так и будет, если все это оставить на уровне декалараций.

Ну типа вы приходите в команду и говорите "вы самоорг. команда, поэтому не трогайте меня, разбирайтесь сами"

Agile предоставляет набор практик, которые делают это процесс очень дисциплинированным - например delivery каждую итерацию, ежедневные скрам митинги, доска задач, планирование и т.д.
Название: Re: Кратко про Agile
Отправлено: Galogen от 25 Января 2008, 08:44:54
если воспринимать слово Agile как гибкий, адаптивный, то такой подход в практике применяется давно. Вспомним гибкие производственные технологии или гибкое управление производством. Целые направления были по автоматизации гибких производственных линий или АСУГП.

Т.е. идея адаптивности и гибкости привлекательна сама по себе, всегда идет противопоставление: механистические и органические, живой и не живой. Ясно, то, что адаптивно имеет шансы большие, чем что-то жесткое. Однако гибкость предполагает и устойчивость, ну как система хищник-жертва :)

Насколько я понимаю гибкая технология предъявляет еще большие требования к организации и дисциплине, чем любой "жесткий" процесс, а также, вероятно, к профессиональным навыкам каждого работника. Кроме того наличие самоорганизующейся команды, как мне кажется, предполагает большую замкнутость, либо процесс самоорганизации при изменении команды (или переходный процесс) должен быть практически мгновенным..
Название: Re: Кратко про Agile
Отправлено: bustor от 25 Января 2008, 10:11:38
Кроме того наличие самоорганизующейся команды, как мне кажется, предполагает большую замкнутость, либо процесс самоорганизации при изменении команды (или переходный процесс) должен быть практически мгновенным..
Мне думается, что процесс самоорганизации состоит не только в умении ограниченного числа участников взаимодействовать друг с другом эффективно, но и в умении принять в свою команду новичков и обучить их своим знаниям. Ведь даже любой животный вид вымрет, если в его гены не будет поступать "свежая кровь". :)
Соответственно, если команда не может принять в свои ряды новичка и продолжить работать эффективно - значит она еще не самоорганизующаяся. :)
Название: Re: Кратко про Agile
Отправлено: Григорий Печенкин от 25 Января 2008, 19:28:53
А рассказывать о "некоторых методов" не обязательно?? :)

Я, оказывается, всё это уже описал более подробно в блоге на it4business.ru:

http://it4business.ru/forum/index.php?automodule=blog&blogid=60&showentry=412#comments
Название: Re: Кратко про Agile
Отправлено: Григорий Печенкин от 07 Апреля 2008, 15:05:33
Совсем кратко про Agile.

Сайт agilerussia.ru перестал отвечать. Посмотрел по whois - срок оплаты домена заканчивается 10 апреля.

Попытался отправить письмо членам сообщества - сервер возвращает ошибку (может, потому что почтовые адреса тоже висят на домене agilerussia.ru)?
Название: Re: Кратко про Agile
Отправлено: bas от 07 Апреля 2008, 15:30:41
Написал Асхату, что-то он совсем законсултировался :)