Web дизайн

Создание сайтов

Раскрутка сайтов



Rambler's Top100

Вход для пользователей

Выгодна ли разработка сайта на Open Source (ч.2).

Покупая проприетарную систему заказчик обрекает себя на использование следующей за продуктом линейки исправлений, дополнений, изменений. Некоторым заказчикам важно идти в ногу со временем поэтому приходится зависеть от конкретных разработчиков, ждать когда они реализуют очередную новую фишку, в случае же с системой с открытым кодом можно найти группу разработчиков которые реализуют вам новую фишку для вашей системы, если в этом вообще возникнет необходимость, так как развитие системы как правило итак успевают за новыми требованиями.
Брать или не брать персонал в штат, профессионалы как консультанты.
Это очень важный аспект. многие компании хотят иметь в штате профессионала, эксперта в вопросах веб-разработок, человека который сможет опровергнуть неразумные технические доводы контрагентов на их же птичьем языке, и при этом сделать это в интересах компании. Но такие люди недешево стоят и профессионалам приходится изучать новые технолгии, так как в Интернете прогресс ни на секунду не останавливается. Кто же выигрывает по возможности грамотного консалтинга, опенсорсеры или проприетарщики? Проприетарный разработчик держится за свое решение, ищет его плюсы и пытается их продавливать заказчику, ему ведь не очень выгодно постоянно дорабатывать свою систему, потому что содержание такой системы для нескольких программистов не очень дешевое удовольствие. У системы же с открытым кодом постоянно идет развитие в свете постоянно появляющихся новшеств и доработок, использующие ее разработчики знают, что появилось, и что должно появится в этой системе. Что самое главное, для таких систем существует множество дополнений от других независимых разработчиков, таким образом, вам может даже не придется платить за разработку нового форума или корпоративного движка блогов.

Еще один важный момент, в какой среде работает специалист - уровень абстрагируемости от клиента. Сейчас объясню, в двух словах, это значит что программист работающий непосредственно в штате, отвечающий именно за разработку, а не за консультирование и ведение проектов, не имеет стимула разрабатывать качественный и законченый продукт. Я в своей практике часто встречал, когда продукт разработанный такими специалистами, имел нескольколько недоработок, не смертельных с точки зрения работоспособности, но требующих приодического вмешательства этих самых разработчиков, и дело даже не в том, что люди специально оставляют такие погрешности чтобы руководство постоянно физически ощущало необходимость в таком специалисте, а дело скорее в том, что программист просто не видит реальной практической необходимости в этой доработке, т.к. задача поставленная перед ним вроде как выполнена. С другой стороны, специалисту живущему на проектах, а не на фиксированной зарплате будет очень трудно тратить свое время на постоянную поддержку недоделок такого рода, ведь за одним проектом как правило следует следующий, требующий максимальной отдачи. Такому человеку проще закрыть все свои недоработки, чем обеспечивать заказчика необходимостью постоянно к нему обращаться по необлачиваемым мелочам, и заказчик получает законченный продукт.
Узкая специализация, отлаженные процессы.
Узкоквалифицированным специалистам есть место в open source, есть люди специализирующиеся на отдельных частях системы и разрабатывающих только их, но этим они себя не прокормят, так что они либо используют эти части в коммерческих проектах либо используют систему в целом, поддерживая необходимые для коммерческой эксплуатации части. В open source фирмах есть специалисты, отвечающие за отдельные части продукта. Четко отлаженные процессы, вовлекающие больше неквалифицированных людей, чем квалифицированных, как правило, подходят для внедрения коробочных продуктов, не предусматривающих осмысленную интеграцию и других процессов требующих участия в них неких электрохимических реакций называемых мышлением. Как написано в начале статьи, заказчику очень важно определится, на каком он рынке, от этого и зависит выбор исполнителя, нужна ли ему гарантия выполнения проекта, или ему важны также актуальность, гибкость и необходимость проекта, потому что иногда этими составляющими приходится жертвовать для стопроцентной гарантии выполнения. А выполнение проекта и его успех это немного разные, на мой взгляд, вещи.
Качество кода.
Проприетарная система разрабатывается одним-двумя или в лучшем случае командой разработчиков, они сами перед собой отвечают за свой код, за его понятность, переносимость и гибкость. Такая система как правило развивается спонтанно, разные модули и компоненты дорабатываются в зависимости от требований очередного проекта. Опять же, иногда спонтанность и опыт единиц разработчиков решает вопрос выбора платформы, языка реализации CMS. Это может быть даже php, который немыслим, на мой взгляд, в качестве основного языка для сложных, модульных CMS. Более серьезный подход к платформе позволяет навязывать стиль работы, рекомендуется язык не позволяющий спонтанно создать полноценный продукт, потому что для создания продукта необходимо понимание, как самого продукта, так и среды в которой он работает. Одновременно с этим, современные серьезные подходы к программированию позволяют создавать многомодульные системы, где создатель одного модуля не обязан знать, что находится внутри других модулей.
Итак
Использование Open Source – не панацея, вы не решите своих проблем перейдя на бесплатную CMS так как проблемы, скорее всего, кроются в другом, но реализация проекта на грамотной и гибкой системе используемой и поддерживаемой большим количеством людей во всем мире, возможно, позволит сконцентрировать ваше внимание на других вещах чем решение технических вопросов с разработчиками. Бойтесь встроенных самопальных скриптовых языков, и разрабатывайте корпоративную тезхническую стратегию, это позволит вам меньше задумываться перед принятием сложных решений. Но это тема уже следующей статьи.