Лекция 5
Тема: Теория управления программными проектами
План
1. Управление разработкой программным продуктом
2.Классификация методов, моделей и стандартов разработки программного обеспечения.
3. Методология быстрой адаптивной разработки Agile.
Ключевые слова: Управле́ние разрабо́ткой програ́ммного обеспе́чения. Концептуальные модели. Эмпирические модели. Система Agile.
1.Управле́ние разрабо́ткой програ́ммного обеспе́чения (англ. Software project management) — особый вид управления проектами, в рамках которого происходит планирование, отслеживание и контроль за проектами по разработке программного обеспечения. Ключевым моментом в управлении проектом по разработке программного обеспечения является правильный выбор метода разработки
2. Подходы к выбору методологий, моделей и стандартов зависят от предполагаемой цели использования. Обычно методологии используются для разных задач.
Менеджмент и участники проектных команд должны сформировать единое понимание в отношении целей и методов управления ИТ-проектами и ИТ-компанией. Решение проблемы выбора требует двух типов компетенций:
во-первых, компетенций в области методологий,
во-вторых, компетенций в области подходов к выбору.
Для решения задачи выбора выполним классификацию методов, моделей и стандартов управления ИТ-проектами. На первом шаге определим возможные признаки группировки и выделим группы по этим признакам.
По характеру обоснования рекомендаций: концептуальные и эмпирические.
Концептуальные модели получены рационально-логическим методом, а эмпирические – чувственно-опытным. В основе концептуальных инструментальных средств лежат концепции теории менеджмента, такие как процессное управление и ре-инжиниринг бизнес-процессов, управление проектами, управление качеством. Универсальные концепции адаптируются к особенностям управления разработкой ПО, которую отличают проектный характер деятельности, технологическая гибкость процесса разработки, неопределенность требований в отношении ожидаемого результата и высокие риски.
Примером концептуальной модели является модель зрелости технологических процессов SEI (Capability Maturity Model, CMM). Концептуальной является методология PRINCE и рациональный унифицированный процесс (Rational Unified Process, RUP).
Эмпирические методологии разработаны на основе теоретического обобщения успешных практик ИТ-проектов. Примерами эмпирической модели служат SCRUM, XP, Crystal.
3. Когда мы участвуем в проектной работе, то замечаем, что наладить работу команды может быть достаточно сложно. И даже если она налажена, есть риск, что все усилия окажутся напрасными, ведь требования к необходимому результату часто меняются. Однако существенно упростить работу над проектом и научиться им управлять, тем самым повысив эффективность команды, можно при помощи системы гибкого управления проектами под названием Agile («Аджайл» или «Эджайл»).
Серьезно разрабатывать программное обеспечение и управлять проектами начали уже в 70-х годах прошлого века. Именно в 1970 году американский ученый-компьютерщик Уинстон Ройс составил документ, называвшийся «Управление развитием крупных программных систем». В нем он приводил критику последовательной разработки, указывая на то, что разработка программного обеспечения не должна походить на работу сборочной линии (как, например, делается в автомобильном производстве), где новые детали по очереди добавляются в последовательные фазы.
Вместо того чтобы ждать, пока будут поочередно завершены все этапы (фазы), Ройс предложил применять фазовый подход. Суть его в том, что изначально собираются все требования, необходимые для проекта, после чего завершается вся архитектура, создается дизайн, записывается код и т.д.
На основе этого в 90-х удалось создать комплекс гибких методов разработки ПО, способных заменить сложные и трудоемкие методы. Происходило это так:
В 1991 году появился метод быстрой разработки приложений RAD
В 1994 году появился метод разработки динамических систем DSDM
В 1995 году появилась платформа (фреймворк) гибкой разработки Scrum
В 1996 году появилась гибкая методология разработки Crystal Clear, а также экстремальное программирование XP
В 1997 году появилась итеративная методология разработки ПО FDD
Все вместе эти методы объединились под общим названием гибких методов разработки ПО.
Четыре года спустя – в 2001 году в штате Юта (США) на курорте Snowbird собрались семнадцать разработчиков программного обеспечения. В результате обсуждения методов разработки был опубликован «Манифест о гибкой разработке программного обеспечения Agile» (в переводе с английского понятие «agile» означает «подвижный», «проворный» или «быстрый», но в большинстве случаев его переводят именно как «гибкий»). Он и задал темп всей дальнейшей работе над созданием ПО.
Манифест, созданный программистами, включает в себя 4 базовых идеи и 12 принципов эффективного управления проектами. Любая из систем управления проектами на основе Эджайл (о системах мы поговорим позже) опирается именно на эти идеи и принципы, хотя и использует их в разных вариациях.
Do'stlaringiz bilan baham: |