Байки для оруженосца

Сергей Мартыненко, 2022

Это производственный роман о разработке программного обеспечения. Во многом вдохновение я черпал из цикла «Бета-тестеры», много лет печатавшийся в журнале «Лучшие компьютерные игры».Главы относительно слабо связаны и, в принципе, читать можно с любой.В книге довольно много отсылок к «Глубинным знаниям» по Демингу. Психология, теория вариаций, методы познания мира.Главы достаточно обильно разбавлены юмором. Но это же байки. Если вам не нравится такой стиль изложения, просто не читайте.Примеров кода практически нет. Я не хотел повторять другие книги.Целевая аудитория – IT-шники. Остальным вряд ли интересно.В книге отсутствуют сцены насилия, курения, секса, употребления алкоголя.

Оглавление

Байка для оруженосца 2. Управление работами не «пинание всех»

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

Я хочу стать руководителем проекта (далее РП). Что мне для этого делать?

Q. А зачем оно тебе? Работа скучная и неблагодарная. Если проект успешен, то это успех команды, а если не успешен, то это провал РП.

???

Q. Есть всего несколько вещей, которые РП должен делать. Одна из самых неприятных — это управление потоком работ.

Что же в этом неприятного и сложного? Ходи да пинай всех

Q. Управление работами вовсе не «пинание всех», — королева вздохнула — Ладно слушай.

РП пишет план.

План пишется РП.

Если некто не пишет план, то он не РП.

По-другому иногда бывает, но сейчас этим можно пренебречь.

Не РП тоже может писать план. Это нормально.

Продолжительность программного проекта — вариативная величина.

И сильно вариативная. Коэффициент от 1 до 16, при среднем 4.

Продолжительность работы в рамках программного проекта тоже вариативная величина.

Продолжительность работы имеет больший разброс, нежели продолжительность проекта.

Выдающиеся специалисты по качеству (Шухарт, Деминг, Голдратт) имели выдающиеся знания по теорверу и статам.

Выдающиеся теории управления: TQM, TOC, 6 сигм,… — построены на теорвере и статах.

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

Диаграмма Ганта не подходит для планирования программного проекта.

Диаграмму Ганта можно использовать для создания календарного графика, но не плана.

Диаграмму Ганта не стоит использовать для планирования программного проекта.

Использование диаграммы Ганта для планирования программного проекта ведет к увеличению срока проекта.

Для ускорения хода проекта откажись от диаграммы Ганта. В крайнем случае используй ее после других инструментов планирования.

Как составить план без диаграммы Ганта? — не мои проблемы. Ты умный, у тебя высшее образование.

Программные проекты сложным образом зависят от величины команды.

Для проектов порядка 1000 функциональных точек (60KLOC на С) команда из 5 человек работает быстрее, чем команда из 10 человек, а команда из 10 быстрее, чем команда из 20.

«Шестой лишний» — хочешь ускорить небольшой проект — отстрани от него шестого и более участника.

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

А может и нет.

Время выполнения операции зависит от исполнителя.

Время выполнения операции сильно зависит от исполнителя.

Время выполнения операции очень сильно зависит от исполнителя.

Трудоемкость операции без исполнителя — это профанация.

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

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

«Я не боюсь показаться смешным. Немногие могут себе это позволить.»

План состоит из описания результатов, а не описания действий.

Поставить готовиться мясо — это плохой пункт плана, мясо приготовлено — хороший.

РП, нацеленный на результат, пишет план в терминах результатов.

Хороший РП пишет хороший план в терминах результатов.

РП, нацеленный на процесс, пишет план в терминах действий.

Плохой РП пишет плохой план в терминах действий.

По-другому тоже бывает. Но это вряд ли твой случай.

Пункт плана не может иметь исполнителя.

Пункт плана может иметь ответственного.

Пункт плана не имеет трудоемкости.

Это не совсем так, но в целом верно.

Пункт плана не имеет срока завершения.

Пункт плана может иметь временные зависимости/ограничения.

Не пытайся понять это сразу, просто вернись к этому через какое-то время.

Для ускорения хода проекта планируй неполную загрузку сотрудника.

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

Вряд ли у тебя получится рассчитать запас по мощности точно. Не сможешь рассчитать — используй эмпирические 25%.

A. Но это какая бессмыслица!

Q. Не обязательно бессмыслица то, что противоречит общепринятым практикам. Если бы Генри Форд делал автомобили так, как принято, мы до сих пор бы ездили в каретах.

A. Нельзя поверить в невозможное!

Q. Просто у тебя мало опыта. В твоем возрасте я уделяла вере в невозможное полчаса каждый день! В иные дни я успевала поверить в десяток невозможностей до завтрака!

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

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я