44
Идеальный процесс программирования размышления на тему (ред.3)

Идеальный процесс разработки - размышления на тему (ред 3)

Embed Size (px)

Citation preview

Page 1: Идеальный процесс разработки - размышления на тему (ред 3)

Идеальный процесс программированияразмышления на тему (ред.3)

Page 2: Идеальный процесс разработки - размышления на тему (ред 3)

Сделай вот такую штуку.

еще не знаю какую, но здоровскую

// подумал Заказчик

шаг 1 (начало).

Page 3: Идеальный процесс разработки - размышления на тему (ред 3)

Бац-бац-бац клик-клик бац-бац.

Всё ж понятно, чего думать// подумал Разработчик

шаг 2.

Page 4: Идеальный процесс разработки - размышления на тему (ред 3)

Круто. Работает. И без ошибок.

Все как и хотел, и даже кнопка нужного цвета// восхитился Заказчик

шаг 3 (финал).

Page 5: Идеальный процесс разработки - размышления на тему (ред 3)

Говорят так бывает.

Page 6: Идеальный процесс разработки - размышления на тему (ред 3)

Бывает.… только когда заказчик и исполнители - это один человек.

Или нет?

Page 7: Идеальный процесс разработки - размышления на тему (ред 3)

так, чтобы они не исказились в процессе донесения.

Как донести мысли и образы Заказчика?

Page 8: Идеальный процесс разработки - размышления на тему (ред 3)

Добавим дизайнера

для перевода образов из головы Заказчика в картинки, после чего можно понять, то ли хочет Заказчик

Page 9: Идеальный процесс разработки - размышления на тему (ред 3)

Не помоглоСайт по прежнему далек от грез Заказчика, к тому же работает с ошибками и делает не то что ожидал Заказчик, хотя главный экран хорошо получился … у дизайнера :)

Этот дизайн не возможно сверстать. Прежде чем дизайнирить, хоть бы HTML выучил // агрессивно бурчит разработчик

Page 10: Идеальный процесс разработки - размышления на тему (ред 3)

Добавим верстальщикаРазводим дизайнера и программиста, а также укорачиваем цикл первичной обратной связи от Заказчика.

Заказчику показываем дизайн, если ОК, то отдаем верстальщику. Потом показываем интерактивные макеты (верстку) и если ОК, то отдаем разработчику. Исправление ошибок до разработки намного дешевле, чем после или во время неё.

Page 11: Идеальный процесс разработки - размышления на тему (ред 3)

Чуть лучше, но

Внешне - уже похоже на ожидания Заказчика, а внутри нет. Работает с ошибками и делает не то, что нужно.

Из плюсов: быстрее стали понимать, что нужно, а что не нужно Заказчику, благодаря циклу: Заказчик-> Дизайнер-> Верстальщик-> Заказчик

Page 12: Идеальный процесс разработки - размышления на тему (ред 3)

Добавляем Тестировщика

Разработчики плохо тестируют код, потому что сам его написали - “глаз замыливается”. Пусть это делают тестировщики.

Page 13: Идеальный процесс разработки - размышления на тему (ред 3)

Стало чуть лучше...Ошибки все равно проскакивают, потому что тестировщик работает с итоговым кодом и не знает как он должен работать (что фича, а что баг).

Page 14: Идеальный процесс разработки - размышления на тему (ред 3)

Добавим аналитика / проектировщика

Хоть дизайнер и рисует, но все понять он не может и ему нужен переводчик, который к тому же опишет алгоритм внутренней работы сайта.

Page 15: Идеальный процесс разработки - размышления на тему (ред 3)

Стало совсем плохо

Народу много, каждый говорит на своем языке, не берут в расчет время работы коллег и сваливают проблемы друг на друга.

Может не хватает администратора и контролера?

Page 16: Идеальный процесс разработки - размышления на тему (ред 3)

Добавим руководителяКоторый должен и технический язык знать, и язык Заказчика, и уметь управлять всем процессом. Разруливать возникающие сложности и администрируя работу коллег.

Page 17: Идеальный процесс разработки - размышления на тему (ред 3)

Лучше стало?

Page 18: Идеальный процесс разработки - размышления на тему (ред 3)

Внедрим какую-нибудь методологию

Page 19: Идеальный процесс разработки - размышления на тему (ред 3)

Лучше стало?Минусы есть:

- увеличились затраты - людей много;- увеличились затраты - связей много и

на их поддержку тратится время;- ошибки все равно возникают;- сроки часто нарушаются или

функционал урезается.

Помните книгу “Мифические человеко-часы” ?

Page 20: Идеальный процесс разработки - размышления на тему (ред 3)

Лучше стало?Плюсы:

- с каждой итерацией скорость вывода в продакш растет (по идее);

- суммарно команда производит больше работы (вроде бы);

- ...

Page 21: Идеальный процесс разработки - размышления на тему (ред 3)

Еще покупателя здесь нет...Схема организации процесса разработки может быть разная, главное, чтобы сделанный продукт покупался.

