Boroda aka Hamster (fantaseour) wrote,
Boroda aka Hamster
fantaseour

Category:
  • Mood:

Метрики производительности

Сайт Спольски висит уже 5 день, а между тем, я перевел у него две статьи на довольно мучительную для программиста тему. Тему метрик производительности.

Кстати, когда я учился на физтехе, а также в аспирантуре (это был год всего), было принято на уроках английского к каждому уроку переводить определенное количество текста из научного журнала в виде практики. Так те переводы большей частью отправлялись прямо в мусорку. Вот было бы отличное применение — переводить интересные статьи, и учеба и людям польза.

Пастух пасет овец. Подъезжает к нему человек на новеньком мерседесе и говорит:
Давай я тебе помогу, а ты мне дашь за это барана.
А чем? - спросил пастух
Я скажу насколько ты богат - сказал человек
А зачем мне это? - спросил пастух
Чтобы лучше планировать свой бизнес - ответил человек и поправил галстук.

Подумал, подумал пастух и говорит "Ну хорошо, давай."

Человек бросился считать баранов, потом подбегает к пастуху, волоча на веревке овчарку и сказал: "У тебя их 537 баранов"
"Правильно,"- говорит пастух, "Ну и что, это все?"
"Нет," - ответил человек - "Теперь ты перемножь на средний вес и узнаешь сколько у тебя будет мяса и шерсти, а потом умножь на цену шерсти и мяса и узнаешь насколько ты богат и какова твоя капитализация".

Пастух подумал и говорит:
"Хочешь, я угадаю, кем ты работаешь, а за это ты вернешь то, что взял". Человек соглашается.
"Ты бизнес- аналитик из Прайс Ватерхаус Куперс!"
"Да," - удивился тот, "А как ты узнал?"
Ну во-первых, - сказал пастух,
Ты пришел, хотя тебя никто не звал.
Во-вторых, запросил довольно высокую цену за такую работу.
В-третьих, ты рассказал мне то, что я и без тебя знал.
В-четвертых, ты ответил мне на вопросы, которые я тебе не задавал.
В-пятых, у меня есть своя работа, а ты мне придумал дополнительную,
и наконец,- ты ничего не понимаешь в моем бизнесе, поэтому верни мою овчарку

Рекомендуется пройти по ссылкам и прочитать полностью. Оригиналы напрямую недоступны, но их можно вынуть из кэша гугла, например так.

Из статьи Консалтинг по оценке производительности (Oh, the emails you'll get...):

Компания Big Consulting звонит в Big Oil. «Послушайте», говорят они, «не помочь ли вам повысить продуктивность разработчиков ПО»?

Big Oil отвечает, «Да, конечно, нам надо, мы берем!», и подписывается договор на консалтинговые услуги ценой в 1 000 000.

Консультанты приходят к заказчику, меряют некий набор странных характеристик вроде Строк кода на человека в день, или, если они реально Супер-пупер консультанты, то Число функциональных возможностей в день. В результате появляется отчет: «Парни, вы продуктивны только на 73,844%. Давайте мы удвоим вашу продуктивность, и это будет вам стоить еще $2 000 000».

Нефтяная компания платит еще 2 миллиона.

Консультанты собирают всех программистов в одной комнате, говорят им как мерить производительность методом «Функциональных возможностей», а также о том, что эта производительность ОЧЕНЬ ВАЖНА.

Программистам должна быть знакома сцена из фильма «Офисное пространство», где консультанты Боб и Боб рекомендуют всех уволить.

Программисты начинают судорожно писать значительно больше «функциональных возможностей». Например, можно утроить это число, просто переведя весь обмен данными в XML. Неплохая трата времени, отличное место для новых багов, ничего не дает, но каждый файл, которого ты касаешься, добавляет «функциональную возможность». Вау!

Аналитики консалтинговой компании производят замеры вновь. О чудо! Благодаря всем этим возможностям работы с XML число «функциональных возможностей» резко возросло! Отчет гордо констатирует продуктивность 151,29%. МИССИЯ ВЫПОЛНЕНА.

Тут есть еще один шаг. Консультанты идут в другую Нефтяную Компанию. «Ребята, вы в курсе, что пролетаете? Ваши конкуренты продуктивнее вас — они работают на 151,29%. Вы собираетесь что-то делать»?

Нефтяная компания номер два в ужасе. Они платят за предварительный анализ. Продуктивность всего 83,948%. Блин. И процесс пошел по второму кругу.

Измерения продуктивности (Measurement), — эта статья была немного раньше, в ней тема самих метрик раскрывается полнее:

Когда Jeff Weitzen отхватил себе Gateway, он ввел новую политику, чтобы сэкономить деньги на звонках клиентов. «Менеджер, тратящий более 13 минут на разговор с клиентом, не получит премии», пишет Katrina Brooker (Business 2.0, April 2001). «В результате, сотрудники стали делать все возможное, чтобы поскорее спихнуть клиента с телефона: прикидываться, что линия не работает, вешать трубку, часто за счет существенных издержек слали пользователям новые компьютеры или комплектующие — только бы отвязались. Неудивительно, что когда то лидер в рейтинге обслуживания клиентов, Gateway, скатился ниже средней отметки.»

Софтверные компании обычно премируют программистов которые (a) пишут много кода и (b) исправляют много багов. Лучший способ продвинуться в такой организации — это писать как можно больше неряшливого кода и потом исправлять все эти ошибки, вместо того, чтобы потратить время и в первую очередь подумать, как сделать грамотно. Если вы попробуете исправить эту проблему с помощью штрафа за баги, то вы создадите повод скрывать баги, или не говорить тестерам о только что написанном коде в надежде на то, что найденных багов будет меньше. Таким образом выиграть нельзя.

Симпатичная иллюстрация к этому, — комикс из "Дильбертовой" серии в переводе Анны Лисицкой (six_ate)

Tags: development
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment