ИТ-Мастерская «Учебник 4CIO»: что сделано за год? Марина Аншина, Председатель Комитета по стандартам Российского Союза ИТ-директоров 29 марта 2013 г. CRM План главы • • • • • • • • • • Что такое CRM: определения и словарь терминов Заблуждения, связанные с CRM Причины роста популярности CRM Новые средства CRM История CRM-систем Три типа CRM-систем Внедрение CRM Способы снижения рисков внедрения Что дает CRM компании Будущее CRM УПРАВЛЕНИЕ РАЗРАБОТКОЙ ПО Основные понятия • Программная инженерия • Жизненный цикл • Модель жизненного цикла Основные стандарты и методологии разработки ПО • Software Engineering Book of Knowledge (SWEBOK) • Project Management Book of Knowledge (PMBOK) (ссылка) • ГОСТ Р ИСО/МЭК 12207-2010 «Системная и программная инженерия. Процессы жизненного цикла программных средств» • • ГОСТ Р ИСО/МЭК 14764-2002 «Сопровождение программных средств» (развитие стандарта 12207 на один из этапов ЖЦ); ГОСТ Р ИСО/МЭК 15288-2005 «Информационная технология. Системная инженерия. Процессы жизненного цикла систем»; • PRojects IN Controlled Environments 2 (PRINCE2) • Серия стандартов ГОСТ 34 Модель зрелости разработки • Capability Maturity Model (CMM) -модель зрелости создания ПО • Capability Maturity Model Integration (CMMI) -- интегрированная модель зрелости создания ПО • Уровни зрелости модели CMMI Модели и методы проектов разработки ПО • Классические последовательные модели – программирование и исправление ошибок (Code-and-Fix); – каскадная модель (модель водопада). • Итеративные модели разработки – модель Rational Unified Process (RUP); – спиральная модель. • Гибкие методологии разработки (agile programming) – Scrum; – Extreme Programming (XP) • Сравнение гибких и классических методов разработки • Преимущества и недостатки каждой модели. Характеристики качества ПО ГОСТ Р ИСО/МЭК 9126 и 1994 • Функциональные возможности • Надежность • Практичность • Эффективность • Сопровождаемость • Мобильность Тенденции в разработке ПО • Средства описания требований к ПО • IDEF • ARIS • UML • Методы анализа программного кода • code review • статический анализ кода • динамический анализ кода • Способы тестирования – – – – – – – – – Регрессионное тестирование Дымовое тестирование Системное тестирование Интеграционное тестирование Тестирование сквозного процесса Интеграционно – функциональное тестирование Нагрузочное тестирование Тестирование документации Приемочное тестирование Врезки • • • • • • Внутренняя разработка и аутсорсинг История программирования Практические советы разработчикам ПО Проблемы, возникающие при разработке ПО О гибкой разработке О том, кто должен поддерживать собственные разработки • Особенности управления собственной командой разработчиков Замечания • • • • • • • • Полезно дать сравнение разных методологий разработки (agile, водопадная модель и т.п.) в привязке к различным типам компаний и бизнес-задач (бизнескритичные, жизненно-критичные и т.п. Не достаточно детально описана модель жизненного цикла Вообще не рассказано про популярную сейчас модель DevOps Полезно было бы в качестве иллюстрации организации процесса показать результирующий пример процесса с учетом инструментария Также полезно показать текущий ландшафт инструментальных средств (например, свежие отчеты Gartner) Можно также в качестве иллюстрации дать пример реального процесса и результатов (хорошо показывает возможные выгоды внедрения ALM сам Microsoft) Интересными могут быть примеры лучших практик, повышающих качество процесса разработки – статический анализ кода, метрики (можно даже дать примеры), код ревью, контроль архитектуры и т.п. Можно дать отдельные разделы по очень популярным темам continuous integration, continuous delivery ? СПАСИБО ЗА ВНИМАНИЕ