SOFTWARE ENGINEERING 
Yury Chernushenko 
или как его по-русски
ПРАВИЛА 
• Нет формализму (все на ты) 
• Задавыайте вопросы 
• Ведите себя профессионально 
• No bullshit 
• Участие важнее присутствия 
• Записывайте 
• Обратная связь (пришлю опрос) 
• Be excellent to each other 
Yury Chernushenko 
2
ЦЕЛИ 
• Разобраться что такое Software Engineering 
• Получить практические навыки и технологии 
• Решить существующие проблемы в командах 
Yury Chernushenko 
3
ЧТО ТАКОЕ SE 
CS! 
Computer Science 
Yury Chernushenko 
SE 
Software Engineering 
Языки программирования/ 
Алгоритмы/ 
Структуры данных/ 
Сетевые технологии / 
… 
Организация работы команды/ 
Управление качеством/ 
Планирование и контроль / 
Моделирование / 
… 
VS 
Чему учили в CMU (основные курсы):! 
• Models of Software Systems/ 
• Methods: Deciding What to Design/ 
• Managing Software Development/ 
• Introduction to Personal Software Process/ 
• Analysis of Software Artifacts/ 
• Architectures for Software Systems/ 
• MSIT Project 
4
ЧТО ПОЧИТАТЬ 
Yury Chernushenko 
Мифический человеко-месяц 
(Ф. Брукс) 
/ 
«Если проект не укладывается в 
сроки, то добавление рабочей 
силы задержит его еще больше» 
/ 
«Время выполнения проекта не 
обратно пропорционально числу 
программистов … » 
5
РАБОТА В КОМАНДЕ 
• Учитывайте типы личностей в вашей команде/ 
Yury Chernushenko 
6 
• Экстроверт - Интроверт/ 
• Сенсорик - Интуит/ 
• Логик - Этик/ 
• Рационал - Иррационал/ 
• “Разработчики - дети по психологическому развитию” (bobuk)/ 
• Как вы организовываете встречи?/ 
• Место / 
• Тип встречи (Brainstorming, Problem solving, SCRUM, 
представление результатов)/ 
• Agenda/ 
• Meeting minutes
КАКОЙ ПРОЦЕСС ВЫБРАТЬ 
Жизненный цикл Процесс 
Закономерная смена всех поколений, 
характерных для данного вида 
живых организмов (биолог.). 
/ 
В IT - основные фазы проекта. 
/ 
Примеры: Ad hoc, Waterfall, Spiral, V 
model 
Yury Chernushenko 
Конкретные детали, шаги, 
процедуры, роли. 
/ 
Процесс определяют: 
• Агенты 
• Активности 
• Артифакты 
/ 
Примеры: XP, RUP, ACDM … 
Заблуждения 
• Нет процесса - серебряной пули 
• У процесса должен быть владелец 
• Фреймворки нужно подстраивать практически всегда 
7
БЫСТРО ДЕШЕВО КАЧЕСТВЕННО 
Ожидания 
Yury Chernushenko 
Заказчик Разработчик 
Бюджет Качество 
Время Объем 
Технологии 
Решение 
Процессы Люди 
8
КАКОЙ ПРОЦЕСС ВЫБРАТЬ 
ВЕС = 
Количество дополнительных усилий 
Количество строк кода 
Agile процессы Управление рисками Управление на основе 
планирования 
Хакеры “Бюрократы” 
“Легкий” “Тяжелый” 
Артифактов нет Перебор с артифактами 
Yury Chernushenko 
XP и SCRUM RUP и MSS TSP 
ACDM 
9
ЧТО ДЕЛАТЬ СТАРТАПАМ 
Неизвестная 
проблема 
Yury Chernushenko 
10 
Известная 
проблема 
Известное решение Неизвестное решение 
Kanban LEAN 
RUP (Waterfall) Agile
ЧТО ПОСМОТРЕТЬ 
Yury Chernushenko 
CS-169.1x Software as a Service 
(BerkeleyX - edx.org) 
/ 
SE и Agile 
Ruby on Rails 
Behavior Driven Development 
Test Driven Development 
Инструменты 
11
ЧТО ДАЛЬШЕ 
Планирование и контроль 
Сбор и определение требований 
Архитектура и дизайн 
Управление качеством 
Управление рисками 
Yury Chernushenko 
12

