Web-программирование
За исключением создания игр, разработки социальных сетей, систем автоматизации бизнеса и сложных веб-приложений, программирование интернет-проектов сводится к структурному подходу, который предполагает декомпозицию функционала проекта на функциональные модули, объединенные общими программными интерфейсами.
Каждый второй проект содержит модули, которых в готовом виде не существует. Либо он включает требования о поддержке программного комплекса, которые запрещают использование готовых сторонних решений в пользу написания модулей с нуля, рассчитанных исключительно под спроектированные бизнес-процессы.
Необходимость этого вида работ согласуется с клиентом еще на этапе создания концепции проекта, потому как разработка программных систем требует предварительного планирования, дабы получить предсказуемый результат, как по качеству, так и по срокам.
Чаще всего разработку «с нуля» заказывают для тех функций, посредством которых можно получить доступ к коммерческой тайне, к ключевым бизнес-процессам или даже поставить под вопрос само существование проекта. Готовые решения, продаваемые за деньги или распространяемые бесплатно, содержат всем известные уязвимости, служа предметом особого интереса хакерского сообщества ввиду массовости тиражей.
Поэтому программирование сайтов на заказ снижает возможные риски, позволяя планировать развитие и поддержку проекта, опираясь на сработанную команду.
Примеры ключевых программных модулей
Личный кабинет. Архитектура этого модуля существенно сказывается на масштабируемости проекта. Кроме того, модуль личного кабинета является основой сообщества, собираемого вокруг ресурса, и содержит личную информацию пользователей, попадая под нормы Федерального закона РФ от 27 июля 2006 года № 152-ФЗ.
Виртуальная валюта. В комплексе с подсистемой приема-отправки платежей, данный модуль оперирует эквивалентом денежных средств пользователей и нуждается в нескольких уровнях контроля и защиты.
Модуль личных сообщений. Может попадать как под действие закона «О персональных данных», так и под нормы политики корпоративной безопасности.
Все эти, и им подобные модули нуждаются в разработке «с нуля», процессе прозрачном для клиента, чтобы тот смог при необходимости брать на контроль каждый этап работ, визировать технические и функциональные требования, привлекать внешних аудиторов для проверки соответствия результата проектной документации.
Стоимость и сроки разработки программных модулей
Роли рабочей группы поделены следующим образом:
- Менеджер проекта выставляет частные ТЗ, осуществляет операционный контроль, управляет информационными потоками и рисками, координирует работы.
- Ведущий программист проектирует высокоуровневую архитектуру, реализует ключевые алгоритмы и осуществляет техническое управление специалистами.
- PHP-разработчики пишут логику приложения.
- PHP-кодер и html-кодер выполняют работы по интеграции программных модулей в CMS.
- Тестер проводит испытание функциональных модулей согласно подготовленным методикам.
- Куратор, функции которого могут исполнять генеральный директор, бизнес-аналитик или QA менеджер, несет непосредственную ответственность за конечный результат, решая любые возникшие вопросы и направляя работы в нужное русло.
Временные затраты команды и размеры гонораров можно сложить только после этапа проектирования, т.к. разброс может быть от двух часов до пяти лет, учитывая, что часто рабочая группа, или ее часть, становится частью команды, поддерживающей проект, и занимающейся его развитием.
Все это – части методологии компании «ARTWELL» имеющей целью создания решений, которые действительно работают.