Как с помощью всего одного небольшого абзаца текста получить от программиста толковую программу

 

????? ????? ?? ???? ???? ???????

 

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

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

Каким же образом гарантировать «хорошесть» программы и получить отличные отзывы пользователей? Для этого в задание программисту надо вставить всего один небольшой абзац текста.

Вот как это происходит в реальной жизни.

Пример 1: две галки

Ситуация «Две галки» возникает если не сотни, то уж точно десятки раз в процессе разработки любой программы.

От клиента приходит срочный запрос: сделать на одном из экранов программы две галочки (чекбоксы). Что делает программист? Трудоемкость этих двух галочек небольшая, и потому обсуждать с клиентом такую мелкую доработку просто не хочется. Как хороший исполнитель, программист делает так, как сказал клиент: ровно две галочки, ровно в тех местах, которых указал клиент.

И что в итоге? Конечно же, клиент не принимает работу, т.к. ему нужно было совсем не то, что получилось в результате. Более того, он ещё и высказывает претензии программисту.
Почему так происходит? Потому что программист не разобрался в сути задачи – зачем и почему клиенту нужны были эти две галочки.

Пример 2: человек и дерево

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

Что делает программист первым делом? Конечно же делает дерево! Я не знаю за что наши программисты любят компоненту дерева, но применяют они ее где попало и где ни попало, в любом языке программирования и на любой платформе.

В результате применения этой компоненты пользователям пришлось делать чуть ли не по 10-15 кликов для выбора сотрудников в форме, чем они, естественно, были оченьнедовольны.

Очевидно, что и в этом примере программист просто не стал задумываться о цели и назначении разрабатываемой им экранной формы. (Если интересно, каким стал успешный вариант реализации данной формы – обращайтесь, расскажу)

Почему так происходит? Почему программист не может взять и просто написать хорошую программу? Ответ очевиден – он занят процессом программирования и смотрит в первую очередь на качество кода, а не на его результат. И это совсем не плохо. Скорее наоборот – это признак профессионализма и стремления к совершенству, совершенству техники кодирования.
Как же сделать так, чтобы программист кроме отличного кода создавал еще и решения, удобные для конечного пользователя?

Для этого в любое задание программисту надо включать всего один небольшой параграф текста:

Бизнес-цель

Цель – описать назначение доработки или задания. Для чего нужно то задание, которое Вам дали?

Задача: проставить две галки на форме такой-то в таких-то местах

Описание цели:
Бизнес-цель: дать возможность клиенту производить заказ за один клик, что повлечет за собой существенное увеличение количества заказов.

Зная ключевую информацию и понимая ее важность, программист тысячу раз подумает прежде, чем поставить галочку на той или иной форме: «а действительно ли это ускорит процедуру заказа?». А раз действия осмыслены, значит в результате получится код, который не только будет отличным по техническим характеристикам, но и гарантированно достигнет конечной цели – удовлетворить потребности непосредственного пользователя программы.

Итог

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

А задумывались ли Вы над тем, с чего лучше всего начать разработку своей shareware-программы? Сразу с кодирования? Уверены?.. Об этом в следующем выпуске.

P.S.

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

Выскажите свое мнение прямо на этой странице

Подпишитесь на новые публикации

Если Вы хотите получать новые публикации этого блога мгновенно при их появлении, добавьте RSS блога в свой rss-reader или подпишитесь на получений новых сообщений по e-mail.

Рассылка на E-mail

Ищу

Ресурсы со статистикой по американской интернет-аудитории

Для использования в статье, ищу ресурсы с анализом американской целевой аудитории наподобие voxru.net.

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

Информацию о сборниках бесплатного софта в Штатах

И о том, как shareware-программе Эскулап Про попасть на этот сборник.

Программиста PHP со знанием Ajax

Для совместной разработки web 2.0-проекта с отличным потенциалом.

Программиста Windows-приложений

Для совместной разработки прикольной shareware-программы.

Заказчиков на разработку софта

На технологиях:

  • PHP+MySQL (+Linux+Apache)
  • Delphi+Oracle

Нуждающихся в консультации по CRM-системам

Расскажу о том как работают CRM-системы, как с их помощью увеличить количество повторных заказов, и какие они бывают.

Желающих поучаствовать в продвижении туристических сайтов

Есть пара запросов.

Контакты

varenich [at] gmail [dot] com
Skype: varenich

Popularity: 14% [?]

 

 

Комментариев: 4

  1. daedmenNo Gravatar (Декабрь 21, 2007/16:27 )

    Имхо процес изначально не правильный, заказчик с программером вобще взаимодействовать не должны. Задача программиста кодировать- и все. А вот как сделать удобнее или правильнее с точки зрения бизнеса, это задача аналитика\архитектора, который должен иметь представление о бизнесе для которого пишется прога, о бизнес процессах. И именно с ним должен заказчик взаимодействовать.

  2. ЕвгенийNo Gravatar (Декабрь 21, 2007/16:45 )

    Я приводил пример из работы наших программистов, сидящих на багах, т.е. это не моя выдумка, а реальная жизнь. Плюс не везде есть аналитик/рисователь интерфейсов. У нас сначала не было выделенного человека. До тех пор, пока мы окончательно не задолбались переделывать программы :-)

  3. а мальчик вырос и не забыл … : Записки шареварного маркетолога (Декабрь 24, 2007/12:57 )

    [...] Панин рекомендует добавлять описание бизнес-цели в ТЗ на разработку. Влад рассказывает о том, как переводил сайт на [...]

  4. кредит под автоNo Gravatar (Январь 4, 2008/02:11 )

    В теории Заказчик и Программист не должны пересекаться. Но для этого между ними должен стоять Постановщик задачи. Ну а если его нету? И приходят служебные записки к программерам а-ля «вот мы хотим что бы было …» и приходится отфутболивать назад:

    опишите технологический процесс,
    опишите кто и когда должен это выполнять,
    опишите что делать если вот это и вот так …

    а пользователь и сам не вкурсе … он хотеть то хочет а вот как оно должно быть и не знает …

    вот таквот по сути создается ТЗ и вот только тогда переходишь к программингу … а время отведенное на реализацию уже вышло …

 Оставить комментарий

   Работа в интернете. Заработок на блоге.

 

Подписка

Подписчиков

Рубрики

Поиск

Давайте дружить

Twitts

Каталоги

Google Buzz