Как отучить программиста колбасить (Прагматик 2012)

11
Докладчик: Михаил Пайсон 1 Тема доклада: КАК ОТУЧИТЬ ПРОГРАММИСТОВ КОЛБАСИТЬ: ПОВЫШАЕМ КАЧЕСТВО ПО @Mikhail_Payson

Upload: mikhail-payson

Post on 16-Jun-2015

293 views

Category:

Technology


0 download

DESCRIPTION

Слайды с мастер-класса на конференции Прагматик 2012.

TRANSCRIPT

Page 1: Как отучить программиста колбасить (Прагматик 2012)

Докладчик: Михаил Пайсон

1

Тема доклада:

КАК ОТУЧИТЬ ПРОГРАММИСТОВ КОЛБАСИТЬ: ПОВЫШАЕМ КАЧЕСТВО ПО

@Mikhail_Payson

Page 2: Как отучить программиста колбасить (Прагматик 2012)

1. План на сегодня

2

• Терминология

• Качество кода vs. скорость разработки

• «Метод трёх шагов» для улучшения качества кода

• Политика

• Инструменты улучшения качества кода в команде

@Mikhail_Payson

Page 3: Как отучить программиста колбасить (Прагматик 2012)

2. Что значит «Колбасить»?

3

@Mikhail_Payson

• Быстро писать некачественный код

• Решать симптомы, а не проблему

• Реализовать только «тепличные» кейсы

• Не тестировать

• Писать некачественный код

• «Дамп потока сознания»

• «Пластилиновая архитектура»

Page 4: Как отучить программиста колбасить (Прагматик 2012)

3. Качество кода vs. скорость разработки

4

@Mikhail_Payson

Низкая Высокая

Низ

кое

Вы

соко

е

Производительность

Качество

Тупим Колбасим

Умничаем Программируем

Эффективное

развитие

Бесконтрольное развитие Надо что-то

делать!

Не бывает!

Исправление

ситуации

Производительность упала!

Page 5: Как отучить программиста колбасить (Прагматик 2012)

3. Метод трёх шагов. Ненависть

5

@Mikhail_Payson

• Учим ненавидеть плохой код

• Мотивация (ирония, похвала, критика)

• Запрет произносить «костыль», «колбасить»

• Постоянное повторение, что «писать как попало

- очень и очень плохо»

• Еженедельный код-ревью

Page 6: Как отучить программиста колбасить (Прагматик 2012)

3. Метод трёх шагов. Страсть

6

@Mikhail_Payson

• Учим «умничать»

• Сроки вторичны

• Мини-семинары по паттернам проектирования

• Работа техлида с командой

• Ещё больший код ревью с упором на

архитектуру (сложно)

Page 7: Как отучить программиста колбасить (Прагматик 2012)

3. Метод трёх шагов. Здравомыслие

7

@Mikhail_Payson

• Учим думать перед тем, как писать, но пишем без

усложнений.

• Приходит со временем

• Вопросы «зачем так сложно»

• Постепенный ввод фактора сроков и скорости

Page 8: Как отучить программиста колбасить (Прагматик 2012)

4. Политика: аргументы

8

@Mikhail_Payson

• Цифры – потери на багфиксы в часах,

• Факты – недовольные заказчики (с цитатами)

• Сроки и проблемы: временна потеря

производительности, время на обучение

• Плюсы компании \ проекта: меньше багов, легче

поддержка, быстрее сдача, воодушевлённая

команда.

Page 9: Как отучить программиста колбасить (Прагматик 2012)

4. Политика: контраргументы

9

@Mikhail_Payson

• Мы зарабатываем деньги, а не учим людей

(рассказ про пилу, стратегическое инвестирование, но риски и

честно)

• Мы их научим они разбегутся

(вопрос единственный – нужны ли квалифицированные кадры?

Нанять нового дороже, чем выучить своего и поднять ему

зарплату)

• Но у нас же проект!

(мы его и так завалим, но в этом случае хоть с пользой для

компании, можно начать со следующего)

Page 10: Как отучить программиста колбасить (Прагматик 2012)

5. Инструменты

10

@Mikhail_Payson

• Code Review

• Проводим раз в неделю. Один смотрит код и готовит замечания (4

часа), потом все собираются и обсуждают

• Не переходим на личности!

• Семинары

• Проводим раз в неделю. Один готовит, все обсуждают

• Разбираем паттерны, технологии, guidelines и т.д.

• Обязательно приводим примеры из реальных проектов

Page 11: Как отучить программиста колбасить (Прагматик 2012)

Связаться с докладчиком можно по:

11

СПАСИБО ЗА ВНИМАНИЕ!Докладчик: Михаил Пайсон

Skype: mikhail.pieson

E-mail: [email protected]

Twitter: @Mikhail_Payson

@Mikhail_Payson