Перед написанием этой статьи я задумался на тему - Насколько читатели, подписчики и посетители разбираются в такой сфере как - Программное обеспечение.
Компьютер, чтобы читать статью, в наличии.
Умение пользоваться браузером, есть.
В 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.
Блогообзор:
Макс Крайнов - Список причин, почему вы влезаете в долги по кредитке. Всем владельцам кредиток читать обязательно.
С прошедшим днем рождения поздравляем - Дмитрия Давыдова.
Алексей Новиков защищает Самизнаетекого - Открытое письмо всем на свете гурам, тренерам и консультантам. И справедливо защищает, стоит заметить.
© Поляков Валентин. Рынок оптимизации.
Валентин побрый день.
Ты прямо по живому режешь )
Сразу вспомнилась цитата из баша: Вчера скачал Nero 9…. Ну что ж, рад что он всё ещё записывает диски :)
В общем полностью с тобой согласен, всегда поражала способность всё усложнить. Я по образованию не программист, но в школе очень увлекался этим, ну и по работе частно сталкиваюсь. И само собой много общался в обществе тех кто пишет программы. И моё мнение - это просто особенность, мышления что ли, этих людей. Они хотят чтобы было всё, и без грамотного управленца(заказчика, как вариант) они способны на всё.
В институте, когда ещё никто особо не слышал о плоттерах и о том что чертежи можно чертить на компьютере. Я, обуреваемый своей ленью решил всё таки разобраться в этом, ибо чертить вообще не умел, а компьютеры меня всегда слушались :) И вот, раздобыв диск уже не помню какого автокада я принёс его домой, установил и начал думать. Передо мной мелькали куча линий, графиков, бегали значения точек координат, выжимая точность аж до миллионных долей пикселя. И в придачу к этому всё чертилось зелёными линиями на чёрном фоне. Честно скажу я тогда сдался, и пошел чертить (нужен был всего один чертёжик на А4) вручную. Но спустя примерно год, мне на глаза попался всеми призираемый(потому что MS) Visio. Все мои друзья программисты кричали что это гавно потому что у него нет …… и таких функций. А если приглядется там было всё, всё что надо. Был приятный глазу интерфейс, и главное, возможность тупо черить линию(!!!) От точки А к точки Б, просто и без напрягов. Мало? Но что ещё нужно чтобы чертить? Собственно потом умение чертить в этом визио всё что угодно, помогало мне подрабатывать во время учёбы. Хотя сейчас к слову сказать, MS усиленно работает над тем, чтобы исправить эту непозволительную простоту своего чертёжника.
В голове вертится куча примеров из жизни, но думаю их у каждого полно.
Сори если комент 2й раз пришел, 1й раз не опубликовался почему то :) P.S. спасибо за статью )
Валентин, 2 раза пытался написать коментарий, почему то не публикует (
Привет Андрей!
Сорри за комментарии, я антиспам плагин поставил, а он… (
Комментарий тоже в тему, спасибо за отзыв.
Про Nero 9 ещё одна цитата с Баша:
Такое впечатление, что я вышел в тапочках, в соседний магазин, купить пару буханок хлеба, а там меня встречает цирк лилипутов, со слонами, оркестром и китайскими акробатами. ;-)
Во во ))) В общем больная мозоль, что тут говорить. Хотя по опыту знаю, если знаючи направлять этих гениев, то отличные вещи получаются. Только в реальности ими руководят те же самые программисты(как ты сказал - широкого профиля), которые всячески гордятся, что их прога такая навороченная )))
Как по мне, лучше пять программ, каждая для своей цели, чем одна вмещающая функционал всех пяти.
Интересно, а Вы знаете кто такая Настя Манно, или может быть слышали про белый блог бешенной барышни?
Согласен с Валентином… лучше 5 отдельных утилит, чем одна программа вмещающая все :)
> взгляни на свою гениальную программу его глазами и ужаснись
Клиент Всегда Неправ :)
А при чём тут программисты??!! Я сам таким был, теперь менеджер. Из всего, что описано я понимаю что у менеджеров по разработке описанного ПО проблемы с головой. У программистов свои проблемы с головой и они умеют писать код и реализовывать функциональность, но не создавать программы. Менеджер является связующим звеном между потребностями которые должна решать программа и реализацией этой самой программы. Поэтому я знаю что наши программисты действительно талантливы. Талантливей чем западные. А вот западные менеджеры просто гении по сравнению с нашими. Их сила в осознании потребностей рынка и в видении конечного результата того, что эти потребности будет удовлетворять. ИМХО!!!
Сергей, спасибо за комментарий.
Я уверен, что многие наши программисты талантливы (как программисты), правда не более чем западные, проблема именно в том, что каждый должен заниматься своим делом, но большинство наших софтверных компаний основаны программистами, и именно они в ответе за тех “уродцев” которые существуют на нашем рынке. Именно гордость за “наших” программистов (вбиваемая на уровне подсознания в ВУЗах) не позволяет им признать, что они ни черта не смыслят в рынке и потребностях потребителей.
Я сам программист по образованию и знаю, что говорю. Решить математическую задачу? Я приглашу нашего программиста. Написать качественную программу без пререканий и самодеятельности? Увы, тут наши вундеркинды в проигрыше.
Насчет менеджеров согласен полностью, но тут обратная сторона медали, они просто не могут ориентироваться на на рынок и развиваться вместе с ним, у наших потребителей нет желания работать честно и платить за качественную работу. Откаты, протекция, кумовство и т.д. практически уничтожили внутренний (качественный) рынок.
Приятно общаться с умным человеком. Я прочитал все ваши статьи подчерпнув много интересных нестандартных мыслей. Что касается программистов, в создании хороших программ программист играет основную, но не главную роль и таки наши программисты действительно креативней и производительней. Я говорю именно о специалистах с хорошим опытом работы в серьёзных проектах. Идеальное сочетание это зарубежный менеджер и наши спецы. Это формула успеха. Что касается Украины, как всегда качество заменяется количеством. Низкая оплата отпугивает спецов, но привлекает студентов. Отсутсвие должного опыта у руководства, нежелание развиваться и непонимания такого понятия как конкуренция по причинам описанным вами формирует адское сочетание - ничего не смыслящее в разработке ПО руководство, пару спецов мамонтов старой школы и куча зелёных вундеркиндов. Моей первой работой была работа на украинскую контору по разработке банковского ПО, отработал два года и зарёкся работать в отечественных конторах. Специалист не сможет долго работать в такой конторе.
С другой стороны хочется верить что, рыночные отношения рано или поздно таки прийдут в Украину и отечественные компании таки проведут оптимизацию внутренних бизнес-процессов ну или останутся за бортом, что тоже неплохо.
Ещё хочется заметить, что вы уже программист только по образованию. И слава богу!
К сожалению подобный формат общения затрудняет развитие дискусии, но надеюсь я всё таки донёс вам свое соображение. Как говорится - не стреляйте в пианиста, он играет как умеет.
Сергей, спасибо за такой развернутый ответ.
Хочу только добавить к сказанному Вами, что также очень надеюсь на улучшение ситуации на украинском рынке ПО. Да и вообще на всех остальных рынках, когда рыночные отношения будет диктовать здоровая конкуренция, а не протекция и откаты.
А еще очень хочется надеяться на улучшении системы образования, которая не в последнюю очередь виновата в огромном количестве малограмотных “специалистов”.