maestro » Пн июл 05, 2010 8:47 am
Хе-хе, друг, давай я тебе расскажу, как выпускаются продукты в одной из самых больших программистских контор в мире.
Задача: написать пользовательский интерфейс к уже более-менее готовому бэкенду. Над этим работает пара десятков человек, раскиданных по всему миру. Дизайнер рисует экраны-кнопочки, менеджеры и ведущие пару недель спорят насчёт их цвета, всё, "дизайн готов". Никакой документации по бэкенду нет, какие данные от пользователя он ожидает, никого не волнует, как и поведение самого интерфейса. Это даже не обсуждают. Есть ежедневные "скрамы", на которые всех загоняют палкой на час (!), на них "архитекторы" продолжают спорить о цвете кнопок.
Месяц-другой проходит в усиленных трудах по сотворению нарисованных дизайнером экранов. Для UI "архитекторы" выбрали самую дерьмовую библиотеку в мире, больше половины программеров её вообще никогда не встречали, все её люто ненавидят, а некоторые даже незнакомы с языком разработки, но это никого не волнует. При помощи большой палки всех заставляют так или иначе в муках родить все экраны, "чтобы как нарисовано". Всё.
После этого PM-ы полностью теряют интерес к проекту и больше на "скрамы" не являются, предпочитая вместо этого ежедневно донимать программистов тупыми вопросами, которые все уже обсудили с утра. Вообще, PM-ы это отдельная песня. Технически безграмотные, без профильного образования, раньше работали на фабрике трусов, теперь "манагеры". Вместо того, чтобы помогать составлять техзадание с учётом пожеланий заказчика и всех заинтересованных сторон - определение работы PM-а - эти неграмотные бараны считают вполне достаточным рисовать красочные эксельки с высосанным из пальца "планом проекта", и бодро докладывать наверх, что всё идёт "с опережением". Причём "плохие новости" эти гады просто не слушают - по всем проблемам обращайтесь к архитекторам, нам проблемы не нужны, у нас всё по плану, так что нам, пожалуйста, только хорошие новости.
Так вот, после того, как прогеры тяп-ляп склепали что-то похожее на нарисованные экраны, разработка объявляется законченной! На все робкие возражения, мол, как же так, эта хрень может и выглядит как надо, но никто же даже толком и не выяснил и не сформулировал, как она должна работать? ответ один: у нас очень амбициозный план по датам, поэтому с мелочами разберёмся потом, при тестировании - ведь ты же не будешь срывать нам план?
Проект переходит в фазу тестирования и "закрывания багов", "никакой разработки". Это при том, что половина функциональности не то что не сделана, а даже как следует не сформулирована. Тестеры, которые очевидно, читали какую-то другую документацию (более свежую? или наоборот старую?), начинают один за другим штамповать критические баги, которые указывают на то, что софтина вообще ни черта не работает, как положено. Прогеры вместе с ведущими абы как затыкают самое комшарное бессоными ночами на выходных. В какой-то момент встаёт вопрос: можно ли вообще выпускать такой кусок дерьма? Или всё-таки придётся крупно пересматривать план?
Этот вопрос волей-неволей доходит до Начальников (шила в мешке не утаишь). Начальники проводят Совещание. С этого Совещания приходит стерва-директор, собирает всех архитекторов, PM-ов, ведущих и вставляет им по самые гланды за саботаж бизнес-планов и срыв стратегии развития всей Компании. Назначается ещё одно Совещание через неделю, к которому всё должно волшебным образом вернуться к плану, или...
После этого начинаются интересные вещи. Тест-команда вдруг начинает резко "запаздывать" с тестированием и работать над устаревающими версиями. Естественно, баги, открытые в версии прошлой недели, можно легко закрыть как "дубликаты" или "уже починенные", ведь на этой неделе в коде уже происходит совсем другой кошмар. Ведущие и PM-ы опять палками в 20-часовом ежедневном режиме заставляют "пофиксить" все баги к Совещанию (протестируем и подтвердим потом, главное "закрыть"), а поскольку тестеры удобным образом запаздывают, очередь багов рассасывается, и на Совещании - чудо! - громко объявляют, что всё идёт по плану, и через две недели на свет появится Golden Master! Готовый к продаже.
В это время, программеры и ведущие спешно пытаются впихнуть хотя бы минимальные фичи, которые на самом деле должны были быть запланированы с самого начала. Делается это чуть ли не подпольно, "в свободное время", после долгих и муторных бесед с разработчиками бэкенда, в муках рождается и подобие документации, и какой-то дизайн системы. В предпоследнюю неделю. Кое-как натягивается минимальная функциональность, чтобы софтина не рушилась хотя бы несколько часов, всё остальное - "в fix pack". В последнюю неделю поток багов прекращается совсем - видимо, тестеров останавливают полностью, "чтобы не срывали план, у нас на следующей неделе релиз".
И он, этот релиз, происходит! И все довольны! Кроме заказчика, конечно, но кого он волнует? Контора большая, задавит маркетингом.
Вот это - настоящая жизнь. И к такому рано или поздно приходят все, даже Гугл неизбежно там будет. А все эти сказки про "правильно спланировать фичи"...