Agile – сімейство процесів розробки, а не єдиний підхід у розробці програмного забезпечення. Agile не включає практик, а визначає цінності і принципи, якими керуються успішні команди. Включає в себе наступні методології: наступних методологій Extreme programming, Scrum, DSDM, Adaptive software development, Crystal Clear, Feature-driven development, Pragmatic Programming.
Основні ідеї:
- Особистості та їх взаємодія є важливішим, ніж процеси та інструменти;
- Працююче програмне забезпечення є важливішим, ніж повна документація;
- Співпраця з замовником важливіша, ніж контрактні зобов’язання;
- Реакція на зміни є важливішим, ніж дотримання плану.
Принципи:
задоволення клієнта за рахунок ранньої та безперебійної поставки цінного програмного забезпечення;
можливість змін вимог навіть наприкінці розробки (це може підвищити • конкурентоспроможність отриманого продукту);
- часта поставка робочого програмного забезпечення (кожен місяць або тиждень або ще частіше);
- тісне, щоденне спілкування замовника з розробниками протягом всього проекту;
- проектом займаються мотивовані особистості, які забезпечені потрібними умовами роботи, підтримкою і довірою;
- рекомендований метод передачі інформації – особиста розмова (обличчям до обличчя);
- працююче програмне забезпечення – кращий вимірювач прогресу;
- спонсори, розробники і користувачі повинні мати можливість підтримувати постійний темп на невизначений термін;
- постійна увага поліпшенню технічної майстерності і зручному дизайну;
- простота – мистецтво не робити зайвої роботи;
- кращі технічні вимоги, дизайн та архітектура виходять у самоорганізованої команди;
постійна адаптація до мінливих обставин.
Скрам (Scrum) – одна з найпопулярніших методологій гнучкої розробки. Scrum простий у використанні і робить акцент на якісному контролі процесу розробки.
У методології Scrum всього три ролі:
- Scrum Master
- Product Owner
- Team
Скрам Майстер (Scrum Master) – відповідає за успіх у проекті. По суті, Скрам Майстер є інтерфейсом між менеджментом і командою (менеджер проекту або тімліда). Важливо підкреслити, що Скрам Майстер не роздає завдання членам команди.
У Agile команда є самоорганізованою.
Основні обов’язки Скрам Майстра:
- Створює атмосферу довіри
- Бере участь у мітингах в якості фасилітатора
- Усуває перешкоди
- Робить проблеми і відкриті питання видимими
- Відповідає за дотримання практик і процесу в команді
- Скрам Майстер веде Daily Scrum Meeting і відстежує прогрес команди за допомогою Sprint Backlog, відзначаючи статус всіх завдань у спринті. ScrumMaster може також допомагати Product Owner створювати Backlog для команди.
Product Backlog – це пріоритезований список наявних на даний момент бізнес вимог і технічних вимог до системи. Product Backlog включає в себе use cases, defects, enhancements, technologies, stories, features, issues, і т.д .. Product backlog також включає завдання, важливі для команди, наприклад «провести тренінг», «додати всім пам’яті»
Product Backlog постійно переглядається і доповнюється – в нього включаються нові вимоги, видаляються непотрібні, переглядаються пріоритети. За Product Backlog відповідає Product Owner. Він також працює спільно з командою для того, щоб отримати наближену оцінку на виконання елементів Product Backlog для того, щоб більш точно розставляти пріоритети відповідно до необхідним часом на виконання.
Product Owner – це людина, яка відповідає за розробку продукту (представник замовника). Product Owner – це єдина точка прийняття остаточних рішень для команди в проекті.
Обов’язки Product Owner такі:
- Управляє очікуваннями замовників і всіх зацікавлених осіб
- Координує і пріорітизує Product backlog
- Надає зрозумілі вимоги команді
- Взаємодіє з командою і замовником
- Відповідає за приймання коду в кінці кожної ітерації
- Product Owner ставить завдання команді, але він не має права ставити завдання • конкретного члена проектної команди протягом спринту
Команда (Team). Команда бере на себе зобов’язання щодо виконання обсягу робіт на спринт перед Product Owner. Робота команди оцінюється як робота єдиної групи. У Scrum внесок окремих членів проектної команди не оцінюється, оскільки це розвалює самоорганізацію команди.
Обов’язки команди такі:
- Відповідає за оцінку елементів backlog
- Приймає рішення по дизайну
- Розробляє софт і надає його замовнику
- Відстежує власний прогрес (разом зі Скрам Майстром)
- Відповідає за результат перед Product Owner
Selenium – це інструмент для тестування Web-додатків.
Офіційний сайт: http://seleniumhq.org
Selenium на даний момент є найпопулярнішим іструментом для автоматизації тестування web-додатків, оскільки він: безкоштовний, гнучкий, працює безпосередньо через браузер, доступний в різних мовах програмування. Важливим є те що тести Selenium виконуються безпосередньо в браузері як це роблять звичайні користувачі.
2 головні переваги Selenium:
Створення тестових сценаріїв Selenium відтворює дії користувача, тобто додаток тестується з точки зору кінцевого користувача.
Можливість запуску тестів в різних браузерах, що полегшує визначення несумісності браузера.
Selenium працює з:
Браузери: Internet Explorer, Mozilla Firefox, Safari, Chrome
Операційні системи: Microsoft Windows, Mac OS, Linux
Зміст: