Перед написанием этой статьи я задумался на тему - Насколько читатели, подписчики и посетители разбираются в такой сфере как - Программное обеспечение.
Компьютер, чтобы читать статью, в наличии.
Умение пользоваться браузером, есть.
В MS Word или в Open Office пишет большая часть пользователей.
Различные программы и игры используют практически все. И неважно, новая ли это версия WoW или Косынка по умолчанию.
Так что, допускаю, что большинство людей, так или иначе, понимают,что такое программа и с чем её едят.
Поэтому вперед, читать статью про Программы, Образование, Менеджеров, Продажи и Рынок Программного Обеспечения у нас.
Откуда вообще выплыла эта тема? Я, как программист по образованию, в принципе понимаю не только внешнюю, но и внутреннюю часть программы. Её “скелет”, так сказать.
И вот некоторое время назад, я начал “коллекционировать” программное обеспечение увидевшее свет на просторах бСССР.
Для чего? Для того, чтобы собрать коллекцию ляпов, багов, глюков и пр. интересных вещей, которыми изобилуют наши программы. В том числе чисто коммерческие версии.
И повторюсь - миф о крутости наших программистов это всего лишь миф, не подкрепленный никакими фактами.
Все зависит от личностных качеств определенного, отдельно взятого программиста, но уж ни в коем случае не от некого собирательного образа “русского” программиста. Я когда-то мог спорить часами о качестве нашего образования, сейчас это скучно и неактуально. Наши образовательные институты выпускают специалистов широкого профиля, которые, зачастую так и остаются специалистами “широкого профиля”.
Я ни в коем случае не распространяю эту версию на всех программистов, во всем мире существуют специалисты своего дела и халтурщики, и мне кажется, что пропорция тех и других примерно одинаковая. Кроме нашего “широкого профиля”, который может немного подпортить статистику.
В чем проявляется “широкий профиль”:
- Если программист может применить некую особенность, то он её обязательно применит. К месту, не к месту, неважно. Пусть будет.
- Если есть два пути, “простой но скучный” или “сложный но интересный”, то программист обязательно выберет второй. Зря что ли мы учили высшую математику. Пусть будет.
- Внешний вид не важен, пусть пользователь читает документацию и сам разбирается к чему на панели 150 кнопок. Главное это то, что внутри. А внутри сложнейшие алгоритмы, и “2+2″ решенное с привлечением двух курсов статистики и курса линейной алгебры.
- Потребности заказчика не важны, все равно он “чайник”, будет работать с программой так как скажет программист и даже если это требует месяца обучения, пусть, кнопки нажимать это вам не “программировать”.
- Ловить баги неинтересно, да и сроки поджимают, по ходу разберемся.
Примерно так. Собирательно можно высказать так - Если есть возможность что-то усложнить, программист обязательно это усложнит.
Для затравки даю пример из жизни. Как я помогал знакомым бороться с программой:
Бухгалтерская программа, от А до Я.
Существует некая программа для бухгалтерии, платная, довольно распространенная. С техподдержкой 24/7.
Просто кладезь “широкого профиля”.
Во первых установка, требуется установить на компьютер 2 (две) одинаковые версии программы. Работать можно только с одной. Зачем две? Понятия не имею, но если установить одну, то программа просто не работает. Даже не запускается.
Этот глюк был в самой первой версии. Сейчас программа имеет версию 3.4 но глюк так и остался.
На панели инструментов примерно 100 кнопок, половина из которых включается где-то в дебрях “настроек и опций”. Пока что они неактивны. Скажу сразу, бухгалтер, ведущий сложную бухгалтерию 5-ти предприятий использует в работе не более 10-ти процентов от возможностей программы. Кнопки как были неактивными в начале, так неактивными и остались. Не пригодились.
Программа позволяет сохранять отчеты и таблицы в куче форматов, список расширений не помещается на экран. Там тебе и стандартный набор MS Office и OpenOffice, куча графических расширений, и HTML, и XML, стандартный текст, и огромная куча чего-то ещё, о чем я никогда не слышал, разве что поддержки видео нет. Кто-то может возразить, мол я не бухгалтер, возможно оно нужно. Но вот бухгалтер с тридцатилетним стажем понятия не имеет, для чего все это нужно и куда это все впихнуть.
Гораздо более интересен экспорт базы данных из программы. Это вообще песня.
В программу забито 5 предприятий, и возникла необходимость сохранить базы данных всех предприятия.
Как это происходило:
Если просто нажать Сохранение базы данных, то на экране появится список баз данных по всем предприятиям и фирмам.
Замечательно, скажете вы, ведь это очень удобно. Я тоже так думал, до тех пор пока не попробовал сохранить все базы.
Сначала все было замечательно, список, окно диалога. Предложение ввести произвольное имя.
После третьей попытки и поиска файла с базой, я понял, что не могу найти его на жестком диске компьютера, хотя имя файла и путь сохранения задавал сам и естественно их помнил.
Отчаявшись найти файлы я было собрался звонить в техподдержку, как вдруг увидел новый файл в папке с программой.
Открыв его я понял, что это и есть искомый файл с базой данных. Правда имя у него было совсем другое, не то, что я задавал при сохранении. Куча цифр и букв, похожие на шифровку. Ладно, пусть будет так, подумал я, и продолжил сохранять остальные базы. Выбрал второе предприятие из списка и нажал кнопку Сохранить даже не задавая имя файла.
В итоге я вообще не обнаружил новых файлов на компьютере. Никаких ошибок программа не показала, ничего нового вообще.
После нескольких неудачных попыток я все таки позвонил в техподдержку. Каково было мое удивление когда я узнал, что для того чтобы сохранить базу данных второго предприятия необходимо полностью закрыть программу и зайти в нее снова, выбрав при старте программы требуемое предприятие. На мой вопрос - А зачем тогда при нажатии кнопки Сохранить базу данных появляется список из всех существующих предприятий? И почему нельзя сохранить базу из уже открытой программы?
Девушка их техподдержки гордо ответила - А это защита от дурака. Специально, чтобы пользователь ничего не напутал.
Да уж, я сразу ощутил себя тем самым дураком, от которого и была реализована защита.
В общем не буду мучить читателя техническими подробностями, скажу лишь, что все принципы коммерческого программирования были попраны этим шедевром программистской мысли. Яркий образчик “широкого профиля”, когда на первом месте не покупатель, не маркетинг, не дизайн, а наши “могучие” умы, решающие “2+2″ посредством сложнейших алгоритмов.
Кто-то называет таких программистов гениями, а я их зову скромно - халтурщики.
Рынку, как и потребителю, абсолютно по барабану, чего там в программу “понапихано”, насколько крутые алгоритмы реализованы в программе, и сколько времени программисты потратили на реализацию. Рынок признает только результат.
Да, в “дикие” девяностые, когда культура коммерческих отношений только зарождалась, такие программы могли появиться на свет, но сейчас, в свете дикой конкуренции такие программы выглядят как человек в пальто на нудистском пляже.
В итоге, я нашел в интернете абсолютно бесплатную и простенькую программу, которая могла все, что необходимо для текущей бухгалтерии, безо всяких “танцев с бубном” и “шаманских песнопений” у компьютера. Шедевр же “широкого профиля”, был благополучно отправлен на свалку. А если они будут продолжать в том же духе, то вообще останутся без клиентов. Ведь сразу пять фирм они уже потеряли. И соответственно пять непродленных лицензий получили в свой пассив.
Для более сложных целей существует 1С (тоже своего рода шедевр) и прочие аналоги.
А теперь расскажу о продажах на рынке программного обеспечения у нас.
Скажу сразу, мои знания этого рынка ограничены личным опытом, я никогда не изучал этот рынок специально и возможно кто-то может дополнить мои пробелы или указать на неточности.
Пример первый:
Создатель ПО делает свой сайт, и начинает массирование наступление, с рассылкой коммерческих предложений на е-почту, продвижением сайта и прочими веб-штучками.
Пример второй:
Создатель ПО нанимает в штат менеджеров, которые действую по методу “brute force”, т.е. обзванивают всех и вся, носятся по городу со своими коммерческими предложениями и т.д.
Пример третий:
Создатель ПО нанимает несколько толковых менеджеров, которые с места в карьер предлагают “попробовать бесплатно”. Т.е. мы вам установим программу, вы попробуете, понравится купите, не понравится она поработает тридцать дней и отключится.
Вот на третьем примере я и хотел бы остановиться. Но не на конкретном способе продаж, а на такой актуальной вещи как - Потребности клиента.
Для чего вообще нам нужны программы? По сути, так сказать, не потому, что их нам “впарили”, не потому, что “программа модная”. Коммерческая Программа нам нужна только для одной цели - повысить рентабельность.
Т.е. автоматизировать процессы, уменьшить влияние человеческого фактора, получить возможность хранить конфиденциальные данные в безопасности, уменьшить документооборот и т.д.
Но к сожалению, зачастую ПО не продают, его впаривают, впаривают и ещё раз впаривают. Простите за сленг, но так оно и есть. Программисты и иже с ними пропихивают свои детища на рынок всеми правдами и неправдами. Как любой родитель они свято верят в гениальность своего детища. И берут штурмом клиентов, осаждают фирмы, фирмочки и крупные компании. Идут в атаку с применением тяжелой артиллерии. При всем этом забывая или вообще не учитывая интересов клиентов и потенциальных покупателей.
Вернемся к “третьему способу”, если уж менеджер сумел подобраться так близко к жертве, то бишь к потенциальному клиенту, то он просто обязан предложить нечто, что потенциальный клиент оценит по достоинству. Продажники меня поймут.
Но жизнь суровая штука. Буквально на днях, к знакомым в офис пришел такой менеджер, с установочным диском и “программой Вашей мечты”. Он сумел пробиться через такие телефонные барьеры как секретарша, менеджер, помощник бухгалтера и добился разрешения от главбуха прийти и поставить программу на её компьютер. Это своего рода победа.
И вот программа установлена, менеджер отбывает в неизвестном направлении. Потенциальный клиент ради интереса тычет в ярлык программы… Все, программа запущена, но там опять уже описанный выше “широкий профиль”.
О да, там было всё, морской бой и нарды, конвертер MP3, редактор HTML, обработка графики…
Простите, что-то я увлекся, конечно там не было всего этого, это была ещё одна бухгалтерская программа “широкого профиля”, на изучение которой главбух должна была бы потратить не одну неделю. Спрашивается - А оно ей надо? Если у нее на компьютере уже стоит две-три таких же программы?
И тут я плавно подхожу к концепции Getting Real, которую я уже упоминал в своих статьях.
В двух словах она заключается в следующем - Если можно упростить - упрости. Если все сложно - упрости. Если нельзя упростить - найди возможность и упрости.
Эссе. Программисту:
Программист, перестань быть программистом, хотя бы на секунду стань рядовым пользователем, взгляни на свою гениальную программу его глазами и ужаснись. Не забывай, что пользователь не оценит внутреннее содержимое программы, он видит только две вещи - обложку и свою выгоду. Рядовой пользователь это страшно ленивый человек, ему хочется чтобы все было просто, ещё проще, максимально просто. Ему неинтересно напрягать свой мозг, и вовсе не потому, что он глуп или бездарен, просто у него другие цели, он хочет открыть программу, поработать и закрыть. И поверь программист, эта программа сразу вылетит из его головы. У него другие цели в жизни, у него другие интересы, не забывай об этом программист.
Ну и напоследок, пару слов о создании коммерческого ПО.
Существует два основных пути в разработке ПО:
1. Создать универсальное ПО, руководствуясь своим чутьём рынка и продавать его всем желающим.
2. Разрабатывать ПО под индивидуальные заказы.
Несмотря на видимые различия и в первом, и во втором случае существует определенная последовательность действий.
Необходимо четко представлять, что именно получится в итоге. Если эта последовательность не соблюдается, то начинаются “хождения по мукам”, метания, и пресловутый “широкий профиль”.
Поэтому несколько предложений по улучшению процесса - Всегда составляйте Техническое Задание. Даже если вы пишите “для себя”, научитесь быть дисциплинированным, поработайте с “бумагой”, составьте чёткий и последовательный план действий. Проработайте Техническое Задание от А до Я, а потом от Я до А. Если вы хотите не только написать программу, но и заработать - составьте бизнес-план, в котором будут указаны не только цены, но и цели на ближайшее полугодие (как минимум). Если вы работаете в команде - распределите роли. Не бывает двух начальников с равными полномочиями, иначе будет как в пословице про “семь нянек”. Не создавайте программу по принципу - “И так сойдёт”. Если нет возможности нанять бета-тестеров побудьте ими сами. Продавайте не только функционал, но и обложку. Упрощайте где только возможно. В крайнем случае не усложняйте. Больше смотрите глазами пользователя и меньше глазами программиста.
Вот и все на сегодня. Как говорит один мой знакомый - Будь проще и к тебе потянутся люди. Всем удачи.
Вы можете подписаться на RSS нажав на эту ссылку, или получайте статьи первыми на e-mail.
Блогообзор:
Макс Крайнов - Список причин, почему вы влезаете в долги по кредитке. Всем владельцам кредиток читать обязательно.
С прошедшим днем рождения поздравляем - Дмитрия Давыдова.
Алексей Новиков защищает Самизнаетекого - Открытое письмо всем на свете гурам, тренерам и консультантам. И справедливо защищает, стоит заметить.
© Поляков Валентин. Рынок оптимизации.