
- •Процесс оценки проекта на основе размерно-(функционально-)ориентированных метрик
- •Cocomo 81: принципы оценки, иерархия , типы по
- •Cocomo 2: модель композиции приложения
- •7.Cocomo 2: модель раннего этапа проектирования
- •8.Cocomo 2: модель этапа постархитектуры
- •9. Оценки на основе диаграммы вариантов использования
- •10. Case-средства: понятие, история появления и развития
- •11. Case-средства: понятие, структура и состав
- •12. Case-средства: понятие, классификация
- •Унифицированный процесс: понятие, измерения
- •14. Унифицированный процесс: понятие, управление риском
- •15. Этап начало унифицированного процесса: цели, действия, артефакты, веха
- •Этап развитие унифицированного процесса: цели, действия, артефакты, веха
- •Этап конструирование унифицированного процесса: цели, действия, артефакты, веха
- •Этап переход унифицированного процесса: цели, действия, артефакты, веха
- •Процесс «Управление проектом»: цели и содержание, роли и артефакты
- •Процесс «Бизнес-моделирование»: цели и содержание, роли и артефакты
- •Процесс «Управление требованиями»: цели и содержание, роли и артефакты
- •22.Процесс «Анализ и проектирование»: цели и содержание, роли и артефакты
- •23.Процесс «Реализация»: цели и содержание, роли и артефакты
- •24. Процесс «Тестирование»: цели и содержание, роли и артефакты
- •25.Процесс «Развертывание»: цели и содержание, роли и артефакты
- •26. Проблемы классического похода к разработке по и причины появления гибких методологий.
- •27. Манифест и принципы гибких методологий
- •28. Преимущества и область применения гибких методологий
- •29. Экстремальное программирование: понятие, базис xp
- •30. Экстремальное программирование: понятие, структура xp цикла разработки
- •31. Scrum процесс: понятие, роли scrum
- •32. Scrum процесс: понятие, мероприятия scrum
- •33. Scrum процесс: понятие, артефакты scrum
- •34. Scrum процесс: этапы командообразования в scrum
- •35. Scrum процесс: уровни команд в scrum
- •36. Scrum процесс: покер-планирование.
- •37. Scrum процесс: диаграмма сгорания и ее использование.
- •38. Scrum процесс: доска задач и ее использование
- •39.Разработка, управляемая тестированием (Test Driven Development)
- •40.Разработка, управляемая поведением (Behavior Driven Development)
28. Преимущества и область применения гибких методологий
Преимущества применения Agile
частые релизы — требования не успевают устаревать, частью функционала уже можно пользоваться;
фиксированная длина итераций — можно предсказывать скорость работы команды с учетом рисков;
команда сама оценивает задачи — оценки реалистичны, команда мотивирована выполнить свои обязательства;
команда самоуправляемая — 10 голов учтут больше чем одна очень умная;
в конце каждой итерации процесс работы оценивается и вносятся улучшения;
команда кроссфункциональная — границы отделов компании не являются препятствием при сотрудничестве, разнообразные навыки сочетаются и происходит синергия.
Область применения Agile
Спектр применения Agile довольно широк: от небольших студенческих стартапов, до крупных промышленных проектов размером в тысячи человеко-часов, как в локальной команде, так и в проекте с географически распределенными командами.
Agile может негативно сказаться на эффективности:
в проектах, которые являются инфраструктурными и имеют очень сложный процесс поддержки;
в проектах, где подтверждение технического задания требует очень длительного формального цикла;
если нет обратной связи с конечным пользователем системы или нет возможности у команды провести экспертизу в предметной области;
если команда состоит из недостаточно квалифицированных специалистов, которые не готовы к изменениям и внедрению прогрессивных подходов.
Наиболее известные гибкие методологии
Agile Modeling
Agile Unified Process
Agile Data Method
DSDM
Essential Unified Process (EssUP).
Экстремальное программирование (англ. Extreme programming, XP).
Feature driven development
Getting Real
OpenUP
Scrum
Бережливая разработка программного обеспечения (англ. lean software development) использует подходы из концепции бережливого производства.
29. Экстремальное программирование: понятие, базис xp
Экстремальное программирование (англ. Extreme Programming, XP) - одна из гибких методологий разработки программного обеспечения.
Основная идея ХР — устранить высокую стоимость изменения, характерную для приложений с использованием объектов, паттернов* и реляционных баз данных. Таким образом ХР - это упрощенный, эффективный, гибкий, предсказуемый, научно обоснованный и весьма приятный способ разработки программного обеспечения, предусматривающий низкий уровень риска.
Базис ХР образуют перечисленные ниже двенадцать методов могут быть объединены в четыре группы:
короткий цикл обратной связи;
непрерывный, а не пакетный процесс;
понимание, разделяемое всеми;
социальная защищенность программиста.
Методы XP-процесса:
Игра планирования (Planning game) — быстрое определение области действия следующей реализации путем объединения деловых приоритетов и технических оценок.
Частая смена версий (Small releases) — быстрый запуск в производство простой системы. Новые версии реализуются в очень коротком (двухнедельном) цикле.
Метафора (Metaphor) — вся разработка проводится на основе том, как работает вся система.
Простое проектирование (Simple design) — проектирование выполняется настолько просто, насколько это возможно в данный момент.
Тестирование (Testing) — непрерывное написание тестов для модулей, которые должны выполняться безупречно; заказчики пишут тесты для демонстрации законченности функций.
Реорганизация (Refactoring) — система реструктурируется, но ее поведение не изменяется; цель — устранить дублирование, улучшить взаимодействие, упростить систему или добавить в нее гибкость.
Парное программирование (Pair programming) — весь код пишется двумя программистами, работающими на одном компьютере.
Коллективное владение кодом (Collective ownership) — разработчик может улучшать в любое время любой код системы.
Непрерывная интеграция (Continuous integration) — система интегрируется и строится много раз в день, по мере завершения каждой задачи. Непрерывное регрессионное тестирование, то есть повторение предыдущих тестов, гарантирует, что изменения требований не приведут к регрессу функциональности.
40-часовая неделя (40-hour week) — как правило, работают не более 40 часов в неделю. Нельзя удваивать рабочую неделю за счет сверхурочных работ.
Локальный заказчик (On-site customer) — в группе все время должен находиться представитель заказчика, действительно готовый отвечать на вопросы разработчиков.
Стандарты кодирования (Coding standards) — должны выдерживаться правила, обеспечивающие одинаковое представление программного кода во всех частях программной системы.