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

November 7, 2016

Сегодня еще пошатаем. Как мы все помним, тестирование - это просто один из фильтров качества Так вот есть еще одна моральная категория - это аджайл, скрам и все такое.

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

Если честно я очень слаб в терминалогии, хотя читал много статей, книг и даже какую-то толстенную книгу по скраму, страниц на 800. Аджайл, это принцип, набор добрых советов, методология? Хм. Не знаю. Могу путать, извините заранее. Например в айкидо, в котором я к сожалению добрался всего до 4 кю и сошел с трассы, на каждом новом этапе количество техник увеличивается и составляет несколько сотен к первому дану. Потом все обратно сводится к двум базовым движениям. И далее вообще к одному у великих мастеров.

Так и в программировании. Пик знаний всяких хитрых C++-приемов у меня был на третий-пятый годы работы, потом начал забывать. Я просто научился программировать, ориентироваться в контексте. Это как езда на велосипеде - можно перестать думать про контроль кучи факторов и просто наслаждаться поездкой. На одном собеседовании меня спросили, можно ли конструктор без агрументов вызвать из конструктора с аргументами. Я ответил (если выразить мой ответ цветасто), что C++ - многогранен, аки дьявол и наверняка можно, раз вы спрашиваете, но к сожалению мне этот аспект языка не знаком. И практического смысла в вашем вопросе не вижу. Мой ответ наверное приняли, так как оффер прислали :smile:.

Сейчас, допустим, я точно не знаю чем отличается {} от do end, или что более канонично proc или labmda. Просто видел много кода и мне кажется довольно разумно употребляю то или иное. Где-то на грани ощущений чувствую, что разница есть, нагуглю если прижмет, и твердо уверен, что если в продакшен-коде знание этой разницы существенно для понимания программы, то автор кода - не прав.

К процессам у меня такое же отношение. Совершенно обязательно нужно узнать разнообразие подходов, поработать в разных трекерах и экселе, попроводить ежедневные митинги, повести доску с магнитиками, поиграть в покер. И потом выбирать из этого всего то, что подходит к каждой конкретной ситуации.

У меня почему-то в голове темы "тестируй или погибнешь", "скрам или сдохни", "ооп без жалости и границ" - это все разные обличия одного и того же молодецкого максимализма, который с годами (а для IT у меня достаточно солидный возраст - 32 годика уже) перерастает в какие-то более спокойные формы. Перефразируя слова, которые приписывают Черчилю, скажу, что если после 5 лет работы, вы не знаете все тонкости языка, на котором работаете и не проповедуете аджайл радикального характера, у вас нет сердца, но если после 10 лет вы это все благополучно не забыли, сердца у вас все равно нет :stuck_out_tongue_winking_eye:.

comments powered by Disqus