TGViewer
Programming & QA Programming & QA @smartiqa · 323 subscribers
Post #234 206
Вопрос №24

Q: Расскажите про основные особенности Agile подхода к разработке ПО
A: Раньше продукты делали сразу целиком, т. е. в рамках каскадной модели (Waterfall model), где все происходит поэтапно и последовательно. Для этого они шли по цепочке:
1. идея
2. техзадание
3. дизайн
4. программирование
5. тестирование
6. Релиз

Если на этапе дизайна появлялась новая идея, приходилось игнорировать её или переделывать все предыдущие этапы. Это было неудобно — проект или получался хуже, чем мог бы, или растягивался во времени и не укладывался в бюджет. Прогрессивные разработчики стали пробовать новые подходы к работе. Так появились Скрам, Канбан и ещё с десяток новых техник. Команды могли тестировать и изменять продукты в процессе работы. Эксперименты оказались удачными: клиенты получали отличные продукты, разработчики выдерживали сроки и бюджеты, а размеры компании не влияли на продуктивность команд.

Чтобы найти формулу успешных продуктов, в 2001 году 17 практиков современных подходов собрались в маленькой горной деревушке Сноубёрд. Они обсудили свои стратегии разработки и сделали открытие: подходы у всех разные, но общие идеи совпадают. Эти идеи легли в основу «гибкой» философии, которую назвали Аджайлом. Их записали в Agile Манифесте и дополнили Принципами Аджайла.

Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD.

На что обратить внимание в определении?
1. Agile - серия подходов к разработке. Это значит, что Agile включает в себя целое семейство методик. И говорить, к примеру, что Agile - это SCRUM(хотя SCRUM и является самой популярной Agile методологией), абсолютно некорректно.
2. Agile подразумевает итеративную разработку. Работа идет короткими отрезками времени(спринтами), по окончанию отрезка - промежуточный вариант рабочего продукта. Работающий продукт выпускается как можно чаще, с периодичностью от пары недель до пары месяцев. Тем самым удовлетворяются потребности заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
4. Требования к продукту формируются динамически. Команды могут тестировать и изменять продукты в процессе работы — за это Agile подходы и назвали гибкими. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе. Изменение требований приветствуется, даже на поздних стадиях разработки.
5. Команда состоит из специалистов различного профиля.

Итого:
1. Самое главное люди и взаимодействие.
2. Работающий продукт важнее исчерпывающей документации(которую очень ча
More from @smartiqa
  1. Oct 1, 2026Вопрос №180 Q: Что такое хэш? Какой метод используется для его вычисления? A: Хеш-функция…
  2. Aug 29, 2026photo post
  3. Aug 26, 2026Вопрос №179 Q: Как удалить первые 100 элементов из списка? A: del my_lst[0:100]
  4. Aug 22, 2026photo post
  5. Aug 19, 2026Вопрос №178 Q: Что выведет данный код?
  6. Aug 15, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →