Лабораторно упражнение 7: Гъвкави методологии (Agile)
Цел на упражнението
Целта на упражнението е студентите да разберат философията на гъвкавата разработка на софтуер, нейните ценности и принципи, както и причините за нейната доминираща роля в съвременната ИТ индустрия.
1. Въведение в Agile
Agile (в превод “гъвкав”) не е конкретна методология, а по-скоро набор от принципи и ценности, които насърчават итеративния подход при създаването на софтуер. Те са официално формулирани в Agile Manifesto през 2001 г.
2. Четирите основни ценности на Agile
Agile манифестът поставя акцент върху следните приоритети:
- Хората и взаимодействията пред процесите и инструментите.
- Работещият софтуер пред изчерпателната документация.
- Сътрудничеството с клиента пред преговорите по договора.
- Реагирането на промени пред стриктното следване на първоначалния план.
Забележка: Въпреки че елементите вдясно имат стойност, ние ценим повече тези вляво.
3. Дванадесетте принципа на Agile
Тези принципи служат като насоки за постигане на висока ефективност и качество:
- Удовлетвореност на клиента: Постига се чрез ранна и редовна доставка на функционален софтуер.
- Приемане на промените: Гъвкавост при промяна на изискванията, дори в напреднала фаза.
- Честа доставка: Предоставяне на работещи версии на софтуера в кратки интервали (от 2 седмици до 2 месеца).
- Ежедневно сътрудничество: Постоянна комуникация между бизнес екипите и разработчиците.
- Мотивирани екипи: Осигуряване на среда, подкрепа и доверие за специалистите.
- Директна комуникация: Личният разговор е най-ефективният начин за обмен на информация.
- Работещ софтуер: Това е основният измерител за напредъка на проекта.
- Устойчиво развитие: Поддържане на постоянно и равномерно темпо на работа без претоварване.
- Техническо съвършенство: Постоянен фокус върху качеството на кода и добрия дизайн.
- Простота: Максимизиране на количеството несвършена работа (фокус върху най-важното).
- Самоорганизация: Най-добрите резултати идват от екипи, които сами управляват задачите си.
- Редовна рефлексия: Периодичен анализ на работата и адаптиране на процесите за по-добра ефективност.