vit_r: default (Default)
[personal profile] vit_r
В дискуссии под прошлым постом проявилось странное непонимание... Да, ладно. Чего уж там. Ничего странного.

Основная проблема agile в том, что нет различия между работой делаемой и сделанной. В процессах качества важным моментом является рапорт производителя или контролирующей инстанции об окончании работ. Это контрольная точка, с которой начинается user acceptance test. (Понятно, что писать надо по-английски, но оставил русский ради последней фразы, потому что agile сродни деревенской русской культуре очень русский разухабистый деревенский культ.)

User acceptance test - это когда архитектор встаёт на лодке под мостом и машет рукой, чтобы по нему пускали первый состав; когда инженер в присутствии заказчика замыкает рубильник и включает установку; когда повар пробует суп, кивает головой и говорит помощнику "Разливай!"

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

-- Ей, пользователь! Нам тут опять удалось скомпилировать. Ну, с богом!

Date: 2020-09-06 09:41 am (UTC)
lxe: (Default)
From: [personal profile] lxe
Скомпилировать и прогнать тесты. (Покрытие тестами - это спектр, конечно.)

Date: 2020-09-06 09:51 am (UTC)
lxe: (Default)
From: [personal profile] lxe
Ну, я же сказал "спектр".

Date: 2020-09-06 09:58 am (UTC)
beldmit: (Манул)
From: [personal profile] beldmit
В хороших местах за это бьют.

Date: 2020-09-06 03:43 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Мне на днях пришла реклама на фесбуке. "Agile security solutions". Ну тут даже я, который так-то за аджайл (done right), подохуел. Понятно, что цель - ничто, движение - все. Но как-то жалко денег и данных.

Date: 2020-09-06 03:45 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Вот массовый пример из моей недавней практики. В конце тест-кейса (не содержащего ни одного ассерта) пишем System.assert(true, 'test passed');

Date: 2020-09-06 06:56 pm (UTC)
filin: (Default)
From: [personal profile] filin

Это, типа, любая система, считающая покрытие кода тестами, даст хороший показатель, а поскольку ассертов нет, то и все тесты проходят?

Date: 2020-09-06 07:14 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

В той тулзе, что у нас, этот ассерт как раз "свидетельствует", что данные функции протестированы.

Date: 2020-09-06 07:15 pm (UTC)
lxe: (Default)
From: [personal profile] lxe
"Нарушение обмена веществ". Формально - верно.

Date: 2020-09-07 07:28 am (UTC)
From: [personal profile] permeakra
Как теоретически должна быть устроена работа на проектом, когда в запросы на новые фичи поступают с интервалами, существенно меньшими цикла разработки, и каждую нужно удовлетворить в минимальный срок?

Date: 2020-09-07 08:07 am (UTC)
From: [personal profile] permeakra
К сожалению, менеджеры редко имеют возможность выгнать парламент. Особенно, зарубежный.

Date: 2020-09-07 09:50 am (UTC)
From: [personal profile] permeakra
Гм. Не то чтобы это был не ответ, но это явно ответ на другой вопрос.

Date: 2020-09-07 09:53 am (UTC)
From: [personal profile] veremeenko_alex
1. Перестать называть это аджайлом
2. Как вариант - простенький канбан
3. Как еще вариант - сказать честно что это не проект, а рисёрч и делаем как можем

Date: 2020-09-07 10:09 am (UTC)
From: [personal profile] permeakra
Про аджайл в моем вопросе не было ни слова, меня эта методология пугает. . Т.е. в аджайле излагают некоторые очевидно правильные вещи, но то, что на этом фундаменте строится, выглядит как-то по-кафкиански. Особенно учитывая, что мне это для хобби проектов, которые должны рано или поздно добраться до какой-то практически осмысленной реализации (основаная работы к программированию у меня отношнеие имеет весьма косвенное) Тем не менее, среда, на которую пытаются дать ответ аджайлом, вполне встречается ИРЛ, когда обновления в наборе требований порождаются внешними по отношению к проекту и даже заказчику причинами, например бешеным принтером законотворчества.

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

Date: 2020-09-07 10:25 am (UTC)
From: [personal profile] permeakra
Хорошо, переформулируем. Мне вот предложили канбан, и я собираюсь про этот подход внимательно почитать, потому что идея выглядит довольно полезной. Есть ли еще какие-то известные (== неоднократно обсужденные в литературе) подходы/методики/методологии/практики/системы убеждений касательно организации процесса разработки, про которые вы порекомендовали бы почитать? Особенно для работы в уловиях, когда проект или ресерч, или требования вынужденно уточняются/меняются по ходу дела (и до, и после первичной приемки) и это, как это ни противно, неотъемлимое свойство проекта?
Edited Date: 2020-09-07 10:28 am (UTC)

