Мысли после прочтения первой главы Методологии

Написан пост о представлениях метода работы по материалу первого раздела. Что так и осталось непонятным? Что оказалось контринтуитивным? Что вам удалось уже применить в рабочих проектах?

Наиболее сильно на мое понимание методологии повлиял пример стадиона как большого механизма (или робота, впрочем включающего живых людей как конструктивы). Агенты (живые и неживые) выполняют какие-то простые программы/методы, и вся работа стадиона может быть представлена как большой многоуровневый набор методов/функций (включая методы управления и контроля за выполнением работ по другим методам).

В своей работе я стараюсь применять чек-листы, а также нередко беседую с коллегами о том как мы работаем – то есть о методах. Глава о декларативном описании методов оказалась полезной как подтверждение интуитивного понимания, что людей вряд ли удастся “запрограммировать” в императивном стиле (сделай А, потом сделай Б и т.д.). В моих чеклистах я использую смесь императивного и декларативного подходов: некоторые из пунктов выстроены в строгие последовательности, но большинство оформлены как пары условие-действие (если А, сделай Б) или даже условие-результат (если А, добейся чтоб было Б) – такие пункты выполняются не в последовательном порядке, а когда удовлетворены условия. Один из таких чеклистов описывает метод выпуска очередных версий/релизов нашей системы.

Полезным оказывается отношение к методам как к объектам первого класса, то есть полезно повысить важность обсуждения методов (того как мы работаем) до уровня предметов работы (того что мы делаем). Например, автоматизация работы – моё “любимое” направление для улучшения методов. Недавний конкретный пример: заметил коллегу, высчитывающего что-то повторяющееся на калькуляторе, причем долго и с ошибками. Порекомендовал коллеге написать скрипт на Питоне (бонусы очевидны: один раз написал программу, и в миг получи расчеты для всего пространства параметров, если обнаружится ошибка в формуле – всё можно мгновенно пересчитать, нет ошибок ручного ввода, код можно обсудить с коллегами, код останется на будущее, код документирует расчеты). Порекомендовал тимлиду поощрять подобную автоматизацию в команде (потенциально улучшить целый класс методов).

Пока не довелось использовать в работе описание методов в виде принципиальных схем или разбиение методов в стек, но ожидаю что и это окажется полезным.

3 лайка

Главное не забывать про)
image

1 лайк