Культура промышленной разработки программного обеспечения Лекция 1 Воронежцев С.А., Затолокин А.В., Крапивин А.А. ФИВТ МФТИ 2013
Программа курса Жизненный цикл ПО Принципы и методологии разработки ПО Организация гибкой разработки ПО Методы контроля качества Современный инструментарий разработки ПО Особенности управления проектами при гибкой разработке ПО Сопровождение и поддержка ПО
Структура курса и система контроля Лекция (1 ак. час) + практика ( 1 ак. Час) Виды практических занятий: – Scrum-meeting (0-5 баллов) – «Попробуйте прямо сейчас» (0-5 баллов) Самостоятельная работа – Meeting Notes – заcчитывается 5 Meeting Notes из 10ти попыток (баллы засчитываются всей команде)
Конвертация в баллы практикума 0-4 балла - 0 баллов практикума 5-8 баллов - 1 балл практикума 9-12 баллов - 2 балла практикума баллов - 3 балла практикума Подробности на странице практикума
Особенности индустрии ПО Классическое производство Производство ПО Стоимость обновления готовых изделий Стоимость обновления стремится к 0 Сначала проектирование, и только потом - изготовление и использование Проектирование, изготовление и использование могут быть совмещены Дефекты ведут к возвратам продукции Дефекты устраняются обновлением ПО
Жизненный цикл ПО
Современные вызовы Сокращение сроков выхода ПО Наращивание функционала ПО Высокое качество Уменьшение стоимости разработки и владения Неопределенность и изменчивость требований
Водопадная (каскадная) модель
«Подводные камни» водопадной модели
Гибкая (Agile) модель
Строительство самолёта по Agile
Почему Agile?
Где наиболее эффективен Agile? Где неясные или нечеткие требования к продукту Где важен новый функционал в короткие сроки В небольших командах, «которые можно накормить двумя пиццами»
Agile-манифест разработки ПО Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что: Люди и взаимодействие важнее процессов и инструментов Работающий продукт важнее исчерпывающей документации Сотрудничество с заказчиком важнее согласования условий контракта Готовность к изменениям важнее следования первоначальному плану То есть, не отрицая важности того, что справа, мы всё таки больше ценим то, что слева. (