+38099 200-3839
 
Как мы разрабатываем программное обеспечение?
05.01.2011
Как мы разрабатываем программное обеспечение?

Более чем за десятилетний опыт работы мы выработали собственные подходы и жесткие внутренние правила к созданию ИТ-продуктов. В основе нашей практики лежит как положительный, так и отрицательный собственный опыт (ведь не наступив на грабли хаотичной разработки, невозможно построить сильную архитектуру), профессионализм команды и умение слушать заказчика.

С чего начинается разработка программного обеспечения?

Кто-то скажет, что с writing технического задания, кто-то — с проработки требований, другие — с первоначальной оценки стоимости проекта. Мы считаем, что разработка ПО начинается с демонстрации Заказчику осознанного понимания его требований и бизнес-целей.

Если разработчик не понимает глубинных мотивов, побудивших Заказчика к автоматизации процессов, он никогда не сможет создать полезный продукт. В лучшем случае такой процесс превратится не в выпуск законченного решения, а в бесконечную доработку «заплаток» за ваш счет.

Проработка проблематики и гибкие рамки проекта

Следующий шаг — это глубокая проработка требований. На этом этапе критически важно выявить не только явные, но и скрытые задачи, которые должен решать будущий софт. И самое главное здесь — утвердить рамки проекта, именно рамки, а не жесткое статичное ТЗ.

Практика — вещь упрямая: невозможно создать сложный программный продукт, удовлетворяющий реальные потребности бизнеса, двигаясь строго по первоначальным бумажным инструкциям. В процессе живой разработки всегда возникают изменения.

Например, в ходе разработки системы передачи данных по внешним причинам (требования регулятора, изменение структуры датчиков или протоколов связи) может быть изменен сам алгоритм передачи пакетов. Без оперативной и гибкой реализации этого изменения все готовое программное решение в один момент станет абсолютно бесполезным для бизнеса.

Планирование без иллюзий и расстановка приоритетов

На следующем этапе мы утверждаем детальный project-plan. Главная задача здесь — жесткая расстановка приоритетов и фиксация реальных сроков. И заказчик, и команда инженеров должны четко видеть контрольные даты, состав этапов, архитектуру задач и задействованные ресурсы.

Многие ИТ-компании вообще не предоставляют клиенту project-plan. Вместо него они дают три абстрактные оценки: минимальные, средние и максимальные сроки. Такой подход на практике говорит только об одном — эти подрядчики до конца не понимают потребностей вашего бизнеса и пытаются застраховать собственную неопределенность за счет вашего времени и бюджетов.

Программирование, непрерывный контакт и сдача проекта

Далее следует этап написания кода и внутреннего тестирования. Мы считаем обязательным правилом непрерывно информировать Заказчика о ходе разработки: открыто говорить о возникающих архитектурных вопросах и честно предупреждать о смещении сроков, если появляются новые критические вводные.

Постоянный плотный контакт с клиентом на этапе кодинга — это единственный способ наглядно демонстрировать динамику проекта и, что самое главное, полностью избежать глобальных и дорогих переделок системы перед самым релизом.

After завершения разработки и финального нагрузочного тестирования наша работа не заканчивается. Мы берем на себя ответственность за легкий онбординг: помогаем команде Заказчика быстро и безболезненно адаптироваться к новому софту, внедряя жесткие автоматические правила контроля, которые защищают пользователей от «человеческого фактора».

Главный секрет качественного ИТ-продукта

Очевидно, что по-настоящему надежный, работающий продукт может создать только слаженная КОМАНДА. И в эту команду, помимо нашего проджект-менеджера, архитекторов, разработчиков и QA-тестировщиков, обязательно входит полномочный представитель со стороны Заказчика. Только в такой синергии ИТ-инструменты становятся реальным рычагом для роста вашего бизнеса.