Software Engineering Bootcamp - Meeting 1

  • 1.
    SOFTWARE ENGINEERING YuryChernushenko или как его по-русски
  • 2.
    ПРАВИЛА • Нетформализму (все на ты) • Задавыайте вопросы • Ведите себя профессионально • No bullshit • Участие важнее присутствия • Записывайте • Обратная связь (пришлю опрос) • Be excellent to each other Yury Chernushenko 2
  • 3.
    ЦЕЛИ • Разобратьсячто такое Software Engineering • Получить практические навыки и технологии • Решить существующие проблемы в командах Yury Chernushenko 3
  • 4.
    ЧТО ТАКОЕ SE CS! Computer Science Yury Chernushenko SE Software Engineering Языки программирования/ Алгоритмы/ Структуры данных/ Сетевые технологии / … Организация работы команды/ Управление качеством/ Планирование и контроль / Моделирование / … VS Чему учили в CMU (основные курсы):! • Models of Software Systems/ • Methods: Deciding What to Design/ • Managing Software Development/ • Introduction to Personal Software Process/ • Analysis of Software Artifacts/ • Architectures for Software Systems/ • MSIT Project 4
  • 5.
    ЧТО ПОЧИТАТЬ YuryChernushenko Мифический человеко-месяц (Ф. Брукс) / «Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше» / «Время выполнения проекта не обратно пропорционально числу программистов … » 5
  • 6.
    РАБОТА В КОМАНДЕ • Учитывайте типы личностей в вашей команде/ Yury Chernushenko 6 • Экстроверт - Интроверт/ • Сенсорик - Интуит/ • Логик - Этик/ • Рационал - Иррационал/ • “Разработчики - дети по психологическому развитию” (bobuk)/ • Как вы организовываете встречи?/ • Место / • Тип встречи (Brainstorming, Problem solving, SCRUM, представление результатов)/ • Agenda/ • Meeting minutes
  • 7.
    КАКОЙ ПРОЦЕСС ВЫБРАТЬ Жизненный цикл Процесс Закономерная смена всех поколений, характерных для данного вида живых организмов (биолог.). / В IT - основные фазы проекта. / Примеры: Ad hoc, Waterfall, Spiral, V model Yury Chernushenko Конкретные детали, шаги, процедуры, роли. / Процесс определяют: • Агенты • Активности • Артифакты / Примеры: XP, RUP, ACDM … Заблуждения • Нет процесса - серебряной пули • У процесса должен быть владелец • Фреймворки нужно подстраивать практически всегда 7
  • 8.
    БЫСТРО ДЕШЕВО КАЧЕСТВЕННО Ожидания Yury Chernushenko Заказчик Разработчик Бюджет Качество Время Объем Технологии Решение Процессы Люди 8
  • 9.
    КАКОЙ ПРОЦЕСС ВЫБРАТЬ ВЕС = Количество дополнительных усилий Количество строк кода Agile процессы Управление рисками Управление на основе планирования Хакеры “Бюрократы” “Легкий” “Тяжелый” Артифактов нет Перебор с артифактами Yury Chernushenko XP и SCRUM RUP и MSS TSP ACDM 9
  • 10.
    ЧТО ДЕЛАТЬ СТАРТАПАМ Неизвестная проблема Yury Chernushenko 10 Известная проблема Известное решение Неизвестное решение Kanban LEAN RUP (Waterfall) Agile
  • 11.
    ЧТО ПОСМОТРЕТЬ YuryChernushenko CS-169.1x Software as a Service (BerkeleyX - edx.org) / SE и Agile Ruby on Rails Behavior Driven Development Test Driven Development Инструменты 11
  • 12.
    ЧТО ДАЛЬШЕ Планированиеи контроль Сбор и определение требований Архитектура и дизайн Управление качеством Управление рисками Yury Chernushenko 12