Стихийная разработка: Почему я выбираю хаос? (Не вышедшая статья... Наверное зря, выкладываю лишь её часть на оценку вам...)
Для тех кто не в курсе: Стихийная разработка (Cowboy coding) - это когда программист пишет код без планов, документации и процессов. В полной эйфории. И вы возможно скажете: "фу", "бе", "так нельзя" и тд. Но для начала почитайте, моё виденье...
Многие, услышав словосочетание "стихийная разработка", представляют себе анархию: программистов, которые просыпаются утром и не знают, что будут делать, пишут код "как карта ляжет" и надеются на чудо. Это опасное заблуждение. Настоящая стихийность - это принципиально иное отношение к неопределённости. Классическая школа (или то чему нас учат в корпоративной культуре разработки) воспринимает неизвестность как врага, которого нужно уничтожить на этапе аналитики. Стихийный подход воспринимает неопределённость как питательную среду, как первичный бульон, из которого рождается по-настоящему живой и востребованный продукт.
Главный грех классической разработки не в том, что она медленная, хотя и это правда. Её главный грех - иллюзия контроля. Мы с вами тратим месяцы на шлифовку требований, вылизываем архитектуру, не написав ни строчки боевого кода, и создаём документ, который кажется нам непогрешимым. А затем наступает момент истины: через полгода разработки мы показываем продукт пользователю и понимаем, что всё это время строили космический корабль, когда людям был нужен велосипед. Рынок изменился, конкуренты выкатили новые фичи, а наше "идеальное ТЗ" превратилось в ископаемое.
Я видел десятки проектов, умиравших под тяжестью собственной документации. Я видел компании которые умирают (вот буквально в начале сентября, компания где я работал пол года назад, умерла...) от классических подходов, с десятками аналитиков, технических архитекторов, разработчиков разных грейдов которые обсуждают какая формачка должна быть в приложении на часовых созвонах. Команды тратили 80% энергии не на поиск решения, а на соблюдение регламентов, бесконечные согласования и написание отчётов о том, почему они отклоняются от плана. Это путь гарантированного разочарования. В момент, когда реальность неизбежно сталкивается с планом, побеждает реальность, а команда остаётся с чувством вины.
Стихийная разработка, которую лично я для себя выбирал, похожа на серфинг. У нас есть направление - берег, который мы видим (видение продукта), но у нас нет карты волн. Мы не можем предсказать высоту и частоту следующей волны, но мы можем быть максимально чувствительными, лёгкими и готовыми к манёвру. Мы работаем короткими итерациями, которые я называю "набегами".
...
Критики скажут, что так невозможно строить большие системы. Это неправда. Посмотрите на открытый исходный код, на Linux, на интернет-гигантов по типу YouTube. Многие из них выросли из хакатонов и "коленок" спецов с горящими глазами, а их архитектура - это слои эволюционных адаптаций, а не реализация чьего-то единоличного гениального чертежа, через череду жёских регламентов. Стихия не исключает сложности, она просто не позволяет сложности быть выдуманной и преждевременной.
...
Ну, что? Как вам? Оцените пожалуйста, а то данный текст пылиться в папке с мая месяца😅
Post #43
228
- 🔥 6
- 💯 3