Дети диаграммы Ганта
Глава 1. Тяжело победить дедлайн.
"Дети диаграммы Ганта"
Дедлайн победить нелегко-нелегко,
Хозяин смеётся, а баг глубоко
Отважная команда решает использовать цикл PDCA. Но т.к. этот цикл сильно устарел было решено сделать его гибчее.
Глава 2. Размышления о трекере.
Главный руководитель отважной команды думал тяжелую думу.
Какого черта не сходится бёрндаун? Ведь для ведения задач уже используются:
• Пять гуглдоков (потому как облако);
• Редмайн (потому как бесплатный);
• Джира (нужна была для строчки в резюме уволившемуся полгода назад программисту);
• Багзила (потому как ее знал сам RP);
• Почта (потому как политес для заказчика!);
• Слак (стильно, модно, молодёжно);
• Телеграм (безопасно);
• ICQ (а смысл отказываться от старого друга?);
• Пробковая доска со стикерами (так на конференции сказали);
• Майндкарты (заезжий гуру сказал, что без карт они лохи);
• lotus notes (на его использовании настаивают садисты из чертового департамента);
• и еще у каждого своя система.
Мало, мало автоматизации. Надо еще HP Quality Center поставить. И тогда диаграмма Ганта точно сойдется!
Глава 3. Митинг.
- Рассказывайте! – сказал Вождь проекта и грозно оглядел переговорку.
Все затихли. Повестки совещания, как обычно, не было. О чем говорить никому не понятно. А первым попадать под огонь не хотелось никому.
- Что затихли? Сказать нечего? Обленились! Тут Отчеты не сходятся, а они по пятьдесят коммитов в мастер в день делают! – бушевал Вождь – Что с той задачей? Без меня разобраться не можете?
Вообще-то именно за решение проблем с зависшими задачами Вождю и платили зарплату, но кто ему об этом скажет?
- Похоже та задача велась в Excel, – робко начал четвертый администратор проекта.
- Подать сюда Excel!
- Он в ноутбуке главного архитектора.
- Подать сюда архитектора!
- А архитектор взял отпуска и отгулы за последние семь лет и отправился в даоский монастырь.
- Много там отпусков накопилось?
- Со всеми переработками, ночными, праздничными вышло на 777 рабочих дней.
- Ну так свяжитесь с ним!
- Там нет интернета. И сотовый тоже не берет.
- Но на связь то он выходит?
- Выходит. В полнолуние. В два часа ночи по часовому поясу легендарной Шамбалы. Но только когда Венера в созвездии Весов или Марс в созвездии… - начал перечислять первый администратор.
- Отставить! Нам нужна экспедиция, - решил главный Вождь проекта. – К завтрашнему совещанию подготовить План Экспедиции Отважной Команды.
Глава 4. План.
- Ну что?
- Вот. План.
- Что! Это!! Такое!!! - чеканный голос руководителя департаменат (он же РП, он же вождь) наполнил переговорку.
- Это план. План Экспедиции. План это один из мыслительных инструментов Голдратта. Этот план составлен согласно книге Детмера.
- Ересь! Диаграмма Ганта есть план! А план есть диаграмма Ганта!
- Но Голдратт...
- Да кто такой Голдатт с Детмером? У них хоть сертификат PSM или хотя бы CSM есть? Ересь. Ересь Хоруса! - РП проекта распалялся все больше постепенно багровея. Наконец он закашлялся.
Пришлось сделать перерыв.
В тесной, уютной кухоньке Отважная команда аналитиков, тестировщиков, дизайнеров, программистов тихо обсуждала стратегию митинга. Говорить, что диаграмма Ганта это график и никогда не станет планом было нельзя. То, что перед составлением графика крайне желательно построить план, а иначе будет как в этом проекте, тоже было нельзя.
В итоге было принято решение скрыть от РП этап составления плана экспедиции. Если не проект, то может хоть экспедиция может стать успешной.
Глава 5. И снова Диаграмма.
После перерыва команду ждал сюрприз. Администраторы департамента успели накидать диаграмму Ганта. Правда выглядела она… Ну как выглядела. Примерно так:
Do something
Do something else
Do something once more
Do something as much as you need
???????
PROFIT!!!
Увидев ЭТО ведущий ДВА-шник сломал карандаш, но возражать не решился. Остальные смотрели на диаграмму Ганта в легкой прострации.
- Так, с планом решили, - бодро продолжил совещание Главный, - что у нас дальше?
- Для успеха нужна еще кое-что автоматизировать, - произнес четвертый администратор, - вот в конфлюенсе тоже можно задачи вести.
- А еще поставить Asana, чтобы устранить почту – продолжил второй администратор, - преданно глядя в глаза главному.
- Почту устранить нельзя, потому как не устраняется. А в остальном одобряю.
Тут предложения посыпались как горох из прохудившегося пакета:
- HP ALM.
- Офис 365! С экселем для задач.
- Kaiten! Потому как канбан!
…
- А может хватит автоматизации, - робко спросил один из тестировщиков, - и так задачу по два дня ищем?
- Автоматизации много не бывает! – отрезал Вождь.
PS. Мало кто знал, что Главный за каждую "автоматизацию" имел свой KPI. А то, что от этой "автоматизЫции" проекты дохли как мухи от дихлофоса, так это ничего. Дело житейское.
Глава 6. В поисках утраченного контекста.
Все выходные с девяти утра до трех ночи все пять администраторов проекта искали обрывки информации по ЗАДАЧЕ. Искали в гуглдокс, искали в джире, багзиле, почте, слаке. Заново прослушивали диктофонные записи брифов с заказчиком. Домой они так и не ушли. Хмурый рассвет понедельника встретил их в офисе. Измученные они передали лоскутное одеяло заметок разработке.
- Лучше бы они вообще ничего не делали, - воровато оглянувшись вокруг произнес программист.
- Да уж, - тот самый случай описанный великим Макконнеллом, когда, уменьшив команду, можно очень сильно ускорить проект, - тоскливо добавил главный аналитик.
- По поводу этого всего, - кивнув на кучу стикеров на столе, продолжил тестировщик производительности, - мне вспоминается анкета кандидату на вакансию. Было дело искал я как-то работу. Прислали опросник. И там примерно такого же качества вопросы: «Тест завершился. Какую информацию нужно собрать с теста? На какие показатели смотреть?»
- А что проверяли, - лениво поинтересовался программист. – Стрессоустойчивость кандидата? Его адекватность? Так адекватный…
- Как видишь я здесь, а не там. Следующий вопрос: «Какая цель у виртуальных пользователей?»
- Полагаю, цель виртуальных пользователей — это восстание машин. – обреченно ответил аналитик.
- Эврика! – воскликнул программист. - И в случае анкеты, и в случае нашей задачи, потерян контекст. Вопросы может и хорошие, но без контекста звучат непонятно.
Программист с тестировщиком выжидающе посмотрели на аналитика. Аналитик встал, одернул майку, поправил очки, поднял подбородок и отважно отправился на созвон с заказчиком.
Глава 7. Старые баги всегда возвращаются.
Вернулся аналитик в глубокой задумчивости.
- Ну что? – с надеждой спросил программист, перед которым высилось уже три пустых кружки из-под кофе.
- Да как сказать. Странный вышел разговор. То ли я не знаю, кто заказчик, то ли заказчик не знает, что заказал, то ли мы разговаривали на суахили, то ли я ид…
- Понятно, - поник программист. – А к… А виноваты естественно мы?
- Естественно.
- Значит муму утопил не Тургенев...
В переговорку просочился тестировщик. Не то, чтобы бледный. Лица не было на нем.
- Э-э-э… И тут видимо вести недобрые. У тебя то чего?
- Мы ж тут вроде как кодефриз объявили? Спринт на то чтобы баги поправить и новый функционал не делать?
- Ну да, - удивился программист. – Чтоб дальше баги не тащить, чтобы их меньше стало.
- До начала спринта с кодефризом было семь дюжин багов, а сейчас их тринадцать дюжин.
- Опс…
- Ситуация в принципе возможная. Начали мы их классифицировать. Эти нашли сейчас, потому что раньше функционал не работал из-за другой ошибки. Нормально. Эти допустил программист, исправляя и не подумав головой.
- Но, но!
- А что «но?» - окрысился тестировщик. – не работал вывод списка стран. Программист вывод сделал. Несортированный. И говорит, что так и надо. Ибо в ТЗ об этом ничего не было.
- А головой подумать? – парировал аналитик.
- Так и я о том же. Только где голов на всех напасешься?
- Ладно, а еще варианты классификации? – прервал программист.
- Чинили в одном месте, сломали в другом.
- Сильно связанный код, будем разбираться, но и ваши же ошибки есть? Есть же такое, что уже в прошлой версии ошибка была, а нашли только сейчас?
- Есть конечно. Такое тоже проверили. Но понимаешь, … вот есть куча ошибок, которые уже поправили, а в новой версии они снова есть. И таких очень много. И много таких, которым просто неоткуда взяться. Там все давно тещено-перетещено. И вот ошибок, связанных с конфигурационным управлением более четверти от всего списка.
Программист тяжело вздохнул.
- Даже и не знаю, что хуже: когда задачи ведутся в нескольких трекерах одновременно или же когда автоматизация размазана по нескольким CI:
1. TeamCity
2. Jenkins
3. Travis CI
4. Gitlab CI
5. GitHub Actions...
6. Argo CD
- Автоматизация, черт бы ее побрал!
Глава 8. Выбор оружия.
Тестировщик: индустрию разработки не спасут массовые расстрелы. Только напалм и ковровые бомбардировки термобарическими боеприпасами.
Программист: Лучший вид на этот проект открывается из кабины бомбардировщика. Пошли, полетаем что ли. Ты кстати BFG взял?
Тестировщик: У меня "Ультиматум".
Аналитик: Экскалибур лучше.
Глава 9. Размышления о будущем.
- А что будет если завалим проект? Самое страшное?
- Закопают в лесу. И это не самое страшное.
- Там очень много денег.
- Так и запишем. Похороны за счёт фирмы.
Глава 10. Окончательный деплой.
- Как тут у вас?
- Сделали Окончательный деплой.
- Последний?
- Окончательный. Продакшен базу как корова языком слизала.
- Бэкап?
- Полтора года назад место на сервере бекапов закончилось. Нет бэкапов. И логов тоже нет. Они туда же писались. У нас уже более двух тысяч рекламаций. Куда там у нас Архитектор уехал? В Валгалу?
- В Шамбалу.
- Архитекторы уходят в Валгаллу!
- В Шамбалу уходят тестировщики.
- Угу. И я туда же еду. Кто со мной?
Глава 11. Маршевая песня отважной команды.
– Кто пред релизом намёржил всё в мастер?
– Главный программер, наш светоч и пастырь!
В коде уверен, гарантию дал.
Запуск, коннект, первый юзер… упал.
Круто же!))))
– Кто виноват в этом гнусном паденьи?
Все перед продом стоят в изумленьи. )
– Вася-кьюэйщик – релиз не проверил.
Что же ты, Вася, а я тебе верил!
– Это не я!
– Деплойщица Маша – не так накатила!
На тестовом стенде другая картина!
– Всё по инструкции делала я,
Хочешь не хочешь, вина не моя!
А чья?
Лид же наш Петя уже на Багамах
Сок из бокала тянет устало.
Коммитил он в пятницу прямо на прод,
Но кто о том вспомнит, кто разберёт?
Гит!
Он, как анон, помнит все прегрешенья
И диверсанта сдаст без сомненья…
Гит не поможет – вот страшная сказка.
Поиск виновных терпит фиаско…
Как?
Триггер поправил в базе руками
И в гит не коммитил, мы сами с усами!
– Машенька, срочно забацай откат!
– Поздно, ведь не был сделан бэкап.
Упс.
Мораль же, коллеги, простая у басни:
Правилам следуй – не будет злосчастья.
Полвека копился увесистый свод…
Кто не читал их – тому не попрёт.
Спасибо за чтение
Вернуться к книге
