Заказать обратный звонок

Введите ваш номер телефона

Подписаться на рассылку
Спасибо, Ваш запрос принят!

Наш сотрудник свяжется с Вами в ближайшее время

8 (861) 203-01-57 Заказать звонок
г.Краснодар

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

Чувствую недосказанность и потребность показать некоторые минные поля и подводные камни с граблями на этом пути.

Давным-давно, когда я еще был программистом в одной крупной компании, мы с коллегами постоянно шутили и смеялись над техзаданиями, которые нам приносили пользователи. Если очень кратко, то все их можно было описать так: «Сделай мне программу, у которой посредине на весь экран будет кнопка с надписью «Хочу чтобы все завелось!» - я ее нажимаю и все завелось!».

Примерно так должна выглядеть программа по словам заказчика:

Хочу, чтобы всё работало

 В половине случаев, когда я пытался «уточнить детали» - что, и как именно должно «завестись», пользователь округлял глаза и говорил:

Откуда я знаю? Тыжпрограммист – вот и думай!..

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

«Если у менеджера продажи плохие – программа начисляет ему штраф. А если хорошие – бонус».

Глупая программа не понимает, что такое «хорошо» и что такое «плохо» - ей надо написать более внятно:

«Если у менеджера продажи менее 100000 в месяц – программа начисляет ему штраф. А если более 500000 – бонус».

Но это еще не все. Осознайте тот факт, что переводчиком с вашего языка на программный будет человек-программист. Те, кто сталкивался с ИТ-специалистами, наверняка знают, что все, что можно извратить и понять неправильно, обязательно будет извращено и понятно неправильно. И дело не в том, что программисты и прочие ИТ-шники плохие. Просто они другие и зачастую живут в своем мире. Визуально его (мир) можно представить так: Программист галазми пользователя

Мой любимый анекдот на эту тему:

Жена отправляет мужа-программиста в магазин со словами: «Купи батон, если будут яйца – возьми десяток».

Муж возвращается с десятком батонов. Жена в шоке: «Ты что – идиот? Зачем принес 10 батонов?!». А тот отвечает: «Так яйца же были…»

Т.е. у человека в голове очень формальная логика:

1. Прийти в магазин за батоном

2. Проверить, есть ли в магазине яйца

2.1 Если условие выполняется – купить десяток батонов

2.2 Если условие не выполняется – купить один батон

Вы поймите – они действительно так мыслят. Я сам программист не только по образованию, но и с практическим стажем – я знаю…

Очевидно, что все, что будет написано в техзадании неоднозначно и двусмысленно, будет использовано против Вас :) В результате Вы рискуете получить не ту программу, которая нужна Вам, а ту, которая причудилась программисту. Вам оно надо?

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

Возможно. Но надо понимать, что программист, который в состоянии мыслить не только формально, программной логикой, но и смотреть на задачи с точки зрения бизнеса – уже, скорее всего давно не программист, а собственник ИТ-компании и он командует группой разработчиков, ставит им задачи и контролирует исполнение. Вряд ли вам удастся легко его нанять. По крайней мере, стоить его услуги будут сильно дороже, чем услуги программиста-технаря.

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

Если технарям не доверяете, а на бизнес-аналитика денег нет, или есть острое желание написать техзадание самостоятельно, рекомендую к ознакомлению инструкцию, которая поможет Вам структурировать мысли и самостоятельно написать техническое задание на внедрение CRM-системы.

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

 

Понравилась статья? - поделитесь в соц.сетях:

-->
Будь в курсе!

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

Подписаться!
Ваше собщение отправлено!
Сбой при отправке сообщения. Попробуйте еще раз.