Что такое гибкая методология?
Методология AGILE — это практика, которая способствует непрерывной итерации разработки и тестирования в течение всего жизненного цикла разработки программного обеспечения проекта. Как разработка, так и тестирование выполняются одновременно, в отличие от модели Waterfall
Гибкая разработка программного обеспечения делает упор на четырех основных ценностях.
- Индивидуальное и командное взаимодействие над процессами и инструментами
- Рабочее программное обеспечение над исчерпывающей документацией
- Сотрудничество с клиентом в рамках переговоров по контракту
- Реагирование на изменения после плана
В этом уроке по разработке программного обеспечения вы узнаете
- Что такое гибкая методология?
- Agile Vs Waterfall Метод
- Scrum
- Резерв продукта
- Scrum Practices
- Ход выполнения методологии Scrum:
- экстремальное программирование (XP)
- Этапы программирования eXtreme:
- Кристалл Методологии
- Метод динамической разработки программного обеспечения (DSDM)
- Функционально управляемая разработка (FDD)
- Бережливая разработка программного обеспечения
- Kanban
- Agile метрики
Agile Vs Waterfall Метод
Модель Agile и Waterfall — это два разных метода процесса разработки программного обеспечения. Хотя они разные в своем подходе, оба метода иногда полезны, в зависимости от требований и типа проекта.
Проворная модель |
Модель водопада |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Гибкая методология
В гибком тестировании присутствуют различные методы , и они перечислены ниже:
Scrum
SCRUM — это метод быстрой разработки, который концентрируется именно на том, как управлять задачами в командной среде разработки. В основном, Scrum происходит от активности, которая происходит во время матча по регби. Scrum верит в расширение возможностей команды разработчиков и выступает за работу в небольших группах (скажем, от 7 до 9 человек). Он состоит из трех ролей, и их обязанности объясняются следующим образом:
-
Скрам Мастер
-
Мастер отвечает за настройку команды, спринтерские встречи и устраняет препятствия для прогресса
-
-
Владелец продукта
-
Владелец продукта создает бэклог продукта, расставляет приоритеты в бэклоге и отвечает за доставку функциональности на каждой итерации
-
-
Scrum Team
-
Команда управляет своей работой и организует работу для завершения спринта или цикла
-
Резерв продукта
Это репозиторий, в котором отслеживаются требования с подробной информацией об отсутствии требований (пользовательских историй), которые необходимо заполнить для каждого выпуска. Владелец продукта должен поддерживать и расставлять приоритеты, а также передавать его команде разработчиков. Команда также может запросить добавление, изменение или удаление нового требования.
Scrum Practices
Практики описаны подробно:
Ход выполнения методологии Scrum:
Ход выполнения скрам-тестирования выглядит следующим образом:
-
Каждая итерация схватки называется Sprint
-
Бэклог продукта — это список, в который вводятся все детали для получения конечного продукта.
-
Во время каждого Спринта отбираются лучшие пользовательские истории из Журнала незавершенного производства и превращаются в Журнал незавершенного производства.
-
Команда работает над заданным спринтом
-
Команда проверяет на ежедневную работу
-
В конце спринта команда обеспечивает функциональность продукта
экстремальное программирование (XP)
Техника экстремального программирования очень полезна, когда от клиентов постоянно меняются требования или требования, или когда они не уверены в функциональности системы. Он защищает частые «выпуски» продукта в короткие циклы разработки, что по своей сути повышает производительность системы, а также вводит контрольную точку, где могут быть легко реализованы любые требования заказчика. XP разрабатывает программное обеспечение, удерживая клиента в целевом положении.
Бизнес-требования собраны с точки зрения истории. Все эти истории хранятся в месте, называемом парковкой.
В методологии этого типа выпуски основаны на более коротких циклах, называемых итерациями с периодом 14 дней. Каждая итерация включает в себя этапы, такие как кодирование, модульное тестирование и системное тестирование, где на каждом этапе в приложение будут встроены некоторые второстепенные или основные функции.
Этапы программирования eXtreme:
В методе Agile XP доступно 6 фаз, которые объясняются следующим образом:
планирование
-
Определение заинтересованных сторон и спонсоров
-
Требования к инфраструктуре
-
Информация и сбор, связанные с безопасностью
-
Соглашения об уровне обслуживания и его условия
Анализ
-
Захват историй на парковке
-
Расставьте приоритеты на парковке
-
Очистка историй для оценки
-
Определить итерацию SPAN (время)
-
Планирование ресурсов для команд разработчиков и QA
дизайн
-
Распределение задач
-
Подготовка тестового сценария к каждому заданию
-
Система автоматизации регрессии
выполнение
-
кодирование
-
Модульное тестирование
-
Выполнение сценариев ручного тестирования
-
Генерация отчета о дефектах
-
Преобразование ручного теста в автоматизированный регрессионный тест
-
Обзор средней итерации
-
Конец обзора итерации
Упаковка
-
Небольшие релизы
-
Регрессионное тестирование
-
Демоверсии и обзоры
-
Разработка новых историй, основанных на необходимости
-
Улучшения процесса, основанные на комментариях к концу итерации
закрытие
-
Пилот Старт
-
Подготовка
-
Запуск производства
-
SLA Гарантийное обеспечение
-
Обзор стратегии SOA
-
Поддержка производства
Для ежедневного отслеживания работы доступны две раскадровки, которые перечислены ниже для справки.
-
История картона
-
Это традиционный способ сбора всех историй на доске в виде заметок для отслеживания ежедневных действий с XP. Поскольку это ручное занятие требует больше усилий и времени, лучше перейти на онлайн-форму.
-
-
Онлайн раскадровка
-
Online tool Storyboard can be used to store the stories. Several teams can use it for different purposes.
-
Crystal Methodologies
Crystal Methodology is based on three concepts
-
Chartering: Various activities involved in this phase are creating a development team, performing a preliminary feasibility analysis, developing an initial plan and fine-tuning the development methodology
-
Cyclic delivery: The main development phase consists of two or more delivery cycles, during which the
- Team updates and refines the release plan
- Implements a subset of the requirements through one or more program test integrate iterations
- Integrated product is delivered to real users
- Review of the project plan and adopted development methodology
- Wrap Up: The activities performed in this phase are deployment into the user environment, post- deployment reviews and reflections are performed.
Dynamic Software Development Method (DSDM)
DSDM is a Rapid Application Development (RAD) approach to software development and provides an agile project delivery framework. The important aspect of DSDM is that the users are required to be involved actively, and the teams are given the power to make decisions. Frequent delivery of product becomes the active focus with DSDM. The techniques used in DSDM are
- Time Boxing
- MoSCoW Rules
- Prototyping
The DSDM project consists of 7 phases
- Pre-project
- Feasibility Study
- Business Study
- Functional Model Iteration
- Design and build Iteration
- Implementation
- Post-project
Feature Driven Development (FDD)
This method is focused around «designing & building» features. Unlike other agile methods, FDD describes very specific and short phases of work that has to be accomplished separately per feature. It includes domain walkthrough, design inspection, promote to build, code inspection and design. FDD develops product keeping following things in the target
- Domain object Modeling
- Development by feature
- Component/ Class Ownership
- Feature Teams
- Inspections
- Configuration Management
- Regular Builds
- Visibility of progress and results
Lean Software Development
Lean software development method is based on the principle «Just in time production». It aims at increasing speed of software development and decreasing cost. Lean development can be summarized in seven steps.
- Eliminating Waste
- Amplifying learning
- Отложить обязательство (принять решение как можно позже)
- Ранняя доставка
- Расширение возможностей команды
- Строительная целостность
- Оптимизировать весь
Kanban
Канбан изначально возник из японского слова, означающего, что карта, содержащая всю информацию, необходимую для обработки продукта на каждом этапе его пути к завершению. Этот каркас или метод вполне принят в методе тестирования программного обеспечения, особенно в гибком тестировании.
Скрам против Канбан
Scrum |
Kanban |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Agile метрики:
Метрики, которые можно собрать для эффективного использования Agile:
-
Drag Factor
-
Усилия в часах, которые не способствуют цели спринта
-
Коэффициент перетаскивания можно улучшить, сократив количество общих ресурсов, сократив объем незавершенной работы.
-
Новые оценки могут быть увеличены на процент коэффициента сопротивления -Новая оценка = (Старая оценка + коэффициент сопротивления)
-
-
Скорость
-
Количество невыполненных заданий (пользовательских историй), преобразованных в отправляемую функциональность спринта
-
-
Количество юнит-тестов добавлено
-
Интервал времени, необходимый для завершения ежедневной сборки
-
Ошибки, обнаруженные в итерации или в предыдущих итерациях
-
Утечка производственных дефектов