Эволюция и аджайл.

Эволюция и аджайл.

Экстраполяция IT

Эволюция лишена предвидения. В ней отсутствуют стратегия и план. Невозможно предсказать следующие шаги эволюционного процесса, и уж тем более построить более или менее точный план развития, подобный эволюционному. Там, где мы пытаемся угадать изначальный замысел и осознать истинную цель, построить логическую цепочку, приводящую к текущей действительности, появляются ложные рассуждения. И это все, чтобы дать ответы на алогичные вопросы, которых попросту не должно существовать: о смысле жизни, предназначении и о целях существования.

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

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

Эволюции плевать на неудобства, если основная функция выполняется. Жираф сформировался с длинной шеей не зря и это помогает ему оптимально взаимодействовать с высокими деревьями. Но беда состоит в том, что когда жираф опускает голову вниз, давление, образующееся в голове зашкаливает, поэтому у жирафа есть пятый клапан на сердце, который помогает контролировать давление в голове, когда она опущена.

Эволюция не занимается оптимизацией. У древних рыб нерв, соединяющий мозг с жабрами, проходил мимо сердца, которое у рыб внизу тела, недалеко от головы. Потом после логичного развития животных, появилась шея, а сердце оказалось в грудной клетке. Природа не может просто взять и проложить нервы по-новому, оптимальней, поэтому у животных этот нерв из головы спускается вглубь тела, делает петлю вокруг аорты, и возвращается обратно в шею к эволюционировавшим в голосовые связки «жабрам». В итоге нервный импульс делает изрядный крюк из-за обратной совместимости с архитектурой доисторических рыб.

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

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

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

Скрам-коутч-аджайл тьютор Том Сойер проводит тренинг

«Аджайл» — огромный самообман при разработке продуктов. Он невероятно полезен для общей массы приложений и решений на рынке, но катастрофически опасен для отдельно взятого продукта. Выживут самые успешные решения, неприспособленные — вымрут. Разрабатывать продукт по этой методологии будет означать принятие всех эволюционных огрехов и проблем в угоду нахождения оптимального решения на рынке в целом, а не для конкретного продукта. А выживет этот продукт или нет — всем плевать.

У подопытного находят смертельную наследственную излечимую болезнь, которая проявляется в среднем возрасте. И с первого взгляда борьба за выживание этого индивидуума лишена смысла — его выживаемость и потомство гарантирует такие же проблемы в будущих поколениях. Копнув глубже можно сказать, что само наличие потомков дает понять, что эволюционно этот подопытный вполне себе состоятельный. Ведь если можешь иметь потомство — имей. В результате имея незначительные для основной функциональности проблемы, индивидуум все равно остается конкурентоспособным. Приложение, которое выполняет основную функцию, будет оставаться конкурентноспособным даже несмотря на ужасный дизайн или уродливую и кривую дополнительную функциональность. И никакой аджайл этому не помеха. Старательно размножая такое приложение по устройствам пользователей, можно добиться того, что функциональность начнут копировать. И тогда мы получим pdf-формат, «OpenOffice» и кнопку «Супер» в ОС «Убунту».

Программа OpenOffice поражает своей лаконичностью и удобством, как и ее предок.

Подытожить все вышеперечисленное можно несколькими тезисами.

Копировать функциональность у других приложений — хорошо. Только копировать нужно со знанием дела. Вспомните шутку о двух дизайнерах самсунга и одном айфоне и посмотрите на модельный ряд самсунг-телефонов сейчас — они вполне самостоятельные.

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

Главный противник аджайл-методологии Генри Форд внимательно не слушает пользователей и делает все по-своему.

Иметь план готового приложения — хорошо. Даже если он тысячу раз поменяется. Придерживаться такого плана — вдвойне хорошо. Даже если знать, что он тысячу раз поменяется.

Переписывать функциональность с нуля очень полезно. Иногда. Только не стоит использовать это повсеместно для любого куска плохо пахнущего кода. Но и пренебрегать таким способом разработки тоже нельзя.

Берегите себя и разрабатывайте больше хороших продуктов!



Report Page