Разработка программного обеспечения
Все сферы бизнеса полны конкуренции. В любой сфере есть свои лидеры. Иногда лидерами становятся за счёт новых прорывных идей, но чаще лидерство определяется лишь эффективностью работы, правильной организацией и автоматизацией рутинных процессов.
Создание специализированного программного обеспечения для автоматизации внутренних и внешних бизнес-процессов - очевидный способ многократного повышения эффективности. И именно из-за проблем с ПО в современном мире многие компании работают лишь на незначительную долю от своей потенциальной мощности.
Мы предлагаем свои услуги по анализу и сбору требований к информационным системам, дизайну их архитектуры, разработке и внедрению.
Варианты сотрудничества
Возможны несколько формальных вариантов сотрудничества. Сразу отметим, что фактически чаще всего получаются некоторые смешанные формы, однако чёткая формализация помогает вводить набор правил, по которым происходит взаимодействие.
Проектное взаимодействие
Формализация сотрудничества в виде проекта, целью которого является выполнения определённых, с хорошей достоверностью известных заранее работ, является наиболее универсальным вариантом сотрудничества для всех категорий клиентов. Проект разбивается на этапы и подэтапы, понятные обеим сторонам. Это позволяет заранее определить план реализации проекта, ценообразование и критерии, по которым будет оцениваться ход работ. Ниже приведена таблица, на примере которой можно понять, какие этапы и подэтапы может содержать проект в общем случае.
| Этап | Действия | Результаты/документы |
| Анализ и сбор требований |
|
|
| Проектирование системы |
|
|
| Разработка и unit-тестирование |
|
|
| Интеграционное тестирование |
|
|
| Запуск боевой системы |
|
|
Удалённый центр разработки
При таком типе сотрудничества клиенту предоставляется удалённая группа разработчиков, менеджмент и полностью готовая и привычная команде инфраструктура, в которой они готовы начать работать немедленно.
Такой тип взаимодействия подойдёт компаниям, чей бизнес также заключается в разработке информационных систем и которым нужно быстрое и, возможно, временное усиление штата группой профессионалов (в том числе менеджмент) для выполнения срочных проектов. Особенно эффективным такое сотрудничество становится, когда типовые проекты, которые заказчик готов отдавать на аутсорсинг, появляются у него с определённой периодичностью.
Это приводит к тому, что у команды аутсорсера, работающей над проектами данного клиента:
- Накапливаются специфические знания бизнес области заказчика
- Вырабатываются особенности процесса разработки
- Улучшается точность прогнозирования ресурсоёмкости проектов
- Понижаются риски
Это в свою очередь приводит к повышению скорости реализации каждого отдельного проекта и снижению стоимости разработки и поддержки.
Субконтрактинг
Это предоставление квалифицированного персонала для решения бизнес-задач заказчика. Такой вариант сотрудничества является упрощённым вариантом удалённого центра разработки, при котором клиенту предоставляется ресурс человеко/дней, который он может использовать по своему усмотрению. Менеджмент этого ресурса также возлагается на клиента.
Ценообразование
Возможны два варианта оценки стоимости проекта - фиксированная цена и оплата фактических ресурсов.
Вариант фиксированной цены предполагает априорную оценку сроков и стоимости работ и прописывание данных величин в договоре. Сложность этого подхода заключается в том, что вне зависимости от накопленного разработчиком опыта работы, объективно оценивать временной и денежный бюджеты более или менее серьёзных проектов - задача неразрешимая. Фактические затраты всегда будут сильно плавать относительно оценок, при чём в большинстве случаев в сторону увеличения.
Таким образом, разработчик, пытаясь определить объективную цену и порадовать заказчика подробной сметой, сам себе роет яму, так как не закладывает в смету риск непредвиденных проблем, которые гарантированно возникнут в процессе работы. Если же прописать в смете этот риск в явном виде как коэффициент к объективной цене - заказчик скорее всего останется недоволен и будет пытаться уменьшить этот коэффициент, проектируя свой взгляд на процесс разработки.
Подход с оплатой фактически потраченных ресурсов заключается в том, чтобы заказчик платил только за реально потраченные разработчиком ресурсы. В процессе выполнения работ мы ведём подробную отчётность потраченного времени. Каждый сотрудник, занятый в работе над проектом ведёт лог рабочего времени: когда, сколько и на что он потратил своё время и во что оно материализовалось.
Заказчик при желании может получать ежедневный отчёт о потраченных ресурсах и достигнутых результатах, так как этот процесс полностью автоматизирован и не представляет труда.
По факту выполнения работ, разработчик предоставляет заказчику акт, с подробной апостериорной сметой затраченных ресурсов, которые последний оплачивает.

