В понедельник такой факап случился у нас — мы выкатили версию Яндекс.Навигатора под Андроид с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл.
C>В понедельник такой факап случился у нас — мы выкатили версию Яндекс.Навигатора под Андроид с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл.
C>Казалось бы, и при чем здесь сортировка гномиков?
Здравствуйте, consign, Вы писали:
C>Казалось бы, и при чем здесь сортировка гномиков?
Хм... А меня сразу насторожило, что после обновления навигатор захотел писать звук с микрофона
Здравствуйте, vsb, Вы писали:
C>>Казалось бы, и при чем здесь сортировка гномиков? vsb>Это факап тестировщиков, менеджера проекта, девопсов, кого угодно, но уж точно не программистов.
Это ортогонально. У каждого свой факап — одни пропустили на этапе тестирования, другие изначально выбрали "одаренное" решение. Факап одних не отменяет "одаренности" других
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
"Времени оставалось мало, но мы понадеялись" — люди походу вообще не понимают, что такое качество. У них, внезапно, образовалась ситуация "а хер его знает что там". Это адский риск, но решили они его "на авось"
"исправить ошибку было относительно легко, но времени на тестирование с новой версией не оставалось совсем"
Каким образом у продуктовой конторы нет времени на тестирование ?
То есть, команде спустили нереальные сроки, принудительно убрали и тестирование и забили на багфикс.
то есть, проблема, в кратце, из за того, что
0 один особо умный установил жосткие сроки не глядя ни на что
1 другой особо умный не в курсе что такое качество, это примерно продукт-овнер или близко к этому
2 этот же умный гнётся под все хотелки сверху, см п0
3 скорее всего он же отогнал не только тестировщиков, но и девелоперов
Пудозреваю, в п3 тимлиды "поучавствовали".
С линейными девелоперами как раз всё просто: "исправить ошибку было относительно легко..."
Похоже, манагеры в Яндексе, которые заняты этим проектом, полные дебилы. Мало того, что накосячили, так еще и всю эту внутреннюю кухню выставили наружу. Нужно было просто признать косяк, извиниться, наобещать что всё будет хорошо.
Вместо этого мега-блоггер выдал вот такой вот треш. "не было времени", "исправить было легко", "мы понадеялись"
А я то когда то хотел в Яндекс попасть Хорошо, что я пошел в более другую контору
Здравствуйте, TK, Вы писали:
TK>Это ортогонально. У каждого свой факап — одни пропустили на этапе тестирования, другие изначально выбрали "одаренное" решение. Факап одних не отменяет "одаренности" других
Из признания Яндекса следует, что они отогнали и девелоперов и тестеров, понадеялись на авось и, самое главное, сами себе спустили жесткие сроки.
У девелоперов и тестеров просто рядовые ошибки, ничем не примечательные
Здравствуйте, Ikemefula, Вы писали:
I>то есть, проблема, в кратце, из за того, что
Мне вспоминается еще одна компания, которая довольно таки известна, и там это выглядело так:
0. времени до релиза дохрена, девелоперы радостно рисуют развесистую архитектуру, придумывают вагон клевых фич и пишут фреймворк — универсальный всемогутор. Манагеры в кабинетах пьют коньячок и фантазируют, какой клевый продукт у них получится и враз затмит гугл, фейсбук и майкрософт (вместе взятые).
1. пока не остался месяц до релиза, переходим к пункту 0
2. все внезапно понимают, что еще ни хрена не сделано, и толстый полярный лис уже совсем близко
3. девелоперы судорожно говнокодят по 20 часов в сутки и спят на диванах в офисе, питаются пиццей и ред буллом
4. манагеры придумывают гениальное решение — урезать тестирование и отладку, на которые изначально отводилось минимум 50% всего времени (что было совершенно правильно, и даже маловато), и назначают срок в 3 дня
5. тестеры угрюмо матерятся сквозь зубы и уползают в свою берлогу
6. ура, релиз!!!111
7. заказчик смотрит на продукт, ошеломленно чешет репу и навсегда пропадает со связи. Что заказчик подумал, так и осталось никому не известным, потому что он был очень вежливым.
Последняя версия (1.63) Яндекс.Навигатора дико жрёт батарею даже когда он выгружен из памяти. Об этом мне сообщил смартфон LG G3.
Как воспроизвести: установить, запустить, выйти и затем выгрузить из памяти (тыркаем на крестик в таск-баре).
C>В понедельник такой факап случился у нас — мы выкатили версию Яндекс.Навигатора под Андроид с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл.
Это у них руки-крюки.
Времени оставалось мало, но мы понадеялись на то, что релизная версия библиотеки не должна сильно отличаться от отладочной, и без глубокого тестирования попробовали собрать Навигатор с ней. Увы, приложение стало падать.
Всегда считал глупостью иметь отдельно отладочные и отдельно релизные билды. Фактически, весь цикл тестирования и отладки приходится проходить дважды.
Исправить ошибку было относительно легко, но времени на тестирование с новой версией не оставалось совсем, и мы решили откатиться на отладочную и запускаться с ней.
Надо было сдвигать сроки.
Хотя фикс релизной версии и был тривиальным, его добавление в Нави сулило нам новый процесс тестирования и сдвиг сроков на неизвестный период из-за возможности обнаружения новых баг
Эти баги, очень вероятно, есть и в отладочной версии. Но из-за ее мелких отличий, они там замаскированы (например, из-за записи логов чуть по-другому раскладывается времянка, и из-за этого race condition с меньшей вероятностью приводит к беде).
Надо было сдвигать сроки.
Эта логика включалась define'ами в коде, и в релизной сборке была отключена. Она должна была быть отключена и в дебажной, но нет — был пропущен заголовочный файл, в котором этот макрос определялся.
Дебилы.
Эта логика должна быть по дефолту отключена. Пропущенный заголовочный файл должен приводить к тому, что логи выключены, а не включены. Если бы было сделано так, то проблема осталась бы чисто внутренней для Яндекса (логи должны писаться, но не пишутся, а не наоборот), и пользователи бы не пострадали.
Но в процессе движения, когда сессия Навигатора не прекращается достаточно длительное время, семплы могли вырастать до нескольких гигов. И пользователи заметили это уже через несколько часов после запуска.
Дебилы.
Ограничение роста этих факлов надо было сделать даже в том случае, если эти файлы предназчанены исключительно дла внутреннего применения. И в тест-план соответствующую проверку записать.
В результате небольших по отдельности ошибок и допущений мы получили серьёзную проблему, из-за которой некоторые люди, увы, потеряли доверие к Навигатору и даже в целом к Яндексу.
В результате неправильной организации процесса эти небольшие ошибки вылезли наружу и стали проблемой.
Что до доверия к Яндексу, откуда ему взяться, если все без исключения ихние программы безбожно глючат.
Здравствуйте, consign, Вы писали:
I>>то есть, проблема, в кратце, из за того, что
C>Мне вспоминается еще одна компания, которая довольно таки известна, и там это выглядело так:
C>0. времени до релиза дохрена, девелоперы радостно рисуют развесистую архитектуру, придумывают вагон клевых фич и пишут фреймворк — универсальный всемогутор. Манагеры в кабинетах пьют коньячок и фантазируют, какой клевый продукт у них получится и враз затмит гугл, фейсбук и майкрософт (вместе взятые)
Бывает и такое. В заказном софте довольно типичный фейл.
Здравствуйте, wety, Вы писали:
W>Последняя версия (1.63) Яндекс.Навигатора дико жрёт батарею даже когда он выгружен из памяти. Об этом мне сообщил смартфон LG G3. W>Как воспроизвести: установить, запустить, выйти и затем выгрузить из памяти (тыркаем на крестик в таск-баре).
А как теперь сделать так, чтобы не жрал, при условии, что я им пользуюсь раз в сто лет?
Здравствуйте, Pzz, Вы писали:
Pzz>В результате неправильной организации процесса эти небольшие ошибки вылезли наружу и стали проблемой.
Дело не в процессе, а в отсутствии решения проблем. Дело в том, как люди управляют требованиями, какие у них приоритеты, какой взгляд на качество, какие принимаются решения, каким образом и тд и тд. Ни один процесс не даёт ключа к решению проблем. Процесс это оформление решения, всего лишь. И должен быть ктото, кто решает проблемы. А когда "всё по процессам", получается геморрой — нет решения проблем и это тянется без конца.
На ixbt.com пишут, что нужно после окончания использования навигатора выгрузить его из памяти и обязательно перезагрузить смартфон (для надёжности). Комментариев от самих разработчиков навигатора пока не поступало.
Здравствуйте, Ikemefula, Вы писали:
Pzz>>В результате неправильной организации процесса эти небольшие ошибки вылезли наружу и стали проблемой.
I>Дело не в процессе, а в отсутствии решения проблем. Дело в том, как люди управляют требованиями, какие у них приоритеты, какой взгляд на качество, какие принимаются решения, каким образом и тд и тд. Ни один процесс не даёт ключа к решению проблем. Процесс это оформление решения, всего лишь. И должен быть ктото, кто решает проблемы. А когда "всё по процессам", получается геморрой — нет решения проблем и это тянется без конца.
Так это и есть процесс. Процесс совершенно не обязательно должен заключаться в том, что все делается тупо по инструкции, и никто ни за что не отвечает.
В данном случае я вижу, что:
1. Очень сложно перенести сроки. Настолько сложно, что проще рискнуть, и выпустить плохо оттестированный продукт
2. Никто не хочет разбираться с неожиданно вылезшими багами. То, что программа падает с релизной версией библиотеки, автоматически ставит под сомнение и отладочную версию, если не доказанно обратное.
3. Особенности поведения отладочной версии не тестируются. Типа, раз к заказчикам не попадает, то и через QA можно не прогонять. Тут либо надо реализовывать тестовый функционал нормально и с тестированием (упомянутое мной ограничение размеров логов/тестовых файлов), либо надо проверять в тестах, что все отладочные фичи и в самом деле выключены.
4. Вообще, складывается впечатление, что к вспомогательному коду, предназначенному для отладки, предъявляются очень расслабленные требования. Отсюда то, что пропущенный include может пройти незамеченным, но привести к нежелательным последствиям, типа включения логов. Весь код, попадающий в репозиторий, должен писаться одинаково качественно, даже если он не попадает в релиз.
5. Лично я — противник отдельных отладочных сборок. Но тут со мной многие не согласятся, так что спорить на эту тему не буду.
Здравствуйте, wety, Вы писали:
W>На ixbt.com пишут, что нужно после окончания использования навигатора выгрузить его из памяти и обязательно перезагрузить смартфон (для надёжности). Комментариев от самих разработчиков навигатора пока не поступало.
Охренеть. Наверное, проще его удалить, и больше никогда не ставить.
P.S. А не посоветуете хороший оффлайновый навигатор для ведроида? Да еще хорошо бы, чтобы не только по России?