Несколько лет назад команда Codeinside с нуля разработала проект «Реестр рекламных мест» для Правительства Московской области. Не так давно с нами связались заказчики разработанного продукта, которым потребовалась вмешательство разработчиков в разрешении технической накладки с дата-центром, где была развернута система.
Мы решили, что это отличный повод рассказать о проекте, а еще о том, как СodeInside удается делать проекты, которые работают без техподдержки по несколько лет и больше.
Идея продукта состояла в необходимости учета всех рекламных мест, которыми располагало Правительство Московской области – биллбордов, сити-форматов и тому подобного. Система должна была позволить упорядочить и повысить прозрачность процессов по согласованию, размещению и выявлению незаконно размещенных рекламных конструкций. До появления «Реестра» процесс распределения рекламных мест был недостаточно прозрачен и оставалась возможность появления коррупционной составляющей. С появлением продукта ситуация улучшилась – о каждом месте появилась подробная информация: адрес нахождения, арендатор, дата, объем оплаты и сроки сдачи в аренду.
«Аналогов «реестру» нет, - отмечает директор CodeInside Максим Семенкин. – Когда он запускался даже возник небольшой скандал, вызванный недовольством отдельных чиновников. Причем создан проект был по инициативе самой области, заказчиком, соответственно, выступало также Правительство Московской области».
По завершении работы над продуктом договор на техподдержку заключен не был и Codeinside с течением времени даже забыл о ее существовании. А система меж тем, вот уже 2 года, исправно функционировала без каких-либо сбоев. Вспомнили о «реестре» только когда к специалистам обратились сотрудники московского областного Правительства – впервые за несколько лет систему потребовалось «поднять». На все разработки CodeInside идёт обязательная гарантия, и возникшие дефекты - если они вдруг находятся - устраняются бесплатно, однако в этот раз ошибки разработчиков не было - возникли неполадки в дата-центре.
«Замечательно, что мы смогли создать столь отказоустойчивый, рабочий продукт, способный функционировать без техподдержки в течение такого длительного срока», - отмечает Максим Семенкин.
Секрет такой работоспособности системы рассказала Анастасия Новикова, руководитель проектов CodeInside: «Ещё на этапе разработки программисты покрывают свой код unit-тестами. Такое покрытие составляет от 80 до 100%. Unit-тесты проверяют на корректность отдельные модули исходного кода программы. Это позволяет быстро проверить, не привело ли очередное изменение кода к появлению ошибок в уже оттестированных местах программы, и облегчает поиск ошибок. Соответственно, система, покрытая unit-тестами, надежна, её проще поддерживать.
Следующий этап - Code review. После завершения работы над задачей разработчик отдает свой код на просмотр другому (как правило, более опытному). На этом этапе обращается внимание на оформление кода (код должен быть чистым, красивым и стилистически одинаковым во всей системе) и обнаруживаются ошибки, допущенные на этапе разработки. Свежий взгляд на код помогает найти порой очевидные ошибки, которые автор не замечает. Code review полезно и для совершенствования навыков разработчика, и для улучшения качества программного продукта в целом.
И только после этого задача переводится на тестирование. В CodeInside мы проводим самые разнообразные виды ручного тестирования: функциональное, интеграционное, регрессионное. Если речь идёт о высоконагруженных системах, то проводим нагрузочное тестирование. Разбираем на примере проекта Реестр Рекламных мест.
Только после прохождения всех этих этапов, код наших программистов становится частью рабочей системы. Эти шаги позволяют нашим программным продуктам быть надежными, отказоустойчивыми и легкими в поддержке.»
А что думает сам заказчик системы? Мы попросили сказать несколько слов о готовом продукте представителя заказчика - заведующую отделом согласования схем размещения рекламных конструкций в Главном Управлении по информационной политике Московской области Викторию Волленберг: «Расширение объема работ и укрупнение задач по направлению потребовало создание автоматизированной информационной системы по учету рекламных мест, отвечающей требованиям современных реалий.
Высокий профессионализм команды CodeInside позволил в максимально сжатые сроки разработать систему с нуля, успешно ввести в опытную эксплуатацию и адаптировать сотрудников к работе с новым продуктом.
На пути к этим целям возникало много задач, требующих мгновенного принятия решений, с чем молниеносно и профессионально помогали справляться разработчики. Благодарю коллектив за высокий уровень организации, руководства, координации, контроля работы над проектом».
Прекрасный отзыв на отличную работу. Так что обращайтесь!