Comments 33
А так вообще разработка доработок у нас идет в ветках параллельно и никогда не останавливается ;-)
Егор, было бы интересно услышать пользователей системы. В госпроектах они обычно подневольные даже если в релизе выдали не то что нужно, так как нет альтернатив.
Посмотрите на форуме bankir.ru, узнаете много интересного от пользователей. 75 страниц непрерывной радости от этой замечательной системы.
Вообще, сам по себе термин «выдали то или не то» очень субъективен. Чем определяется «подневольность» вообще? В основном тем, что в нормативке прописаны требования к организациям сферы ЖКХ по размещению той или иной информации в определенные сроки. Поэтому, более объективный критерий — это позволяет ли ГИС ЖКХ выполнить организации предписанные ей требования или нет.
Уверяю, что все такие «блокирующие» доработки или инциденты находятся под постоянным контролем и реализуются максимально оперативно.
GnuriaN Loki3000 crea7or deee MaximKovalev teifo servekon kolodinivan anatan pavlyuts ulvham andrnl evgensoft andewil стало ли лучше или «воз и ныне там»?
да нет, просто решили поделиться опытом построения релизного процесса
вообще в ГИС сейчас ежедневно загружаются очень большие объемы данных.
вот например на днях загрузили 17 млн платежных документов (система могла принять и больше, просто столько нам отправили)
время от времени сталкиваюсь с утверждениями что все плохо, когда разбираемся предметно основные проблемы заключаются в следующем:
— в ГИСе реализовано много бизнес- и форматно-логических контролей для обеспечения целостности; по нашей статистике 9% данных не загружается по этой причине. К заказчику поступали обращения убрать контроли и разрешить грузить все подряд, но это было отвергнуто, тк Заказчик считает, что это приведет к снижению качества данных.
— неправильная реализация взаимодействия с ГИС-ом в части массовой загрузки — надо учитывать что ГИС — это удаленная система, доступ к которой идет через каналы связи идет, работа организована асинхронном режиме через очереди и тд. (возможно, что у нас тут недостаток документации и думаю сделать на хабре пост на эту тему)
— ошибки самого ГИС-а — по нашей статистике доля таких ошибок менее 0,25%. Соглашусь, что нужно вообще сделать 0 — мы работаем над этим.
Если есть желание конкретно разобраться в какой-то проблеме — напишите в личку, посмотрим.
Как вы собираете метрики производительности, применяется ли трассировка запросов?
Могут ли конечные пользователи получать статистику и трассировку по своим запросам?
О каком веблоджике вы говорите?
Насколько я понял, разработчики столкнулись с проблемой вариативности расчетов КУ на местах. В соседних домах одни и те же услуги могут считаться с кардинальными отличиями или список услуг может отличаться. Из-за этого очень сложно разработать универсальные проверки, например для шаблона ПД. Из чего следует, что при проверке шаблонов выскакивают ошибки, которые нужно исправлять на каждой УК индивидуально.
Дабы не быть голословным, предлагаю оценить количество записей полученных в результате поиска
cloud.mail.ru/public/DKdn/9kGFnz6ct
Я вольный пользователь системы. Неудобно. Пользуюсь только для того, чтобы смотреть электронные квитанции за n-ное время. Каждый раз приходится искать, куда их спрятали. Про адаптив вообще речи не идёт. Ну и вишенка на торте — в данный момент сайт не работает из-за «регламентных работ». Пока на Хабре компании добиваются даунтайма в n минут при переезде на другой сервер, у ГИС ЖКХ свой путь.
Постановка рабочего процесса была очень комфортная, спасибо.
я туда каждый день вбиваю кучу данных, вбивается иногда попыток с десяти с разным успехом и лучше не становится. Ладно что не руками а сервак в цикле дрлбится.
Целый месяц пинал поддержку, чтобы там появилась моя собстенность. Ещё 2 месяца пинал поддержку, чтобы с ней хоть что-то можно было делать из заявленного функционала сервиса. Так и не заработало. Там так всё плохо на техническом уровне, что в форме обратной связи есть поле «Браузер», когда это можно узнавать программно. В итоге попросил закрыть все мои обращения, пожелал удачи. Может попробую через года три снова.
К автору: вы пишите
«Принципиальный момент состоит в том, что даты релизов впоследствии не меняются. Если версия запланирована на какую-то дату, то мы должны разбиться в лепешку, но выдержать запланированный срок.»как быть, если случается неприятность и запланированная задача не может попасть в плановый релиз? «выпиливаете» её? а как быть, если она ключевая? У нас в практике было, что нам таки приходилось двигать релизы (не сильно, но да) и сидеть по ночам до выпуска — чтобы сделать то, что хотел заказчик (а потом ещё так же сидеть, чтобы довести до приемлемого качества результаты ночных бдений).
Ко всем:
- Уважаемые коллеги, понимаю, что тема острая, но есть ли что-то по сути статьи сказать? Можно вычеркнуть при прочтении «ГИС ЖКХ» и читать как «Большие/маленькие/средние проекты/системы» (кому-что нравится). Вот мне понравился вопрос
«Но мне было бы интереснее узнать от пользователей с опытом работы в вашей системе повлияли ли на них как-либо частые релизы ГИС ЖКХ… »
. Правда, на мой взгляд, основная идея статьи о том, как упорядочить хаос в процессе разработке и сделать процесс предсказуемым. - Примеряя на себя статью, появилась мысль (наверняка, не новая — как и многое в этом мире) — а если релизы ранжировать по сложности изменений: мелочь — раз в неделю, среднее — раз в месяц, а совсем большое — квартал или реже? Кто-то подход такое реализовывал и можно ли кратко поделиться результатами?
Это очень хороший вопрос. По сути я про это и пишу в своем посте.
Стратегически я хочу донести мысль, что процесс выпуска релизов и процесс долгосрочного планирования — это должны быть перпендикулярные процессы (в идеале). Есть самолет, которые летает строго по расписанию и забирает фичи, которые готовы к выпуску. Все должны с этим смириться. Да, в этом случае надо смириться с тем, что некоторые VIP-пассажиры могут не попасть на этот рейс (но попадут на следующий). Но в целом такой подход единственно правильный на таких проектах.
Надо понимать мотивацию ради чего мы это делаем — это повышение качества и устранение ночных посиделок и авралов о которых вы пишете. Несколько раз можно поавралить, но бесконечно так делать нельзя.
В нашей ситуации мы не можем себе позволить рисковать качеством версии. Если мы допустим, что к-н фича будет делаться до последнего момента и мы не успеем ее протестировать и тд, то мы рискуем порушить систему. В нашем случае — это неприемлемо.
Поэтому мы всячески стараемся до этого не доводить:
1. Стараемся делать долгосрочный план по фича, чтобы заранее видеть проблемы
2. Делаем фичи в ветках или в танке, но предусматриваем «рубильник» для ее отключения в случае чего
3. В крайнем случае вымерживаем (такое редко бывает)
4. Стараемся задачи нарезать помельче, чтобы по ним было меньше рисков
5. Делаем краткосрочный план по версии и пристально отслеживаем все задачи-кандидаты в версию
6. Делаем буфер/запас на непредвиденные ситуации
7. Вообще у нас есть специальный этап по стабилизации версии, в рамках которого мы только регрессом, нт-шим и не даем добавлять новых фич
и тд
общем это целая отдельная тема
Я могу сказать с какими идеями мы нахлебались горя:
1. Лучше не готовить несколько релизов одновременно, например, одновременно готовить релиз к выпуску через 2 недели и через 2 месяца, тк каждый релиз — это дополнительная инфраструктура (стенды, ветки и тд).
2. Лучше не планировать релиз (а тем более если их несколько) слишком на долгий срок, тк риски возрастают экспоненциально.
3. Лучше даже не пытаться делать задачи, которые требуют 2-3 месяца. Надо обязательно их резать на части и выпускать более мелкими частями. Каждая такая задача — это мина замедленного действия.
поэтому я бы стал реализовывать предложенную вами схему, а вместо этого исповедую схему: все задачи делаются в фича ветках (или в транке, но с рубильником), релиз в любой момент времени может готовиться только один.
но это наш опыт ;-)
Возникло сразу несколько вопросов:
Существуют ли в системе ГИС ЖКХ отдельные компоненты с независимым релизным циклом (намёк на микросервисы)?
Что мешает регулярно наращивать компетенции и уровень автоматизации, чтобы постепенно стремиться к "прозрачным релизам по кнопке без даунтайма"?
Как вы думаете, существует ли недостижимый предел частоты релизов для вашего проекта?
Заранее спасибо.
2. Ничего не мешает. Мы это делаем. Стремимся, но не факт что дойдем :-)
3. Я в идеале хотел бы, чтобы вообще можно было выпускать любую фичу когда она готова не зависимо от других. Думаю, это теоретически возможно, но неизвестно дойдем ли мы до этого на практике (чем дальше будем совершенствовать процесс, тем меньше уже будет отдача от него).
Управление релизами на ГИС ЖКХ — делимся опытом и боремся с интуицией