О преимуществах готовых продуктов
Нередко перед нами возникает проблема: купить готовое или заказать изготовление продукта по своему вкусу? Как мы подходим к ее решению?
Чаще всего, мы сначала поищем готовый продукт. Если подходящего не найдем, то принимаем решение заказать изготовление того, что нам необходимо. Но возникает очередная задача: у кого заказать? Конечно, у того, кто сделает то что нам нужно.
А вот здесь-то и возникает одна из главных проблем: как угадать того, кто это сделает?
Во-первых, поинтересуемся, делал ли он уже то, что надо нам.
Во-вторых, узнаем у прежнего заказчика, доволен ли он.
В-третьих (а может, и во-первых), узнаем, во что нам обойдутся услуги изготовителя.
Если все что мы узнали, нас устраивает, то заказываем работу.
А можем ли мы быть уверены, что получим то, что нам хотелось?
Вряд ли. Потому что осталось еще много вопросов, на которые мы не получили ответа из-за того, что не знали, как их задать.
Это длинное вступление – только для того, чтобы показать, что заказная работа, точнее ее результат, это всегда в той или иной степени «вещь в себе». Мы никогда не знаем заранее, как полученный продукт поведет себя в использовании и насколько будет подходить нам. По этой причине с момента вступления цивилизации в машинную эру люди предпочитают готовые продукты. В готовом продукте не надо угадывать, насколько он подойдет нам, это можно проверить сразу. Конечно, остается проблема скрытых дефектов, но она решаема.
Обо всем этом не стоило бы говорить, если бы речь шла о традиционных продуктах. Но на нашем рынке появились другие, новые продукты – программные. И подчас житейская мудрость не срабатывает.
Несть числа примерам, когда вместо того чтобы купить готовую программу, которая может быть и не отвечает всем интуитивным пожеланиям, но выполняет все необходимые функции, заказывается разработка того же самого, но «с перламутровыми пуговицами». В результате заказчик «перламутровые пуговицы», конечно, получает, но…
Рыночный продукт проверяется всеми, кто его приобрел, и ошибки, без которых программ не бывает, выявляются тем быстрее, чем больше покупателей у этого продукта.
Если фирма-производитель желает оставаться на рынке, то по мере выявления ошибок она их исправляет и программа становится все более надежной. Появляется опыт в использовании, который переносится производителем на его продукт, в результате чего этот продукт постоянно улучшается. Также постоянно улучшаются инструкции по его применению, что облегчает работу с ним пользователя.
Всего этого лишены программы, разработанные по заказу. Редкий разработчик согласится бесплатно в течение длительного времени вносить улучшения в сделанную и оплаченную работу.
Почему разработчик рыночного продукта это делает? Потому что надеется на дальнейшие продажи и расширение объема продаж. (Не одно и то же?)
Однако нет правил без исключений. Существуют фирмы, чьим продуктом является заказная разработка, но в этом случае разработка – такой же продукт. Это всегда разработка в определенной области, на одних и тех же средствах, с тем же стремлением к увеличению заказов, поэтому все выводы о продукте относятся к разработкам таких фирм.
Кратко обозначим основные преимущества внешнего разработчика, которые свойственны ему по определению.
Профессионализм. Внешний разработчик интегрирует не только опыт многих разработок, но и многих «живых» систем, то есть реальных предприятий, которые ему пришлось автоматизировать.
Реализм. Внешний разработчик вынужден отчетливо представлять степень реализуемости задания, тем самым предохраняя заказчика от неоправданных затрат финансов и/или времени на нереализуемые проекты. На мой взгляд, это самое важное преимущество.