- •Вопросы к дифзачету по дисциплине «Управление проектами в области it»
- •1. Понятие проекта в сфере разработки по.
- •2. «Железный треугольник».
- •3. Отличия разработки по от других отраслей.
- •4. Проект и организационная структура компании. Различия между функциональной и проектной структурой.
- •5. Матричная организация компании. «Слабая», «сбалансированная» и «жесткая» матрицы.
- •6. Модель зрелости процессов создания по (cmm – Capability Maturity Model).
- •7. Жизненный цикл проекта. Стадии жизненного цикла проекта.
- •8. Модель «Code & Fix».(Проб и ошибок).
- •9. Модель водопада. Стадии, преимущества, недостатки.
- •11. Итеративная модель. Стадии, преимущества, недостатки.
- •12. Основные отличия итеративного подхода от модели водопада.
- •13. Методология rup
- •1. Начальная стадия (Inception)
- •2. Уточнение (Elaboration)
- •3. Построение (Construction)
- •4. Внедрение (Transition)
- •14. Спиральная модель.
- •15. Технология Microsoft Solutions Framework.
- •16. Понятие «экстремального программирования» (Extreme Programming - xp). Основные особенности хр.
- •17. Практики xp.
- •18. Планирование и оценка проекта. Основные этапы/действия.
- •19. Метод Дельфи оценки проекта.
- •20. Экспертный метод оценки проекта. Отличия от метода Дельфи.
- •21. Модель оценки стоимости проекта сосомо. Уровни сосомо.
15. Технология Microsoft Solutions Framework.
Microsoft Solutions Framework - Материал из Википедии
Методология разработки ПО Microsoft Solutions Framework (MSF)
ЛЕКЦИЯ 7. МЕТОДОЛОГИЯ MICROSOFT SOLUTIONS FRAMEWORK
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
Легче почитать по ссылкам. Много букв.
16. Понятие «экстремального программирования» (Extreme Programming - xp). Основные особенности хр.
Экстремальное программирование - Материал из Википедии
Просто хороший сайт с красивыми графиками
Название методологии исходит из идеи применить полезные традиционные методы и практики разработки программного обеспечения, подняв их на новый «экстремальный» уровень. Так, например, практика выполнения ревизии кода, заключающаяся в проверке одним программистом кода, написанного другим программистом, в «экстремальном» варианте представляет собой «парное программирование», когда один программист занимается написанием кода, а его напарник в это же время непрерывно просматривает только что написанный код.
XP отличается от других гибких методологий тем, что применимо только в области разработки программного обеспечения. Оно не может быть использовано в другом бизнесе или повседневной жизни, как scrum, kanban или lean.
Цель методики XP — справиться с постоянно меняющимися требованиями к программному продукту и повысить качество разработки. Поэтому XP хорошо подходит для сложных и неопределенных проектов
Методология XP строится вокруг четырех процессов: кодирования, тестирования, дизайна и слушания (аналитики). Кроме того, экстремальное программирование имеет ценности: простоту, коммуникацию, обратную связь, смелость и уважение.
Двенадцать основных приёмов экстремального программирования (по первому изданию книги Extreme programming explained) могут быть объединены в четыре группы:
Короткий цикл обратной связи (Fine-scale feedback)
— Разработка через тестирование (Test-driven development)
— Игра в планирование (Planning game) — быстро сформировать приблизительный план работы и постоянно обновлять его по мере того, как условия задачи становятся всё более чёткими
— Заказчик всегда рядом (Whole team, Onsite customer) — XP утверждает, что заказчик должен быть всё время на связи и доступен для вопросов.
— Парное программирование (Pair programming) — предполагает, что весь код создается парами программистов, работающих за одним компьютером. Один из них работает непосредственно с текстом программы, другой просматривает его работу и следит за общей картиной происходящего.
Непрерывный, а не пакетный процесс
— Непрерывная интеграция (Continuous integration) — В XP интеграция кода всей системы выполняется несколько раз в день, после того, как разработчики убедились в том, что все тесты модулей корректно срабатывают.
— Рефакторинг (Design improvement, Refactoring) — XP подразумевает, что однажды написанный код в процессе работы над проектом почти наверняка будет неоднократно переделан.
Тесты модулей позволяют разработчикам убедиться в том, что их код работает корректно. Они также помогают другим разработчикам понять, зачем нужен тот или иной фрагмент кода и как он функционирует. Тесты модулей также позволяют разработчику без каких-либо опасений выполнять рефакторинг. Разработчики XP безжалостно переделывают написанный ранее код для того, чтобы улучшить его
— Частые небольшие релизы (Small releases) — версии (releases) продукта должны поступать в эксплуатацию как можно чаще. Работа над каждой версией должна занимать как можно меньше времени. При этом каждая версия должна быть достаточно осмысленной с точки зрения полезности для бизнеса.
Понимание, разделяемое всеми
— Простота (Simple design) — XP исходит из того, что в процессе работы условия задачи могут неоднократно измениться, а значит, разрабатываемый продукт не следует проектировать заблаговременно целиком и полностью. Проектирование должно выполняться небольшими этапами, с учётом постоянно изменяющихся требований. В каждый момент времени следует пытаться использовать наиболее простой дизайн, который подходит для решения текущей задачи, и менять его по мере того, как условия задачи меняются.
— Метафора системы (System metaphor) — Архитектура — это представление о компонентах системы и их взаимосвязях между собой. Разработчикам необходимо проводить анализ архитектуры программного обеспечения для того, чтобы понять, в каком месте системы необходимо добавить новую функциональность, и с чем будет взаимодействовать новый компонент.
Метафора системы (system metaphor) — это аналог того, что в большинстве методик называется архитектурой. Метафора системы даёт команде представление о том, каким образом система работает в настоящее время, в каких местах добавляются новые компоненты, и какую форму они должны принять.
— Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) -означает, что каждый член команды несёт ответственность за весь исходный код. Таким образом, каждый вправе вносить изменения в любой участок программы. Парное программирование поддерживает эту практику: работая в разных парах, все программисты знакомятся со всеми частями кода системы. Важное преимущество коллективного владения кодом — в том, что оно ускоряет процесс разработки, поскольку при появлении ошибки её может устранить любой программист.
— Стандарт кодирования (Coding standard or Coding conventions) — в рамках XP необходимо добиться того, чтобы было сложно понять, кто является автором того или иного участка кода, — вся команда работает унифицированно, как один человек. Команда должна сформировать набор правил, а затем каждый член команды должен следовать этим правилам в процессе кодирования. Перечень правил не должен быть исчерпывающим или слишком объёмным. Задача состоит в том, чтобы сформулировать общие указания, благодаря которым код станет понятным для каждого из членов команды.
Социальная защищённость программиста (Programmer welfare)
— 40-часовая рабочая неделя (Sustainable pace, Forty-hour week)