SlideShare a Scribd company logo
Идеальный процесс
программирования
размышления на тему (ред.3)
Сделай вот такую
штуку.
еще не знаю какую, но
здоровскую
// подумал Заказчик
шаг 1 (начало).
Бац-бац-бац клик-
клик бац-бац.
Всё ж понятно, чего думать
// подумал Разработчик
шаг 2.
Круто. Работает.
И без ошибок.
Все как и хотел, и даже
кнопка нужного цвета
// восхитился Заказчик
шаг 3 (финал).
Говорят так бывает.
Бывает.
… только когда
заказчик и
исполнители
- это один человек.
Или нет?
так, чтобы они не исказились в процессе донесения.
Как донести мысли и образы Заказчика?
Добавим
дизайнера
для перевода образов из
головы Заказчика в
картинки, после чего можно
понять, то ли хочет Заказчик
Не помогло
Сайт по прежнему далек от грез
Заказчика, к тому же работает с
ошибками и делает не то что
ожидал Заказчик, хотя главный
экран хорошо получился … у
дизайнера :)
Этот дизайн не возможно сверстать.
Прежде чем дизайнирить, хоть бы HTML
выучил // агрессивно бурчит разработчик
Добавим
верстальщика
Разводим дизайнера и
программиста, а также
укорачиваем цикл первичной
обратной связи от Заказчика.
Заказчику показываем дизайн, если ОК, то
отдаем верстальщику. Потом показываем
интерактивные макеты (верстку) и если ОК,
то отдаем разработчику. Исправление
ошибок до разработки намного дешевле,
чем после или во время неё.
Чуть лучше, но
Внешне - уже похоже на
ожидания Заказчика, а
внутри нет. Работает с
ошибками и делает не то,
что нужно.
Из плюсов: быстрее стали понимать, что
нужно, а что не нужно Заказчику, благодаря
циклу: Заказчик-> Дизайнер-> Верстальщик-
> Заказчик
Добавляем
Тестировщика
Разработчики плохо тестируют
код, потому что сам его написали
- “глаз замыливается”.
Пусть это делают тестировщики.
Стало чуть лучше...
Ошибки все равно проскакивают,
потому что тестировщик работает
с итоговым кодом и не знает как
он должен работать
(что фича, а что баг).
Добавим аналитика /
проектировщика
Хоть дизайнер и рисует, но все
понять он не может и ему нужен
переводчик, который к тому же
опишет алгоритм внутренней
работы сайта.
Стало совсем плохо
Народу много, каждый говорит на
своем языке, не берут в расчет
время работы коллег и сваливают
проблемы друг на друга.
Может не хватает администратора и
контролера?
Добавим
руководителя
Который должен и
технический язык знать, и
язык Заказчика, и уметь
управлять всем процессом.
Разруливать возникающие
сложности и администрируя
работу коллег.
Лучше стало?
Внедрим какую-
нибудь
методологию
Лучше стало?
Минусы есть:
- увеличились затраты - людей много;
- увеличились затраты - связей много и
на их поддержку тратится время;
- ошибки все равно возникают;
- сроки часто нарушаются или
функционал урезается.
Помните книгу
“Мифические человеко-часы” ?
Лучше стало?
Плюсы:
- с каждой итерацией скорость вывода
в продакш растет (по идее);
- суммарно команда производит
больше работы (вроде бы);
- ...
Еще покупателя здесь
нет...
Схема организации процесса
разработки может быть разная,
главное, чтобы сделанный
продукт покупался.
А значит нужно как можно
раньше доставить его
покупателю … где-то тут возникают
термины agile, devops, lean, но об этом в
другой презентации.
Какой он, идеальный процесс разработки
?
?
Идеальный процесс разработки
зависит от рынка,
а не от количества человек в команде.
Адама Смита припоминаем, припоминаем :)
Разделение труда дает многократный
прирост производительности.
А причем здесь рынок и разработка?
Почему разделение труда не дало существенного
прироста скорости разработки и прибыли?
или дало?
Откуда берется разделение труда?
Сначала
Кто-то придумал и сделал
булавку сам.
скорость 10 булавок/день
выковал тонкие
пластинки
вытянул из них
проволоку
нарезал нужного
размера
согнул
наточил
и другие работы
Продал булавки по
соседям
а больше не кому,
канал сбыта маленький.
раз нужно мало
товара, то и сам
справлюсь
Купец заказал
мешок булавок
Мимо проезжал купец на
телеге и заплатил за мешок.
На обратном пути заберет.
Ух, сам не
справлюсь, нужно
взять помощников
Простые операции
Подмастерьям доверяют
простые операции (это важно).
выковал тонкие
пластинки
вытянул из них
проволоку
нарезал нужного
размера
согнул
наточил
и другие работы
Повторение - путь к
автоматизму
Повторяя простое действие
каждый день, с течением
времени, начинаешь делать
его автоматически, а значит
быстро
(на уровне рефлекса).
скорость 10-48 тыс булавок в день
выковал тонкие
пластинки
вытянул из них
проволоку
нарезал нужного
размера
согнул
наточил
и другие работы
Пока руки заняты -
мозг начинает
фантазировать
Мозг начинает
фантазировать и находит
способы облегчить свой труд
(автоматизировать).
Автоматизация
высвобождает
человеческие ресурсы
Появляется проблема занятости
работников.
Я и один
справлюсь :)
Всего этого могло и
не быть, если
нет каналов сбыта на объем
продукции в разы большей,
чем мог произвести один
кузнец
Источники
Разбор акта технологического разделения труда.
http://design-for.net/page/akt-tehnologicheskogo-razdelenija-truda
Исследование о природе и причинах богатства народов.
Адам Смит
Ориентир
● придумал идею
● маленький или новый рынок - делай сам
● рынок увеличился, нашел новые каналы сбыта - берешь
подмастерьев на простые операции
● рынок еще увеличился, подмастерья довели выполнение простых
операций до автоматизма - автоматизируй, что можно
в разработке тоже самое?
В разработке много
степеней свобод
Мало простых и стандартизированных
операций.
Задачи меняются в процессе реализации
или устаревают.
Слабая стандартизация между узлами
“конвейера”
Поэтому, конвейер возможен только
частичный, но и это дает хорошее
ускорение на длиной дистанции.
да ты Кэп?!
Стартап, стадия прототип Большой рынок, много клиентов
Идеальный процесс
разработки
это процесс
которого не
существует,
а продукт получается.
Кастомные шаблоны и
платформы публикаций
(tilda.cc, templatemonster.com
readymag.com)
Генераторы кода, фреймворки,
лучшие-практики
Автоматизированное
тестирование, пользовательское
тестирование (вечная бета)
В следующей части
Эволюция организации команд и способов разработки
Михаил Акимов
Вопросы и предложения нужно писать:
на почту michael@island-future.ru
или в личку http://facebook.com/michael.akimov
Новые размышления: http://makestartup.ru/blog/

