newsmode
search
Меню
arrow_back Назад

The Inside Story of a Small Software Acquisition (Part 2 of 3) | Rob Walling

auto_awesomeКраткое саммари

Вторая часть истории о покупке небольшого софтверного продукта DotNetInvoice. После месяца переговоров и проверки автор приобрёл права на продукт, но в первые же сутки получил более 30 гневных писем от клиентов о множестве багов и отсутствии поддержки. За две недели он нашёл и исправил 23 критических бага, добавил подробную инструкцию по установке и выпустил бесплатное обновление до версии 2.1. Выяснилось, что прежний владелец продавал версию без поддержки, и автор убрал эту опцию. Постепенно доверие клиентов удалось восстановить, но в конце первого месяца его ждал новый сюрприз.

Закулисная история покупки небольшого программного продукта (часть 2 из 3)

В конце первой части я написал разработчику пакета для выставления счетов, спрашивая, не хочет ли он продать права на свой продукт.

Переговоры

Мы с разработчиком начали переписку, которая длилась почти месяц. Я получил скриншоты выручки за предыдущие месяцы. Изучил примеры кода и модели данных. Поиграл с их онлайн-демо, расспросил о клиентской базе, количестве проданных копий и о том, сколько времени они тратят на поддержку продукта. Собрал всё воедино и, опираясь на свои знания об оценке небольших программных продуктов, сделал им предложение.

После некоторых переговоров мы пришли к окончательной цене. Я получил подписанный контракт, отправил средства через PayPal — и через несколько часов кодовая база, сайт продаж и доменные имена, составляющие DotNetInvoice (тогда версии 2.0), стали моими.

Думаю, я не смогу в полной мере передать то волнение, которое испытал, впервые открывая исходный код — радость от успешного приобретения. Если вы когда-нибудь проходили через месячный процесс изучения и переговоров по покупке, вы знаете, как это выматывает. Часы, потраченные на изучение документов и кода, согласование цены, составление и подписание документов — всё это время вы понимаете, что с высокой вероятностью сделка может сорваться.

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

А вот и звук надвигающейся катастрофы

В течение 24 часов в моём почтовом ящике оказалось более 30 ответов, и все они были полны гневных комментариев о полном отсутствии поддержки и количестве багов в софте. Проблемы были с повторяющимися счетами, незашифрованным хранением данных, глючным поиском — и так далее, и так далее.

Было ощущение, будто мне на грудь сбросили тонну мокрого цемента… Неужели я только что потратил тысячи долларов на полный хлам?

Неужели я полностью провалил проверку при покупке?

После нескольких часов паники я пришёл к плану действий: написать всем, составить полный список багов и исправить их.

Все до единого.

До последнего.

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

Движение вперёд

За две недели я нашёл и исправил 23 серьёзных бага. Одной из ключевых проблем был модуль повторяющихся счетов. Механизм планирования был остроумно написан с использованием функциональности кэширования ASP.NET, чтобы не требовать отдельной установки планировщика. Но он не работал.

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

Я также добавил подробную инструкцию по установке (при щедрой помощи Joseph Voldeck с www.MadGig.com), поскольку существующие инструкции были рассчитаны на опытных .NET-разработчиков. Теперь продукт включает PDF со скриншотами, которые пошагово проведут вас через весь процесс установки.

С этими улучшениями я выпустил следующую версию — DotNetInvoice 2.1 — как бесплатное обновление для всех клиентов, хотя никто из них не покупал поддержку.

ЧТО?!.. Никто не купил поддержку?!

Предыдущие владельцы предлагали более дешёвый вариант покупки, не включавший поддержку. Проблема в том, что с поддержкой или без — когда продукт не работает, вы ожидаете, что кто-то вам поможет. Поэтому, хотя все купили версию «без поддержки», они (вполне справедливо) ожидали, что кто-то ответит на их письма, когда в продукте обнаружатся баги.

Само собой, через несколько недель после вступления во владение я убрал версию без поддержки из вариантов покупки.

Помимо недель разработки, я потратил бесчисленные часы на переписку с клиентами, спрашивая их о пожеланиях по функциям, предлагая бесплатную поддержку и пытаясь вернуть доверие к продукту. После выпуска версии 2.1 я наконец почувствовал, что продукт стал по-настоящему моим.

Я не мог быть счастливее. Новый релиз исправил все известные проблемы, существующие клиенты чувствовали поддержку, и пришло несколько новых продаж. Дела шли в гору.

Пока не наступил конец первого месяца.