ksoftware (ksoftware) wrote,
ksoftware
ksoftware

Я знаю, вы все ждёте: Купер не понравился

Конечно же не сам Алан. Он очень милый и приятный человек. И организация мероприятия была крутая. Мне не понравилось то, что Купер рассказал. А то, как все поняли его слова, меня не просто убило.

По всей видимости, эта тема растянется на несколько постов, потому что в процессе срача бурного обсуждения сабжа, я  пойму что-нибудь новое. Так что будем считать этот пост только началом.

Я бы очень не хотел, чтобы вы подумали, что я такой вконец охуевший тип, которому наплевать на всех и даже на ребят вроде Купера. Когда я стал работать в бюро и познакомился, например, с Ильёй Бирманом, это было для меня очень круто. То, что я когда-нибудь увижу, скажем, Людвига или Самизнаетекого, я иногда себе представлял возможным. Через N лет случайно по работе. О том, что я смогу поговорить с Аланом Купером я не думал никогда. Даже как он выглядит не представлял и не интересовался. Потому что, когда ты по физике читаешь про закон Ома, мысли встретиться с Омом не возникает. Это просто абстрактный крутой персонаж, который существует или существовал в другой галактике. То есть мне даже трудно объяснить степень моего уважения к Алану.

Алан открывал и закрывал мероприятие. В первый день он, поблагодарив всех, сразу попросил задать вопросы, чтобы знать, про что мы хотим узнать. В основном вопросы были про организацию работ и ведение проектов. В том числе и мой.

Я спросил дословно следующее (я готовил вопрос, поэтому текст остался):
It's not a secret that in design company the personality and skills of a leader are crucial. And this can slow down the growth of a company.
What was the smartest and most effective decision you made to grow from several employees company to several dozens of employees company?

Таня Мисютина спросила сколько человек в его фирме работает.

Однако, хотя на все вопросы он ответил: «Гуд квесчн», ответы на них он не дал. И давать, как мне показалось, не собирался, потому что, как мне показалось, заданные вопросы на заготовленный рассказ не сильно повлияли. Как расти — не рассказал, сколько людей в компании — не ответил (Крис потом поделился: 12 человек основных, 6 пар, они парами работают, потом расскажу отдельно).

Это было предисловие. Теперь суть.

Суть рассказа Алана была такой (он это все подробно разложил по полочкам, объяснил и пр., тут я все сильно сокращаю):
Мир программного обеспечения (дизайн — это часть ПО, понятно) устроен совсем не так, как предыдущий индустриальный мир. Если раньше все побеждали уменьшая издержки на производство продукта, снижая цену и обходя, таким образом, конкурентов, то теперь это не катит. Теперь побеждает тот, кто делает продукт правильным. При этом не важно, кто будет первым, важно кто сделает то, что будет нужно. Пример — айфон. Не важно, что он запускался на рынке, где успешно работали десятки фирм. Не важно, что Эппл к нему шел десяток лет. Он оказался правильным и победил всех.


И дальше:
Откуда берутся правильные продукты?  Они строятся на основе охрененных крутых идей и отличных реализаций. А все эти охрененные штуки имеют одно свойство. Их невозможно придумать за фиксированное время. Никто не может гарантировать, что он изобретет айфон за два, пять или десять лет. Невозможно гарантированно сделать супер штуку и уложится в срок, потому что разработка — это как минное поле. Иногда ты пройдешь по тропинке сразу к результату, а в другой раз ты будешь наступать на все мины, которые будут тормозить тебя на неопределенное время.

И вывод:
В современном мире софта рулят вещи, сделанные правильно. Никто не может делать правильные вещи за фиксированное время. Поэтому для разработки современных софтовых проектов команды нельзя искусственно ограничивать во времени (и в деньгах, ессно, тоже).

Вот так. Это на 180° отличается от подхода бюро. Флекс тайм, флекс баджет, райт резалт. Как и когда должен заканчиваться проект? Ответ: Сама команда должна решить. 

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

Кстати, другой пример, который привел Алан — Гугль:
На открытие Гугля понадобилось 50 000 долларов США. А что если бы понадобилось 500 000? Или даже 5 000 000? Пять миллионов — это капля в море для сегодняшнего Гугла и если бы нужно было потратить 5 миллионов, то, конечно, надо было бы их потратить и сделать этот супер классный поиск, который потом сделал Альтависту и всех остальных.