More Related Content

PPT
Так говорят программисты
PPTX
How to write good autotests
PDF
Pros and Cons of Being an Automation Specialist
PPTX
How to Put Automation Engineers Down
PDF
Mortal Sins and Guilty Pleasures of Automation Engineers
PPTX
Tao and Test Automation
PDF
Git and Github for Beginners
PDF
Dima - Bulbacon Talk 2018
Так говорят программисты
How to write good autotests
Pros and Cons of Being an Automation Specialist
How to Put Automation Engineers Down
Mortal Sins and Guilty Pleasures of Automation Engineers
Tao and Test Automation
Git and Github for Beginners
Dima - Bulbacon Talk 2018

Viewers also liked (13)

PPTX
Como licenciar un blog
PPTX
Diapositivasmotivacion 110805101424-phpapp01
PPTX
P pdropbox.jpg
PPTX
Building Information Modelling at GCU, Development of a BIM Centre of Expertise
PDF
Onbekend maakt onbemind? Naar een herwaardering van handwerktuigen (Steven De...
PPTX
Documento 37 diapositivas lid pos
DOCX
Resume_JulianneFairbanks
DOCX
Links de scribd
PPTX
Mandates
PDF
Influencia del-internet-en-el-rendimiento-acad mic pdf
PPT
Infecciones micoticas
PPTX
New Nations
PDF
wireless network
Como licenciar un blog
Diapositivasmotivacion 110805101424-phpapp01
P pdropbox.jpg
Building Information Modelling at GCU, Development of a BIM Centre of Expertise
Onbekend maakt onbemind? Naar een herwaardering van handwerktuigen (Steven De...
Documento 37 diapositivas lid pos
Resume_JulianneFairbanks
Links de scribd
Mandates
Influencia del-internet-en-el-rendimiento-acad mic pdf
Infecciones micoticas
New Nations
wireless network
Ad

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

PDF
Проектирование с учетом пользовательских требований
PPTX
как создавать прототипы
PPTX
User Experience 2010: Как показывать интерфейс клиенту (так, чтобы не было му...
PDF
Dmitry Zavalishin (IT Spring 2013)
PDF
Андрей Солоной "Как людям бизнеса работать с программистами"
PPTX
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15
PPTX
Вы и Заказчик: решаем проблемы, а не отрабатываем требования
ODP
Выступление: инструменты и методы эффективной удалённой работы
PPT
История проекта, который никогда не падает / Андрей Шетухин
PDF
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
PDF
Dmitry Zavalishin. Successful it-project - where can it fail
PDF
Андрей Вербицкий: Ошибки IT-аналитика
PPT
Andrey Petrov P D P
PDF
Почему хороший логотип нельзя сделать за 3 дня?
PPTX
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
PPTX
о важном в наружной рекламе
PDF
Ведение коротких, сложных
 и серьёзных дизайн-проектов 
в условиях военного в...
PDF
Ведение коротких, сложных и серьёзных кросс-медийных дизайн-проектов в услови...
PDF
Useful JTBD seminar @ RF
Проектирование с учетом пользовательских требований
как создавать прототипы
User Experience 2010: Как показывать интерфейс клиенту (так, чтобы не было му...
Dmitry Zavalishin (IT Spring 2013)
Андрей Солоной "Как людям бизнеса работать с программистами"
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15
Вы и Заказчик: решаем проблемы, а не отрабатываем требования
Выступление: инструменты и методы эффективной удалённой работы
История проекта, который никогда не падает / Андрей Шетухин
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
Dmitry Zavalishin. Successful it-project - where can it fail
Андрей Вербицкий: Ошибки IT-аналитика
Andrey Petrov P D P
Почему хороший логотип нельзя сделать за 3 дня?
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
о важном в наружной рекламе
Ведение коротких, сложных
 и серьёзных дизайн-проектов 
в условиях военного в...
Ведение коротких, сложных и серьёзных кросс-медийных дизайн-проектов в услови...
Useful JTBD seminar @ RF
Ad

More from Michael Akimov (9)

PDF
Что нужно бизнесу от образования -> для ВУЗов
PPTX
Программирование доступное каждому
PPTX
Зачем нужно уметь программировать?
ODP
ДворСовет - делаем ЖКХ добрее
PPT
Startup Univeristy
ODP
Motivation
PPT
Gather tour harvest
PPT
Gather tour
ODP
Стартап: Тестируем ВСЕ!
Что нужно бизнесу от образования -> для ВУЗов
Программирование доступное каждому
Зачем нужно уметь программировать?
ДворСовет - делаем ЖКХ добрее
Startup Univeristy
Motivation
Gather tour harvest
Gather tour
Стартап: Тестируем ВСЕ!

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