CodeGym/Java курс/Модул 3/Гъвкава методология за разработка – Agile

Гъвкава методология за разработка – Agile

На разположение

Гъвкав модел

Гъвкавата (Agile) методология помага за намаляване на риска при разработката на софтуер чрез преместване на работния процес в няколко малки цикъла. Тези цикли се наричат ​​итерации и обикновено продължават две до три седмици.

Итерацията е като малък софтуерен проект, който се състои от задачи, всяка от които подобрява функционалността. Те включват: изготвяне на план, оценка на изискванията, съгласуване на проект, писане на code, тестване и създаване на техническа documentация.

Една итерация обикновено не е достатъчна за пълноценно издание на софтуера. Хубавото на Agile обаче е, че малки части от проекта са готови за оценка в края на всяка итерация. Това позволява на членовете на екипа да променят приоритетите за по-нататъшна работа, без да чакат окончателното издание.

Прилагайки „гъвкава“ методология за разработка, можете да видите конкретен резултат след всяка итерация. Тоест, разработчикът може да разбере дали резултатът от работата му отговаря на изискванията or не. Това е едно от важните предимства на гъвкавия модел.

Що се отнася до минусите, когато се използва Agile, понякога е трудно да се оцени цената на трудовите ресурси и бюджета на проекта. Ако вземем вариантите за практическо приложение на гъвкавия модел, то най-известният сред тях е Extreme Programming (XP).

XP се основава на кратки срещи на членовете на екипа, които се провеждат всеки ден, и редовни срещи (веднъж седмично or по-рядко). На ежедневните митинги (daily standup) обикновено се обсъждат:

  • текущи резултати от работата;
  • списък със задачи, които трябва да бъдат изпълнени от всеки член на екипа;
  • срещани трудности и начини за тяхното разрешаване.

Манифест

Agile е цяло направление в развитието, така че правилата за работа по него са декларирани в специален document - Agile Manifesto. Това включва Howто практики, така и принципи, по които трябва да работи екипът.

Agile Manifesto се състои от 4 основни идеи и 12 принципа.

Ключови идеи:

  • сътрудничеството между разработчиците е по-важно от инструментите;
  • работната version на продукта има предимство пред documentацията;
  • взаимното разбирателство между екипа и клиента е по-важно от условията на договора;
  • Първоначалният план винаги може да бъде променен, ако е необходимо.

Що се отнася до 12-те принципа на Agile, ето ги:

  • основен приоритет е съответствието на готовата програма с очакванията на клиента;
  • промяната на условията е разрешена на всеки етап, дори на последния етап от разработката (ако това може да подобри качеството и конкурентоспособността на софтуера);
  • редовна доставка на работещи версии на софтуерния продукт (на всеки 14 дни, месец or тримесечие);
  • ключът към успеха е редовното взаимодействие между клиента и разработчиците (за предпочитане ежедневно);
  • да се изграждат проекти сред тези, които се интересуват от тях, да се осигурят на такива хора необходимите условия за работа и всяHowва подкрепа;
  • най-добрият начин за споделяне на информация в екип е личната среща;
  • работещата version на софтуера е най-добрият показател за напредък;
  • всички заинтересовани страни трябва да могат да поддържат желаното темпо на работа през целия процес на разработка на софтуер;
  • техническото подобрение и добрият дизайн подобряват гъвкавостта;
  • важно е да го поддържате просто и да не създавате прекалено много;
  • най-добри резултати се получават от тези екипи, които са способни да се самоорганизират;
  • членовете на екипа трябва редовно да мислят за начини за подобряване на тяхната ефективност чрез промяна на работния процес.

Според манифеста на Agile добрият процес на разработка на софтуер зависи пряко от хората, които участват в този процес. За да направите това, трябва да организирате тяхното взаимодействие възможно най-ефективно, да създадете най-организирания екип.

Методологии

Има и няколко методологии в Agile Manifesto, които обясняват ценностите и принципите:

  • Гъвкаво моделиране;
  • Agile Unified Process;
  • Agile Data Method
  • Бърза разработка на applications (DSDM);
  • Съществен унифициран процес;
  • екстремно програмиране;
  • развитие, управлявано от функции;
  • Getting Real;
  • Отвори;
  • Scrum.

Гъвкавото моделиране е колекция от принципи, термини и практики, които ускоряват и опростяват разработването на софтуерни модели и documentация.

Целта на Agile Modeling е да подобри моделирането и documentацията. Важно е да се отбележи, че това не включва codeиране, тестване or проблеми, свързани с контрола на проекта, внедряването и поддръжката. Тази методология обаче включва преглед на codeа.

Agile Unified Process е методология, която улеснява потребителите да приближават (моделират). Обикновено се използва за разработване на търговски софтуер.

Agile Data Method – няколко сходни методологии, при които клиентските условия се постигат чрез сътрудничеството на няколко екипа.

DSDM - този подход се различава от другите по това, че заедно с разработчиците, потребителите на бъдещия продукт вземат активно участие в него.

Разработката, управлявана от функции, е методология за разработка, която има ограничение във времето: „всяка функция трябва да бъде внедрена не повече от две седмици.“

Струва си да се има предвид, че ако случаят на използване е малък, това може да се счита за функция. Ако е значимо, то трябва да бъде разделено на няколко функции.

Getting Real е итеративна методология, при която първо се разработва интерфейсът на програмата и едва след това нейната функционалност.

OpenUP е метод за разработка, който разделя цикъла на проекта на четири етапа: начало, усъвършенстване, изграждане и предаване.

Според принципите на Agile, независимо от продължителността на работата, е необходимо да се осигури на всички заинтересовани страни и членове на екипа начин за запознаване и вземане на решения. Благодарение на това е възможно ефективно да се контролира ситуацията и да се оценят междинните резултати навреме. Планът на проекта определя жизнения цикъл, а крайният резултат трябва да се счита за стабилна version на приложението.

Що се отнася до Scrum, той регулира правилата за управление на процеса на разработка и ви позволява да прилагате съществуващи практики за codeиране с възможност за коригиране на условията or извършване на промени. Използването на тази методология ви позволява да видите и премахнете отклоненията от очаквания резултат в ранните етапи на развитие.

Нека да разгледаме това малко по-подробно...

Коментари
  • Популярен
  • Нов
  • Стар
Трябва да сте влезли, за да оставите коментар
Тази страница все още няма коментари