Короче, первое время я конкретно задумался. Но потом мрак рассеялся и я понял, что Алана неправ. 

Почему неправ? Возьмём пример с Гуглем. Если бы Гуглю нужно было 5 000 000 $, чтобы открыться, то... то не было бы никакого Гугля, а Сергей Брин, не найдя денег, отправился бы работать в Макдональдс. Я утрирую, понятно, но суть такая. 

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

Даже если представить, чисто теоретически, что денег есть неограниченное количество, то времени — нет. По очень простой причине. Люди живут не бесконечно долго. И если ты будешь делать что-то и тебе не повезет с «минами», ты будешь постоянно на них наступать, но всё равно будешь упорно идти к цели, зная, что «правильный» продукт всегда побеждает, то в какой-то момент ты просто умрёшь, тебя закопают в землю и тебе там, когда тебя будут жрать червяки, уже будет совершенно похуй на все и на червей и на проекты и на «дуинг ит райт».

Даже если потом, после твоей смерти, продукт получится и всех победит, тебе будет похуй. Ты уже труп.

В понимании этого, кстати, и есть основа фикс тайма и флекс скоупа. Дело не столько в том, что он позволяет укладываться в сроки и прочее. Самое главное, что он позволяет сделать что-то полезное (чем больше, тем лучше) за ограниченную жизнь. Кстати само слово «дедлайн» как бы намекает.

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

Именно поэтому в первом айпаде не было камеры, а в первой айфоне крутого экрана Ретина и еще кучи штук. Там было правильно сделано ядро. Было минимальное полезное действие достигнуто. Зато они появились, вытащили компанию из жопы (Насколько я помню, в момент появления первого Айпода Эпплу было 4 месяца до банкротства, что было бы, если бы не успели? Смерть.), дали деньги на новые версии, дали кучу фидбека и опыта. Можно продолжать долго и все это будет про фикс тайм и флекс скоуп.

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

А то, как его поняли ребята, вообще заслуживает отдельного рассказа. Я больше, чем уверен, что половина слушателей поняло всё так:
Правильно и православно давать разработчикам столько времени, сколько надо и столько денег, сколько требуется, а эти пидорасы менеджеры, обученные по программам, которые годились для индустриальной эпохи (а у нас все такие, сомнений нет), ставят сроки и убивают все инновации.

В конце второго дня, когда были вопросы, lenadronova подтвердила мою догадку, спросив следующее:
Алан, вы все круто объяснили и я с вами полностью согласна. Но в реальном мире же так не получается. В реальном мире менеджеры... Как быть?

Алан ответил так, что сомнений в том, что во всём виноваты уродские менеджеры, кажется, больше ни у кого не осталось. Он перешел натурально на крик, так что я чуть в штаны не наделал (мало ли, чего ждать), и сказал следующее:
Всем нам надо работать и кормить семьи и прочее, но, блеать (это мой вольный перевод, крик начинается тут), ни на секунду не позволяйте людям, которые ставят сроки в софтовых проектах, думать, что они живут в реальном мире. В реальном мире время нельзя фиксировать, поэтому это они живут в мире иллюзий.

Булшит! Ограничения во времени — и есть реальный мир. Дедлайн — фундаментальная основа этого мира.

“Your time is limited, so don’t waste it living someone else’s life.” — Steve Jobs

P. S.
Через день после того, как я это написал, я понял, что подход Алана отлично живет в фикс тайме и флекс скоупе. Да, сделать правильный продукт очень важно. И действительно, хуй его знает, какая дорожка тебя к нему приведет. Поэтому если ты эту дорожку разрежешь на фиксированные куски времени — ничего плохого произойти не может. Ведь это разрезание никак не влияет на то, что в конце ты получишь правильный продукт и всех сделаешь. Зато разрезание дорожки на куски может нехило помочь. Ты можешь получить средства на дальнейший путь (пахать два года живя на заплату жен, как разработчики библиотеки Qt, не каждый сможет), организуешь и оптимизируешь свою работу, сможешь раньше избавиться от говна и исправить ошибки. 
Tags: Алан Купер, Иннова, Флекс скоуп
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 12 comments