Agile security solutions

Date: 2020-09-07 05:54 pm (UTC)
From: [personal profile] live_on_tormans
Ой, это уже из разряда первоапрельского с ebanoe.it :
"Wreck driven development:Agile in construncting real time embedded systems. Edited by Dmitriy Rogozin. Pre-order only 14.88$ "

Date: 2020-09-08 05:54 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
Дай бог, чтобы там хоть какие-то были интеграционными. Но вообще есть ещё принципиально не тестируемые автоматически вещи.

Date: 2020-09-08 05:59 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
> Ну и понятно, что искать ошибку -- это время и мозги, которых нет. Отключить лишний тест и отчитаться о безошибочном прохождении -- дело пяти минут.

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

Да, господи, я находил ошибку в Самоучителе языка F* - требуем одно, а доказываем другое. И ведь это игрушечная задача, опытнейшие люди.

Date: 2020-09-09 04:42 am (UTC)
From: (Anonymous)
А причина одна - деньги. Зачастую, строить тестовое окружение нужных масштабов и с покрытием сценариев заказчика (про которые он и сам сказать не может, потому что контракты заключают одни люди, а реально пользуются - другие, и между собой не дружат) очень, очень дорого. Ну и да, можно отлаживать и вылизывать год-два-три, за это время выяснится, что важна совершенна другая область (а не та, которую ты тестировал), и клиенты все ушли.

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

Date: 2020-09-09 11:43 am (UTC)
From: [personal profile] veremeenko_alex
Так планирования у них и нет, поэтому и советую привести процессы к реальности
Что на доске нарисовали - то и делаем

Date: 2020-09-09 03:59 pm (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
Да, но тесты, вклюённые в индустриальную систему контроля, боюсь, целиком не автоматизируешь. Вот что делать с эстетическими требованиями API? Или с требованиями внятно написанных комментов?

Date: 2020-09-09 07:54 pm (UTC)
From: (Anonymous)
Я уже читал довольно глубоко (кстати, спасибо, довольно интересно пишете).

По теме обсуждения - можно провести сегментацию по тому, кто 'заказчик' (и как платят)
- если платят за один проект, ограниченный по срокам - то да, 'hamster wheel' довольно привлекательно... но оно ограничевается тем, что заказчики могут прекратить платить вот конкретно тебе за топтание на месте, и отдать решение задач кому-то ещё.
- если 'заказчик' - это обощённая аудитория (от сотен до миллиардов), и ты сам (или твоя организация) пытаешься понять, что им нужно и за что они заплатят. И вот тут вот - мой основной аргумент - казалось бы написал раз (дешево и хорошо), и продавай сотни/тысячи/миллионы раз... но нет, в реальности не получается, сложность систем уже слишком велика, и конкурентов много, и пользователи всё время хотят больше, быстрее, дешевле (а лучше вообще бесплатно).

Date: 2020-09-23 10:44 am (UTC)
From: [personal profile] permeakra
Если говорить в рамках этой аналогии,
...У нас есть поезд номер... маршрута из А в Б длиной и массой такими-то. Сортамент грузов часто обновляется и нас задолбало под кажду поездку заказывать новый состав. Мы слышали что-то хорошее о контейнерных перевозках, но также слышали гораздо больше плохого. Может быть есть какие-то другие подходы?

Date: 2020-09-23 12:15 pm (UTC)
From: [personal profile] permeakra
>Кто-то намёк понял, кто-то нет.

Причем, если понял, то в рамках своей мизантропии. Как водится.

Date: 2020-09-23 12:56 pm (UTC)
From: [personal profile] permeakra
Учить по интернету вообще затея дурная, да и обычно не требуется. Сейчас обычно достаточно дать парочку ключевых слов для самостоятельного писка.

Date: 2020-09-23 02:22 pm (UTC)
From: [personal profile] permeakra
Умение фильтровать маркетинговый буллшит - ключевое для существования в современном мире, так что ничего катастрофичного пока не вижу.

Profile

vit_r: default (Default)
vit_r

February 2026

S M T W T F S
12 34 567
891011121314
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 9th, 2026 11:00 am
Powered by Dreamwidth Studios