Методологии управления ИТ-проектами. ЛР 1. Программам бакалавриата Кафедра Информатика
Скачать 198.58 Kb.
|
Федеральное Агентство Связи Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики» Центр заочного обучения по программам бакалавриата Кафедра «Информатика» Дисциплина: Программная инженерия Лабораторная работа №1 «Методологии управления ИТ-проектами» Выполнил: Алябьев Е.Н., студент группы БСТ2055 Москва 2021 Задание 1.В 1997 году выходит статья «MESSY, EXCITING, AND ANXIETY-RIDDEN: ADAPTIVE SOFTWARE DEVELOPMENT» Джима Хигсмита, в которой он описывает адаптивную методологию разработки программного (Adaptive software development, сокращенно ASD). Ключевой особенностью данной методологии является новый взгляд на отношение к требованиям и проекту, подразумевается возможность их постоянного изменения, к чему она и стремиться адаптироваться. Превалирующий классический жизненный цикл проекта: планирование-проектирование-конструирование здесь модифицирован и представлен последовательностью: обдумывание-взаимодействие-обучение (speculate-collaborate-learn). В 1999 году выходит книга «Extreme Programming Explained: Embrace Change» [12], описывающая методологию экстремального программирования, авторами которой являются Кент Бек, Уорд Каннингем и Мартин Фаулер. Экстремальное программирование, как и ASD ориентируется на постоянное изменение требований и предлагает 12 методик способствующих эффективному процессу разработки в подобных условиях: Игра в планирование (planning game) – быстрое создание приблизительного плана работы и его постоянное обновление; Небольшие версии (small releases) – частый выпуск небольших версий продукта; Метафора (metaphor) – краткое описание работы системы; Простой дизайн (simple design) – применительно к архитектуре; Тестирование (testing) – стоит отметить что данная методика в дальнейшем выделилась в отдельную методологию разработки именуемую «Test Driving Development» (TDD); Переработка (refactoring); Парное программирование (pair programming) – одновременное участие в работе над задачей двух разработчиков; Коллективное владение кодом (collective ownership); Непрерывная интеграция (continuous integration) – частое внедрение разработок; 40-часовая неделя (40-hour week); Заказчик на месте разработки (on-site customer); Стандарты кодирования (coding standards). В 2001 году в США, штате Юта, подписывается манифест гибкой методологии разработки программного обеспечения «Agile Manifesto», Agile представляет собой семейство методологий разработки в которое вошли такие как: экстремальное программирование, SCRUM, DSDM, ASD, мало известная методология Crystal, FDD, Pragmatic Programming и прочие. Agile определяет 12 принципов, которых стоит придерживаться : 1. Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, обеспечиваемой посредством регулярной и ранней поставке ценного программного обеспечения. 2. Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества. 3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев. 4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе. 5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им. 6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды. 7. Работающий продукт — основной показатель прогресса. 8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки. 9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта. 10. Простота — искусство минимизации лишней работы — крайне необходима. 11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд. 12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы. В том же 2001 году выходит методология разработки от компании IBM, называющаяся Rational Unified Process (RUP), которая описывает как эффективно использовать коммерчески проверенные подходы к разработке программного обеспечения. RUP обеспечивает членов команды руководящими принципами, шаблонами и инструментальными наставлениями, необходимыми для всей команды, чтобы в полной мере воспользоваться следующими практиками: Разрабатывайте программное обеспечение итеративно; Управляйте требованиями; Используйте компонентную архитектуру; Визуализируйте модель программы; Проверяйте качество программы; Контролируйте изменения программы. Рис. 2. Рабочие процессы RUP Ядро RUP составляют следующие рабочие процессы, пересечение которых показано на рисунке 2., среди которых 6 процессов инжиниринга и 3 вспомогательных процесса: Бизнес моделирование (Business Modeling); Требования (Requirements); Анализ и дизайн (Analysis & Design); Реализация (Implementation); Тестирование (Test); Развертывание (Deployment); Управление проектами (Project Management); Конфигурация и изменение (Configuration & Change); Управление (Management); Среда (Environment). К самым последним новшествам в области методологий разработки программного обеспечения можно отнести вышедшую в 2006 году книгу компании 37signals «Getting Real» , в которой описывается одноименная методология, всецело направленная на минимизацию каких либо бюрократических издержек, вроде составления спецификации или штатного расписания. В данном подходе к разработке рекомендуется начинать разработку с дизайна интерфейса, затем переходить к самому интерфейсу и уже в конце к программированию. Таким образом, подразумевается в кратчайшие сроки выпустить минимальную версию продукта и развивать ее, что в наибольшей степени подходит для веб проектов. Getting Real предлагается в первую очередь для использования в небольших компаний и командах, где различные организационные обязательства не являются необходимым условием выживания и лишь обременяют коллектив. В целом данная методология соответствует, либо способствует большей части принципов описанных в экстремальном программирование и манифесте гибких методологий. Помимо этого, методология затрагивает такие области знаний, как: Управление приоритетами; Управление коммуникациями; Управление персоналом; Управление ценообразованием; Продвижение; Поддержка. Заключение. Рассмотрены основные методологии, применяющиеся в управление информационными проектами, установлены этапы жизненного цикла проектов, присущие отдельным из них, основополагающие принципы и свойственные приоритеты, а также сильные стороны и основные отличия от предшествующих методологий. На протяжение развития методологий можно наблюдать изменения в расстановке приоритетов от время-функционал к время-ресурсы. Более того, последние версии методологий подразумевают постоянное изменение функциональных требований. Наибольшая формализация методологий и процессов наблюдалась к концу первой полвины 90-х годов, после чего стали набирать популярность облегченные версии. Задание 2
Задание 3.
Задание 4.Презентация на методологию SCRUM. |