Устои шатал - 2

Сегодня еще пошатаем. Как мы все помним, тестирование - это просто один из фильтров качества Так вот есть еще одна моральная категория - это аджайл, скрам и все такое.
В чем проблема аджайл? Так же как и идеальное тестирование - его в живую никто не видел. Вот есть там инженеры за тридевять земель, у которых самые канонические процессы, а нам надо молиться и благоговеть. Мне кажется это немного неправильно. Сейчас все команды в том или ином смысле аджайл, говорить, что одни гибкие, а другие не очень, это как защищать шариковые ручки, перед гусиными перьями. Вроде бы и не зачем. Абсолютно все команды планируют и обсуждают с разной степенью успешности, работают по каким-то естественным временным интервалам, катят новые версии пореже или почаще. Гибкие - все. Но конечно по разному. Это да. Задачи разные, люди разные, история разная. Не правильно требовать одинаковости (кстати чем ярые защитники методологий часто и грешат, они хотят, чтобы все было как-то слишком одинаково).
Если честно я очень слаб в терминалогии, хотя читал много статей, книг и даже какую-то толстенную книгу по скраму, страниц на 800. Аджайл, это принцип, набор добрых советов, методология? Хм. Не знаю. Могу путать, извините заранее. Например в айкидо, в котором я к сожалению добрался всего до 4 кю и сошел с трассы, на каждом новом этапе количество техник увеличивается и составляет несколько сотен к первому дану. Потом все обратно сводится к двум базовым движениям. И далее вообще к одному у великих мастеров.
Так и в программировании. Пик знаний всяких хитрых C++-приемов у меня был на третий-пятый годы работы, потом начал забывать. Я просто научился
программировать, ориентироваться в контексте. Это как езда на велосипеде -
можно перестать думать про контроль кучи факторов и просто
наслаждаться поездкой. На одном собеседовании меня спросили, можно ли конструктор без агрументов вызвать из
конструктора с аргументами. Я ответил (если выразить мой ответ цветасто),
что C++ - многогранен, аки дьявол и наверняка можно, раз вы спрашиваете, но к сожалению
мне этот аспект языка не знаком. И практического смысла в вашем вопросе не вижу. Мой ответ наверное приняли, так как оффер прислали .
Сейчас, допустим, я точно не знаю чем отличается {}
от do end
,
или что более канонично proc
или labmda
.
Просто видел много кода
и мне кажется довольно разумно употребляю то или иное. Где-то на грани ощущений чувствую, что разница есть, нагуглю если
прижмет, и твердо уверен, что если в продакшен-коде знание этой разницы существенно для понимания программы, то автор кода - не прав.
К процессам у меня такое же отношение. Совершенно обязательно нужно узнать разнообразие подходов, поработать в разных трекерах и экселе, попроводить ежедневные митинги, повести доску с магнитиками, поиграть в покер. И потом выбирать из этого всего то, что подходит к каждой конкретной ситуации.
У меня почему-то в голове темы "тестируй или погибнешь", "скрам или сдохни", "ооп без жалости и границ" - это все разные обличия
одного и того же молодецкого максимализма, который с годами (а для IT у меня достаточно солидный возраст - 32 годика уже) перерастает
в какие-то более спокойные формы. Перефразируя слова, которые приписывают Черчилю, скажу,
что если после 5 лет работы, вы не знаете все тонкости языка, на котором работаете и не проповедуете аджайл
радикального характера, у вас
нет сердца, но если после 10 лет вы это все благополучно не забыли, сердца у вас все равно нет .