пятница, 14 августа 2015 г.

Несколько интересных цифр от Брукса

В течение ряда лет при планировании разработки программного обеспечения я пользуюсь следующим эмпирическим правилом:
1/3 — планирование
1/6 — написание программ
1/4 — тестирование компонентов и предварительное системное тестирование
1/4 — системное тестирование при наличии всех компонентов

вторник, 4 августа 2015 г.

Классик на связи


Если вы думаете, что разработка и кодирование программы - вещь трудная, то вы еще ничего не видели

понедельник, 3 августа 2015 г.

Почему люки круглые


Помню года 3-4 назад довольно часто на собеседованих практиковали задачи типа - сколько пианистов во всем мире, как сдвинуть гору Фудзияма и проч. Один мой дружок, классный спец, не прошел собеседования, отвечая на вопрос о переносе Фудзиямы он сказал - взорвал бы её к чертям.

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

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

Юному аджаилисту посвящается

На связи Фредерик Брукс:


Технология, правила фирмы и традиции ремесла требуют выполнить некоторое количество канцелярской работы по проекту. Менеджеру-новичку, только что самому бывшему мастеровым, эта работа кажется совершенной помехой и ненужным отвлечением, бумажным валом, грозящим захлестнуть его. По большей части так и есть в действительности.

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


Зачем нужны формальные документы?

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

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

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

...

Задача менеджера состоит в том, чтобы разработать план и выполнить его. Но только записанный план является точным и может быть сообщен другим. Такой план состоит из документов, описывающих: что, когда, по какой цене, где и кто. Этот маленький набор важных документов охватывает значительную часть работы менеджера. Если в самом начале понять их всеохватывающую и важную сущность, то они станут для менеджера добрым инструментом, а не раздражающей обузой. Сделав это, он определит свой курс более четко и быстро.