А значит нужно как можно раньше доставить его покупателю … где-то тут возникают термины agile, devops, lean, но об этом в другой презентации.

Page 22: Идеальный процесс разработки - размышления на тему (ред 3)

Какой он, идеальный процесс разработки?

Page 23: Идеальный процесс разработки - размышления на тему (ред 3)

?

Page 24: Идеальный процесс разработки - размышления на тему (ред 3)

Идеальный процесс разработки зависит от рынка,

а не от количества человек в команде.

Адама Смита припоминаем, припоминаем :)

Page 25: Идеальный процесс разработки - размышления на тему (ред 3)

Разделение труда дает многократный прирост производительности.

А причем здесь рынок и разработка?

Page 26: Идеальный процесс разработки - размышления на тему (ред 3)

Почему разделение труда не дало существенного прироста скорости разработки и прибыли?

или дало?

Page 27: Идеальный процесс разработки - размышления на тему (ред 3)

Откуда берется разделение труда?

Page 28: Идеальный процесс разработки - размышления на тему (ред 3)

СначалаКто-то придумал и сделал булавку сам.

скорость 10 булавок/день

выковал тонкие пластинки

вытянул из них проволоку

нарезал нужного размера

согнул

наточил

и другие работы

Page 29: Идеальный процесс разработки - размышления на тему (ред 3)

Продал булавки по соседяма больше не кому,канал сбыта маленький.

раз нужно мало товара, то и сам справлюсь

Page 30: Идеальный процесс разработки - размышления на тему (ред 3)

Купец заказал мешок булавокМимо проезжал купец на телеге и заплатил за мешок. На обратном пути заберет.

Ух, сам не справлюсь, нужно взять помощников

Page 31: Идеальный процесс разработки - размышления на тему (ред 3)

Простые операцииПодмастерьям доверяют простые операции (это важно).

выковал тонкие пластинки

вытянул из них проволоку

нарезал нужного размера

согнул

наточил

и другие работы

Page 32: Идеальный процесс разработки - размышления на тему (ред 3)

Повторение - путь к автоматизму

Повторяя простое действие каждый день, с течением времени, начинаешь делать его автоматически, а значит быстро (на уровне рефлекса).

скорость 10-48 тыс булавок в день

выковал тонкие пластинки

вытянул из них проволоку

нарезал нужного размера

согнул

наточил

и другие работы

Page 33: Идеальный процесс разработки - размышления на тему (ред 3)

Пока руки заняты - мозг начинает фантазировать

Мозг начинает фантазировать и находит способы облегчить свой труд (автоматизировать).

Page 34: Идеальный процесс разработки - размышления на тему (ред 3)

Автоматизация высвобождает человеческие ресурсы

Появляется проблема занятости работников.

Я и один справлюсь :)

Page 35: Идеальный процесс разработки - размышления на тему (ред 3)

Всего этого могло и не быть, еслинет каналов сбыта на объем продукции в разы большей, чем мог произвести один кузнец

Page 36: Идеальный процесс разработки - размышления на тему (ред 3)

Источники

Разбор акта технологического разделения труда.http://design-for.net/page/akt-tehnologicheskogo-razdelenija-truda

Исследование о природе и причинах богатства народов. Адам Смит

Page 37: Идеальный процесс разработки - размышления на тему (ред 3)

Ориентир ● придумал идею● маленький или новый рынок - делай сам● рынок увеличился, нашел новые каналы сбыта - берешь

подмастерьев на простые операции● рынок еще увеличился, подмастерья довели выполнение простых

операций до автоматизма - автоматизируй, что можно

в разработке тоже самое?

Page 38: Идеальный процесс разработки - размышления на тему (ред 3)

В разработке много степеней свобод

Мало простых и стандартизированных операций.

Задачи меняются в процессе реализации или устаревают.

Слабая стандартизация между узлами “конвейера”

Поэтому, конвейер возможен только частичный, но и это дает хорошее ускорение на длиной дистанции.

да ты Кэп?!

Page 39: Идеальный процесс разработки - размышления на тему (ред 3)

Стартап, стадия прототип Большой рынок, много клиентов

Page 40: Идеальный процесс разработки - размышления на тему (ред 3)

Идеальный процесс разработки

Page 41: Идеальный процесс разработки - размышления на тему (ред 3)

это процесс

Page 42: Идеальный процесс разработки - размышления на тему (ред 3)

которого не существует,

Page 43: Идеальный процесс разработки - размышления на тему (ред 3)

а продукт получается.Кастомные шаблоны и платформы публикаций(tilda.cc, templatemonster.com readymag.com)

Генераторы кода, фреймворки, лучшие-практики

Автоматизированное тестирование, пользовательское тестирование (вечная бета)

Page 44: Идеальный процесс разработки - размышления на тему (ред 3)

В следующей частиЭволюция организации команд и способов разработки

Михаил АкимовВопросы и предложения нужно писать:

на почту [email protected]или в личку http://facebook.com/michael.akimov

Новые размышления: http://makestartup.ru/blog/