Въведение в Agile и Scrum

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

Нека разберем отличителното предимство на Agile пред традиционната методология за управление на проекти:

Традиционен подход:

  • Подробно планиране преди старта
  • Позволява да се приемат минимални промени
  • Фиксирана дефиниция на проекта

Agile подход:

  • Необходимо е минимално планиране преди началото
  • Ще приеме и ще се адаптира към промените
  • Фиксирано време и разходи

Scrum е най-широко използваният и популярен подход за прилагане на гъвкава методология.

Ще стигнем до раздела за scrum скоро, но първо, нека да видим повече за гъвкавата рамка.

Принципи зад Agile Manifesto

  1. Удовлетвореността на клиентите е от най-висок приоритет, който се постига чрез непрекъсната и ранна доставка на ценен софтуер.
  2. Доставете работещ софтуер за кратък период от време с непрекъснато разработване на нов софтуер / продукти в линията, следвайки същия подход.
  3. Би трябвало да можем да отговорим на променящите се изисквания, дори и да дойде късно по време на жизнения цикъл на SDLC.
  4. Членовете на екипа трябва да бъдат мотивирани винаги и за това трябва да се осигури достатъчно подкрепа и добра среда.
  5. Разработчиците и бизнесмените трябва да работят заедно всеки ден по време на проекта.
  6. Най-ефективният начин за разговор се счита за взаимодействието лице в лице.
  7. Устойчиво развитие. Всички членове на екипа трябва да могат да поддържат постоянен темп.
  8. Работещият продукт / софтуер се счита за основната мярка за напредък.
  9. В края на деня основният акцент трябва да бъде техническото съвършенство и здравият дизайн.
  10. Простотата трябва да се спазва през целия SDLC процес
  11. Екипите всъщност трябва да демонстрират постоянна ефективност и да приемат всякакви промени, за да повишат ефективността.
  12. Здравият дизайн и архитектура идват от самоорганизиращи се екипи.

Подходи за гъвкаво внедряване:

Линк: https://goo.gl/images/fkZqGe

  1. SCRUM - Това е итеративен подход, при който има нещо наречено като спринтове, които продължават до една или две седмици. Този подход позволява на екипите да доставят работещия продукт или софтуера редовно.
  2. Kanban - За да се приложи гъвкавост, този подход използва визуална рамка. Тук няма спринтове с фиксирана дължина и екипът получава задачата от приоритет закъснение.
  3. Екстремно програмиране (XP) - Този подход има за цел да подобри качеството на софтуера и отзивчивостта, като включва простота, обратна връзка и приемане на промени.
  4. Развитие на функция (FDD) - Този подход включва 5 основни дейности, които са - Разработване на цялостен модел, изграждане на списък с функции, план по функция, проектиране по функция и изграждане по функция.
  5. Разработка на адаптивни системи (ASD) - Този подход може да се използва за изграждане на сложен софтуер и системи и се фокусира най-вече върху екипното сътрудничество и самоорганизация. Тя включва 3 итеративни дейности, които са - Спекулирайте, сътрудничете и научете.
  6. Метод за развитие на динамична система - DSDM е гъвкав подход, който следва итеративен и инкрементален подход, който до голяма степен се основава на методологията за бързо разработване на приложения. Той се справя с често срещаните провали на проекти като проблеми с бюджета на проекта, липсващи срокове и т.н.
  7. Lean Софтуерна разработка - Lean Софтуерна разработка е гъвкав подход, който има 7 основни принципа, а тези са: Елиминиране на отпадъците, Овластяване на екипа, Доставяне на бързо, Оптимизиране на цялото, Вграждане на качеството, Отлагане на решения и Увеличаване на обучението.

Какво е Scrum?

В предишните раздели вече видяхме подходите, които се използват за изпълнение на процеса Agile и Scrum беше един от тях, Scrum е един от най-важните и най-широко използваните Agile методология. Scrum е итеративен подход, при който има нещо, наречено спринтове, които продължават до една или две седмици. Този подход позволява на екипите да доставят работещия продукт или софтуера редовно. Тук отговорностите, ролите и срещите се решават в Scrum, а спринтовете са графици, където има планиране на спринт, демонстрация на спринт, ежедневна резервация и ретроспектива на спринта.

Роли на Scrum / Scrum Teams:

Линк: https://goo.gl/images/XpNHBe

  1. Scrum Master - Scrum Master е роля, която отговаря за екипа на Scrum да следва методологията на Scrum. Scrum Master организира срещи, насърчава екипа, улеснява планирането и проследяването, справя се с предизвикателства и се справя с тесните места. Scrum Master също така комуникира със Собственика на продукта, за да се увери, че задръстването на продукта е готово за следващия спринт.
  2. Собственик на продукта - Собственикът на продукта отговаря за анализа и комуникацията на версията на софтуера с екипа на Scrum. Собственикът на продукта също координира с Scrum Master, за да вземе решение за изоставането на продуктите за спринтовете.
  3. Екип за разработка - Екипът за разработка се състои от професионалисти, които отговарят за непрекъснатото разработване, тестване и доставка на софтуера. Те определят как да се доставят парчета произведения с чести стъпки.

Стъпки в Scrum Flow:

Линк: https://goo.gl/images/6YTUPf

  1. Product Backlog - Product Backlog поддържа списъка с характеристиките на продукта. Отговорност на собственика на продукта и на Scrum Master е да определят приоритетите на артикулите с изоставане въз основа на потребителски истории и изисквания.
  2. Планиране на спринти - Това е среща, която се улеснява от майстора на Scrum, където собственикът на продукта представя детайлите на изоставането на продукта, определя критериите за приемане на доставката и екипа за разработка, които определят работата и усилията, които са прогресирали ежедневно.
  3. Прецизиране на закъсненията - За да поддържаме актуализацията на продукта, използваме преработка на изоставането. Тук потребителските истории са разделени на по-малки части и всички нерелевантни потребителски истории се премахват
  4. Daily Scrum - Това е ежедневна среща за 15 минути, на която се обсъждат три въпроса, които са: Какво е направено вчера, какъв е планът за днес и какви са пречките.
  5. Среща за преглед на спринта - Тази среща се провежда в края на всеки спринт, където се представя демонстрация на живо, за да се покаже какво е постигнато през спринта.
  6. Ретроспективна среща на спринта - Можем да наречем тази среща и като среща за успех, където екипът обсъжда процеса, който е работил или който не е работил по време на спринта с техните решения.

заключение

В тази статия видяхме, че Agile е методология за разработка на софтуер, която има честотна лента, за да се адаптира бързо към променящите се изисквания на проекта и да се адаптира към разработването на нов продукт, докато проектът е в ход или след приключване на проекта за разлика от традиционното управление на проекти, докато Scrum е най-използваният и популярен подход за прилагане на гъвкавата методология.

Препоръчителни статии

Това е ръководство за Какво е Agile и Scrum. Тук обсъдихме различните подходи на Agile и Scrum. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Какво е изкуствен интелект
  2. Въпроси за интервю на Agile Scrum
  3. Какво е SDLC
  4. Agile срещу Scrum срещу водопад