Пишем техническое задание программисту: инструкция для новичков
Вещи, которые по началу кажутся сложными, мы лучше понимаем на простых примерах.
Например, вы хотите, чтобы все данные с заявок на сайте автоматически попадали в список рассылки «Заказы с сайта». Давайте посмотрим, как ставить такие задачи программисту без необходимости хоть что-то понимать в программировании.
3 способа связать сайт с сервисом рассылок
Прежде всего, нужно решить, как связать сервис email-рассылок с вашим или CRM-системой.
Вы можете использовать:
- Готовые интеграции. Например, сервис UniSender интегрируется с популярными CRM-системами , CMS-системами и интернет-магазинами.
- Интеграции с помощью Zapier – специального сервиса, который позволяет связывать разные системы не привлекая программиста. Как связывать сервисы через Zapier.
- Интеграции по API.
Последний способ используется, когда готовых интеграций нет или нужно сделать что-то, что они не позволяют.
Поэтому советую изучить для начала, что можно сделать с помощью готовых интеграций. И только если нужную вам задачу невозможно решить, обращаемся к API.
Что за зверь такой – API?
По сути, это «язык», с помощью которого две системы (например, сайт и система рассылки) могут понимать друг друга и обмениваться данными.
API-документация — это развернутая инструкция для программиста, как организовать «общение» вашего сайта с системой рассылки, чтобы она совершала нужные действия в нужный момент.
Для того чтобы программист понял, что именно вы от него хотите, ему нужно это максимально детально объяснять.
Я в работе использую такую схему:
Пример работы этой схемы легко понять на известном меме:
А теперь разберём первую схему детальнее.
Что проработать в техническом задании. 5 элементов
1. Источник
Источник – это система, откуда мы берём данные.
Например, какой-либо сайт example.com или ваша CRM-система.
2. Триггер
Триггер – это событие, по которому данные должны передаваться.
Например, могут быть такие триггеры:
- посетитель на сайте заполнил и отправил форму «N»;
- пользователь зарегистрировался на сайте;
- авторизированный пользователь обновил данные о себе в личном кабинете, отписался от рассылки или изменил условия её получения;
- менеджер обновил статус клиента в CRM-системе на «N»;
- пользователь совершил заказ.
То есть, триггеры зависят от возможных действий пользователя на сайте или смены статусов в CRM-системе.
3. Данные
Какую именно информацию о пользователе мы передадим в систему рассылки, когда сработает триггер.
В большинстве случаев нужно передавать email-адрес и значения других полей, которые необходимо продумать заранее.
Например, на сайте есть форма заявки с такими полями:
- Ваше имя.
- Телефон.
- Город.
И мы хотим, чтобы данные автоматически попадали в группу «Заявки».
В системе рассылки поля «имя», «email» и «телефон» уже существуют по умолчанию. А вот поле «Город» нам некуда передавать, поэтому для начала его нужно создать в системе рассылки.
В сервисе UniSender это делается так:
www.unisender.com
Техническое задание для программиста по SEO – как правильно составить
В рамках SEO-продвижения иногда необходимо добавить на сайт какой-либо функционал, который ранее отсутствовал. Например, разработать онлайн-калькулятор, продумать программу рассылки, сделать страницу благодарности после оформления заказа.
Техническое задание (сокращенно ТЗ) – это документ, в котором подробно описываются конкретные работы, которые должны быть выполнены. Оно пригодится, когда нет готового решения задачи и все нужно продумывать самому. Тогда вам понадобится помощь программиста. И в этом случае как раз необходимо разработать ТЗ для этого специалиста.
Зачем вообще ТЗ
Многие не понимают, зачем вообще нужно тратить время на составление технического задания для программиста, если можно просто объяснить все исполнителю в письме в нескольких предложениях.
К сожалению, не все задачи получится объяснить простыми словами. Иногда программисты просто не понимают, что от них нужно. Либо бывают ситуации, когда исполнитель считает, что все очевидно, выполняет задачу, а потом выясняется, что заказчик хотел другого.
Например, в нашей практике был случай, когда мы сделали форму заказа расчета, а клиент начал возмущаться, что там не было возможности прикрепить файл с неограниченным размером. Для него это было само собой разумеющееся, но для нашего исполнителя подобной задачи не стояло, поэтому вышла такая ситуация.
И вот здесь возникает конфликт, где, по сути, каждый по-своему прав: заказчик не получил то, чего ожидал, исполнитель же сделал все в точности с заказом, а остальные пожелания в стоимость уже не заложены. Решиться этот конфликт может несколькими способами: либо заказчик примет то, что есть, либо программист доделает все бесплатно, либо обе стороны придут к компромиссу. В любом случае будут пострадавшие.
Вот тут как раз и пригодится техническое задание для программиста. Любые более-менее масштабные нетипичные доработки сайта по SEO (для которых нет готового решения) нужно сопровождать ТЗ. Можно сказать, что это просто формальность, но, к сожалению, программисты не экстрасенсы (пока еще) и не всегда четко понимают, что необходимо клиенту. Как раз для этого и составляются четкие задачи, а также оговариваются для них сроки и методы выполнения. В будущем техническое задание поможет решить возможные спорные моменты и избежать недопонимания. Если работать без ТЗ, есть опасение, что вы получите совсем не то, чего ожидаете.
Составление технического задания для программиста – это:
-
экономия времени
Чем подробнее вы опишите, что необходимо сделать, тем быстрее это сможет выполнить специалист, так как ему не нужно будет тратить время на уточнения
-
способ понять, что конкретно надо
Главная цель технического задания – убедиться, что клиент и исполнитель правильно поняли друг друга. ТЗ позволяет выразить свои идеи, сделать их понятными для окружающих и получить в итоге именно то, что нужно. С помощью технического задания мы можем упорядочить мысли, правильно поставить задачу и увидеть противоречия на самых ранних этапах.
-
фиксирование принятых решений
Благодаря ТЗ исполнитель будет застрахован от множества корректировок и доработок. А клиент будет уверен, что все задуманное им и прописанное в ТЗ реализуется. Если после или во время выполнения работ клиент начнет требовать от вас то, что вы изначально не оговаривали и что не прописано в ТЗ – вы всегда сможете сослаться на документ. В таком случае правда на вашей стороне.
Кто должен составлять ТЗ для программиста
Вообще нет разницы, кто будет заниматься составлением технического задания – это можете сделать вы, а может клиент. Главное – после этого показать его специалисту, программисту, чтобы оценить, все ли четко и понятно.
Каким должно быть ТЗ для программиста
-
Конкретным, а не абстрактным и расплывчатым
Не нужно использовать абстрактные фразы, например «должна быть удобная навигация». Это все субъективные признаки – одним удобно, другим нет, поэтому понять, выполнен ли данный пункт, будет сложно, и в случае спора не удастся установить, кто прав. Рекомендуем обойтись без качественных прилагательных: красивый, приятный, современный. Их нельзя понять однозначно. У каждого свои понятия красоты. Формулируйте свои мысли четко и просто.
-
Структурированным
Желательно оформлять техническое задание списком, а не сплошным текстом, с использованием пунктов и подпунктов. Можно выделять жирным значимые ключевые фразы, чтобы было удобней находить информацию. Структурированное ТЗ позволит облегчить понимание задачи, как для клиента, так и для программиста.
-
Полным
Идеальное техническое задание для программиста должно быть подробным и полным, чтобы у него не возникло дополнительных вопросов. Чем точнее и продуманнее ТЗ, тем лучше как для заказчика, так и для исполнителя.
Что должно быть в ТЗ для программиста
- цель – укажите задачу, которую необходимо решить;
- описание – подробно изложите, что конкретно и как нужно сделать;
- способ реализации – если вы не владеете специфической терминологией, можете описать задачу простыми и понятными словами. Если же вы владеете знаниями и соответствующим лексиконом, то можете использовать термины, понятные программисту, но только там, где без этого действительно не обойтись.
Как написать ТЗ для программиста для решения задач по SEO
Разберем, как правильно составить ТЗ для программиста для решения задач по SEO на примере некой ситуации. Следует отметить, что универсальной формы ТЗ на все случаи жизни не существует. Мы предлагаем свое видение, но вы можете дорабатывать техническое задание на свое усмотрение.
Чтобы получить от клиента четкое ТЗ, вы можете задать ему наводящие вопросы, ответы на которые помогут вам понять, что конкретно требуется. Часто клиенты не разбираются в проблеме вообще никак, они только ставят задачу, которую надо решить.
В таком случае ваша цель – предложить клиенту варианты решения задачи, описать какие-то идеи и задать наводящие вопросы. Вам нужно максимально уточнить пожелания клиента. Для этого узнайте как можно больше информации, которая поможет в работе. Не стоит додумывать за клиента даже мелкие детали. Постарайтесь понять, как в итоге заказчик видит вашу работу. Что конкретно он хочет получить? Определите перечень задач, стоящих перед вами как исполнителем.
Пример:
После того, как получите ответы на все вопросы, можно приступать к составлению ТЗ для программиста. В первую очередь прописываем цель, затем – полное описание решения задачи.
Допустим, клиенту нужно проработать SEO умного фильтра на самописной CMS, чтобы продвигать сайт по низко- и среднечастотным запросам. В цели прописываем: «Необходимо сделать на сайте индексируемый фильтр». В дальнейшем это предложение нужно раскрыть более подробно. Указываем, что конкретно требуется от исполнителя. Например:
Чтобы сделать фильтр индексируемым, необходимо:
- Настроить человекопонятный URL с приведением к нижнему регистру. Например адрес https://site.ru/catalog/brand-Audi/model-A4/group-%D0%9A%D1%83%D0%B7%D0%BE%D0 должен стать таким – https://site.ru/catalog/brand-Audi/model-A4/group-kuzov/detail-bamper-perednij/
- Осуществить возможность добавления уникальных мета-тегов, тегов и заголовков на данных страницах. На данный момент то, что есть по умолчанию, можно оставить. Но в рамках оптимизации определенных страниц будут составлены теги с учетом более частотных запросов.
- Далее данные URL надо добавить в https://site.ru/sitemap.xml. Желательно свести их в отдельный <sitemap> и <loc>, назвав, к примеру, https://site.ru/sitemap_filter.xml
Как вы видите, мы подробно расписываем все по пунктам: какие ЧПУ должны быть, необходима ли возможность добавления тегов на сайт; указываем, что страницы нужно добавить в sitemap и т.д.
После составления технического задания для программиста нужно показать его заказчику, чтобы убедиться, что он имел в виду именно то, что вы описали. И только после этого можно отдавать его программисту. В свою очередь, если ему что-то будет непонятно из составленного ТЗ, нужно будет уточнить информацию у клиента.
Вывод
Несомненно, составленное техническое задание для программиста не избавит вас от всех проблем при выполнении задачи, но оно позволит с самого начала оговорить все требования, обойтись без повторных обсуждений и зафиксировать принятые решения. ТЗ избавит вас от ряда проблем и ненужных вопросов. Главное правило при составлении технического задания – знать и понимать задачу, которую ставишь, и расписывать ее более детально, учитывая все возможные нюансы.
В рамках SEO-сопровождения нам часто приходится разрабатывать ТЗ для программистов, чтобы внедрить на сайт какой-нибудь функционал. Если у вас не хватает компетенции, чтобы самостоятельно составить техническое задание – обратитесь к нам, поможем!
1ps.ru
Письмо программисту (ТЗ или тех задание)!
Техническое задание (ТЗ) или как правильно озадачить программиста!
В данной статье мы с Вами рассмотрим составление правильного технического задания для программиста работающего на финансовых рынках. Современные технологии позволяют полностью автоматизировать любую торговую стратегию и освободить трейдера от утомительных:
- Наблюдений за графиком
- Сложных вычислений
- Психологических нагрузок
- Эмоциональных переживаний
- Ошибочных действий
При желании автоматизировать свою торговую стратегию, Вам понадобиться человек обладающий навыками программирования и хорошо разбирающийся в специфике торговли на финансовых рынках.
Найти программиста это пол «беды», основная сложность заключается в том как объяснить программисту что вы хотите. Казалось бы ничего сложного нет, индикатор показывает BUY советник покупает, индикатор показывает SELL советник продает, но на самом деле для этих простых действий, программа должна выполнить массу предварительных шагов.
Вот только несколько простых:
- Проверить есть ли уже ордера. (Может на прошлом тике мы уже открыли ордер по сигналу)
- Проверить разрешено ли торговать. (Разрешена ли торговля по выбранной валюте)
- Проверить доступность интернет соединения.
- Проверить и рассчитать объём для торговли. (Хватит ли денег)
- Проверить и произвести вычисления из индикатора. (Получить сигнал)
- ……
Большинство этих показателей должен учесть именно заказчик, ведь программист не знает нужна ли проверка на разрешенные лоты или нет. Заказчик должен понимать что масса лишних проверок сильно замедляет работу программы, по этому заказчик должен максимально подробно описать и продумать торговую стратегию для автоматизации.
Грамотное техническое задание существенно сокращает время написание программы, в случае платного заказа, стоимость может быть минимальной, и что важно заметить заказчик получит желаемый результат без лишних проблем.
Техническое задание или (ТЗ) — это полное описание торговой стратегии с учетом точного состояния времени, цены, индикаторов или иных дополнительных математических объектов, а так же с точным указанием действий и поведения программы в реальных, тестовых условиях.
Техническое задание обязательно должно содержать три блока:
Блок открытия позиции — условия при которых программа открывает или устанавливает ордера в рынке. Сигналы индикатора с учетом по времени, номеру бара, состоянию бара, размеру бара и другие условия…
Блок удержания позиции в рынке — описываются все условия модификации ордеров, это может быть и трейлинг стоп, и стоп лосс, и тейк профит. Описывается все то, что программа должна делать с позицией которая находится в рынке.
Блок закрытия позиции — условия при которых позиция должна быть полностью или частично закрытой.
По мимо основных блоков могут быть еще дополнительные блоки:
- Блок настроек программы.
- Блок ММ (Мани менеджмента) в котором рассчитываются объемы для торговли (Лоты).
- Информационный блок, задача которого выводить на экран текущую информацию.
- Блок отправки сообщений на смартфон, почту или фтп сервер.
- И другие ….
Важно четкие условия в техническом задании!!!
Программист как и компьютер понимают только четкие условия да, нет, и, или. Если в Вашем техническом задании есть слова и словосочетания типа: Примерно, около, где то тут, в районе, здеся, додумайте сами, должно приносить прибыль, грааль, как нибудь. То Ваше техническое задание не годно, Вы потратите время свое, программиста и свои средства.
Рассмотрим пример правильного технического задания:
Торговая стратегия на двух скользящих средних.
Открытие ордеров:
Быстрая скользящая средняя пересекает медленную и при появлении нового бара открывается ордер не зависимо от того есть уже ордера в рынке или нет. Открытому ордеру устанавливается Тейк Профит согласно настройкам и Стоп Лосс. Период бара зависит от графика на который установлен советник.
Модификация ордеров:
Стоп Лосс савиться ниже локального минимума для баев и выше локального максимума для селов за последние 24 бара. Для всех ордеров применяется трейлинг стоп согласно настройкам советника.
Закрытие ордеров:
По тейк профиту, по стоп лоссу, по обратному сигналу.
Блок расчета лота:
Если последний ордер закрылся с убытком то для нового ордера лот будет увеличен в два раза.
Если последний ордер закрылся с прибылью то для нового ордера лот будет сброшен до начального из настроек
Блок настроек советника:
- По индикаторам — Период мувинга, Тип мувинга, Цены расчетов мувинга.
- Тейк профит
- Стоп лосс
- Лоты
- Меджик номер
- Проскальзывание
trading-go.ru
Как составить техническое задание программисту 1С
В этом разделе мы расскажем Вам, как составить техническое задание программисту 1С и что такое Составление ТЗ. Сразу заметим, что всё нижеизложенное является только советом, основанном на нашем опыте работы, и ни в коем случае не требованием, предъявляемым к составлению ТЗ. Основным результатом работы и для заказчика и для исполнителя, естественно, является сама программа, но кроме этого заказчику важно, чтобы работа была выполнена быстро, качественно и недорого, а для исполнителя очень важно верно оценить объем и не потерять клиента. Не секрет, что любая база данных — это не просто программа, а сложный механизм, который дорабатывается и улучшается на протяжении всего срока использования. Поэтому программист всегда старается сохранить перспективные отношения с клиентом и, учитывая Ваши интересы, старается подсказать как правильно, быстро и недорого реализовать проект.
Чем отличается Проект от Технического задания? Проект — это намерение разработать некий механизм автоматизации учёта или желание получать быстрые и точные отчёты от уже имеющийся системы. Начинается он с назначения руководителя проекта. Им может быть либо сотрудник фирмы заказчика, либо фирмы исполнителя; во втором случае, естественно, все услуги по ведению проекта войдут в его стоимость. Далее, в случае с «1С:Предприятием», выбирают и изучают типовую конфигурацию по вопросам её возможностей и необходимости в доработках. Только после соответствующего анализа руководитель проекта составляет доскональное и точное задание программистам на внесение изменений в конфигурацию. Это задание и называется Техническим заданием (ТЗ), и именно составление ТЗ рассматривается в данном разделе.
Есть ли смысл изменять конфигурацию? Этот вопрос требует серьёзного рассмотрения. Все конфигурации, работающие с бухгалтерской компонентой, в некоторой степени — правовые системы, т.е. кроме функций расчёта и хранения информации от них требуется соответствующее государственным законам ведение учета. Для этих программ фирмой «1С» ежемесячно выпускаются обновления 1С, как форм отчётности, так и самих конфигураций. Но что получится, если Вы измените программу, а после установите обновление? Все Ваши изменения пропадут. Можно каждый раз восстанавливать их, но зачастую это практически то же, что делать работу заново. В данной ситуации самый лучший способ — выполнять все доработки во внешних модулях. Рассмотрим конфигурацию, доработка которой, по мнению пользователей, необходима — «Торговля и Склад». Необходимость доработки — это не значит, что программный продукт некачественный, наоборот, эта конфигурация, пользуется огромной популярностью. В своём базовом варианте она способна работать в разных торговых сферах деятельности. Но у каждого бизнеса есть свои нюансы, и совмещать их в одной программе не имеет смысла.
Теперь перейдем к теме. У Вас возникла идея изменить программу или автоматизировать учёт. В своём воплощении любая идея проходит 4 стадии: Проектирование -> Реализация -> Проверка -> Анализ. В перспективных долгоживущих проектах после Анализа снова следует Проектирование, замыкая тем самым «круг»; такой цикл будет существовать на протяжении всего срока эксплуатации программы. Как показывает практика, для воплощения идеи необходимо 3-4 цикла, потом, через какое-то время, возникнет новая идея, но её реализация потребует меньших усилий. Что бы воплотить Ваш проект в жизнь при минимальных финансовых затратах, необходимо найти опытного исполнителя. Но, каким бы опытным не был программист, в первых двух циклах стадии: Проектирования, Проверки и Анализа желательно выполнять своими силами, при соответствующих консультациях исполнителя. Очень важно не жалеть времени на изучение материала -типовой конфигурации. Писать программу с «нуля» не имеет смысла, так как приобретая «1С:Предприятие» Вы в любом случае в комплекте получите конфигурацию. Как показывает практика, именно на стадии Проектирования возникает до 80% ошибок, особенно при разработке нестандартных решений, из-за неправильно сформулированных требований. Опытному программисту не стоит большого труда воплотить практически любое задание в жизнь, но его работа — это Ваши деньги и время; следовательно, чем точнее и продуманнее задание, чем ответственнее вы подходите к составлению ТЗ, тем быстрее и дешевле реализация.
Рассмотрим основные принципы составления ТЗ:
1. Изучите имеющуюся у Вас программу. Если её нет, попросите исполнителя установить демо-версию. В любом случае, сначала необходимо ознакомится с тем, что вы имеете, чтобы дважды за это не платить. Заполните справочники, создайте несколько документов, проверьте работу отчётов. Если что-то не понятно, проконсультируйтесь у исполнителя. По возможности начните работу в программе и, по мере необходимости, небольшими заданиями её изменяйте. Самое главное: не относитесь к типовой конфигурации как к полуфабрикату — это готовый к использованию программный продукт, написанный большим коллективом разработчиков и отлаживавшийся годами. Не ознакомившись с программой и написав большое задание, Вы практически «выбрасываете деньги на ветер», создавая сложности исполнителю и себе.
Вывод: хотите меньше потратить денег на доработку — изучайте программу.
2. Ознакомьтесь с интерфейсом программы. В случае, если назначение какого-то элемента Вам не понятно — проконсультируйтесь у исполнителя. Очень часто при разработке технического задания пользователи, которые только начинают использовать «1С:Предприятие», просят убрать не нужные, с их точки зрения, поля, документы или справочники. Не спешите этого делать, так как с одной стороны убрать их, для программиста несколько часов работы, а вернуть их в будущем обратно раза в два больше, и это время Вам придётся оплатить. Что же касается настройки прав доступа и меню — это совсем несложно, здесь нет необходимости приглашать специалиста. Не забывайте только о том, что, если Вы отдали конфигурацию на доработку, подождите, пока её вернут, иначе придётся делать настройки заново.
Вывод: старайтесь по минимуму изменять интерфейс, в плане удаления «ненужных» полей или усовершенствования, это дорогой и бесполезный процесс, а настройку прав и меню, проконсультировавшись со специалистом, сделайте своими силами.
3. При составлении ТЗ в начале разработки помните о том, что это задание, а не весь проект и постарайтесь объяснить программисту, что от него требуется в результате. Снабдите его образцами форм, сделанными в Ms Excel, Ms Word или нарисованными от руки, но в точности такими, какие Вы хотите получить. Постарайтесь не использовать подобных объяснений: «интерфейс должен быть предельно понятным», «документы желательно распечатывать по какой-то форме», «по результатам нужно, чтобы строился какой-то отчёт» или «документы как-то должны попадать в 1С:Бухгалтерию». Если Вы попросите оценить подобное задание, то цена может быть 10-1000 у.е., точнее сказать трудно. Лучше сформулируйте так: «интерфейс документа похож на документ Реализация ТМЦ», «необходимо две печатные формы, образцы прилагаются», «по результатам необходим следующий отчёт, его форма в Excel-файле». Разрабатывать обмен данными между базами лучше после накопления некоторого опыта работы с ними и проведения основных доработок, связанных с изменением структуры программы.
Вывод: постарайтесь в первом задании как можно подробнее объяснить программисту, что от него требуется. В дальнейшем задания могут иметь более свободную форму, всё зависит от взаимопонимания с исполнителем.
4. Если Ваш проект по замыслу глобален, а времени мало и Вы не знаете с чего начать, то не составляйте сразу большое техническое задание, а проконсультируйтесь с исполнителем и по возможности начните с небольших заданий последовательно.
5. Возникающие при разработке алгоритма трудности стоит обсудить с программистом. При всех различиях и спецификах деятельности в большинстве проектов реализуются схожие задачи. Наиболее часто такие как: система скидок (постоянные, накопительные или от суммы документа), система учёта заявок покупателей, системы расчёта потребностей в товаре и заказов поставщику, и конечно наиболее частые задания — по обмену между базами. Некоторые из этих вопросов уже решены в типовых конфигурациях, возможно, только стоит с ними ознакомиться.
«1С:Предприятие» пользуется огромной популярностью, и при серьёзном подходе к вопросу проектирования, результат оправдает Ваши ожидания. С помощью программирования возможно реализовать любые схемы учёта, но заказчику необходимо вполне определённо представлять результат, который он хочет получить.
1) Общие сведения, назначение и цели доработки
Необходимо сформулировать цели доработки и для чего в конечном итоге она предназначается. Данный пункт должен быть уточнен глобальными целями.
2) Характеристика объектов автоматизации.
Нужно указать, что именно мы будем разрабатывать в терминах платформы «1С». Какие объекты метаднных будут добавлены к конфигурации, какие изменены и в какой части. Данный пункт Постановщик составляет совместно с Исполнителем по результатам работы с Заказчиком
3) Требования к системе.
Заказчик излагает свои требования в виде списка. Определяются критерии оценки эффективности выполнения требований.
4) Состав и содержание работ по созданию системы.
Исполнителем составляется план работ, который утверждается Заказчиком.
5) Порядок контроля и приемки системы.
Заказчик назначает ответственных специалистов по тестированию доработок, определяются порядок и сроки тестирования, согласовываются с Исполнителем.
6) Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие.
Заказчик предоставляет требования по начальным корректировкам ИБ, осуществляемым через пакетный ввод данных.
7) Требования к документированию.
Постановщик и Исполнитель утверждают содержание документации по доработке.
Надеемся, что наши советы помогут в составлении ТЗ и решении Ваших задач.
1cforu.ru
Составление тз для сайта – техническое задание для программиста образец
Техническое задание (ТЗ) или как правильно озадачить программиста!
В данной статье мы с Вами рассмотрим составление правильного технического задания для программиста работающего на финансовых рынках.
Как научиться писать технические задания для разработчиков?
Современные технологии позволяют полностью автоматизировать любую торговую стратегию и освободить трейдера от утомительных:
- Наблюдений за графиком
- Сложных вычислений
- Психологических нагрузок
- Эмоциональных переживаний
- Ошибочных действий
При желании автоматизировать свою торговую стратегию, Вам понадобиться человек обладающий навыками программирования и хорошо разбирающийся в специфике торговли на финансовых рынках.
Найти программиста это пол «беды», основная сложность заключается в том как объяснить программисту что вы хотите. Казалось бы ничего сложного нет, индикатор показывает BUY советник покупает, индикатор показывает SELL советник продает, но на самом деле для этих простых действий, программа должна выполнить массу предварительных шагов.
Вот только несколько простых:
- Проверить есть ли уже ордера. (Может на прошлом тике мы уже открыли ордер по сигналу)
- Проверить разрешено ли торговать. (Разрешена ли торговля по выбранной валюте)
- Проверить доступность интернет соединения.
- Проверить и рассчитать объём для торговли. (Хватит ли денег)
- Проверить и произвести вычисления из индикатора. (Получить сигнал)
- ……
Большинство этих показателей должен учесть именно заказчик, ведь программист не знает нужна ли проверка на разрешенные лоты или нет. Заказчик должен понимать что масса лишних проверок сильно замедляет работу программы, по этому заказчик должен максимально подробно описать и продумать торговую стратегию для автоматизации.
Грамотное техническое задание существенно сокращает время написание программы, в случае платного заказа, стоимость может быть минимальной, и что важно заметить заказчик получит желаемый результат без лишних проблем.
Техническое задание или (ТЗ) — это полное описание торговой стратегии с учетом точного состояния времени, цены, индикаторов или иных дополнительных математических объектов, а так же с точным указанием действий и поведения программы в реальных, тестовых условиях.
Техническое задание обязательно должно содержать три блока:
Блок открытия позиции — условия при которых программа открывает или устанавливает ордера в рынке. Сигналы индикатора с учетом по времени, номеру бара, состоянию бара, размеру бара и другие условия…
Блок удержания позиции в рынке — описываются все условия модификации ордеров, это может быть и трейлинг стоп, и стоп лосс, и тейк профит. Описывается все то, что программа должна делать с позицией которая находится в рынке.
Блок закрытия позиции — условия при которых позиция должна быть полностью или частично закрытой.
По мимо основных блоков могут быть еще дополнительные блоки:
- Блок настроек программы.
- Блок ММ (Мани менеджмента) в котором рассчитываются объемы для торговли (Лоты).
- Информационный блок, задача которого выводить на экран текущую информацию.
- Блок отправки сообщений на смартфон, почту или фтп сервер.
- И другие ….
Важно четкие условия в техническом задании!!!
Программист как и компьютер понимают только четкие условия да, нет, и, или. Если в Вашем техническом задании есть слова и словосочетания типа: Примерно, около, где то тут, в районе, здеся, додумайте сами, должно приносить прибыль, грааль, как нибудь. То Ваше техническое задание не годно, Вы потратите время свое, программиста и свои средства.
Рассмотрим пример правильного технического задания:
Торговая стратегия на двух скользящих средних.
Открытие ордеров:
Быстрая скользящая средняя пересекает медленную и при появлении нового бара открывается ордер не зависимо от того есть уже ордера в рынке или нет. Открытому ордеру устанавливается Тейк Профит согласно настройкам и Стоп Лосс. Период бара зависит от графика на который установлен советник.
Модификация ордеров:
Стоп Лосс савиться ниже локального минимума для баев и выше локального максимума для селов за последние 24 бара. Для всех ордеров применяется трейлинг стоп согласно настройкам советника.
Закрытие ордеров:
По тейк профиту, по стоп лоссу, по обратному сигналу.
Блок расчета лота:
Если последний ордер закрылся с убытком то для нового ордера лот будет увеличен в два раза.
Если последний ордер закрылся с прибылью то для нового ордера лот будет сброшен до начального из настроек
Блок настроек советника:
- По индикаторам — Период мувинга, Тип мувинга, Цены расчетов мувинга.
- Тейк профит
- Стоп лосс
- Лоты
- Меджик номер
- Проскальзывание
steptosleep.ru
Как написать понятное ТЗ на веб-разработку и ускорить запуск проекта — CMS Magazine
Компания Ratio составила три шаблона технических заданий: для дизайнеров, программистов и веб-разработчиков полного цикла. Можно скачать и заполнить их — исполнитель точно поймёт, какой сайт вам нужен.
Необходим сайт, мобильное приложение, услуги по SEO или контекстной рекламе? Тендерная площадка WORKSPACE поможет выбрать оптимального исполнителя. База проекта насчитывает более 10 500 агентств. Сервис БЕСПЛАТЕН для заказчиков.Без ТЗ вы получите не то, чего ожидали
ТЗ в строгом значении слова — это документ, закрепляющий критерии, по которым будет приниматься работа. Но на практике под техзаданием часто понимается целый комплект документов: концепция проекта («что это такое?»), спецификация («каким проект должен быть?»), описание разделов и модулей будущего сайта.
Мы понимаем под ТЗ подробную формулировку задачи, которую заказчик составляет вместе с подрядчиком. В шаблонах от Ratio учтена вся информация, которая требуется нам для начала работы. Можете разбить документ на части и согласовывать их отдельно — так или иначе, к началу проекта информация по списку будет готова.
Если сайт или приложение действительно необходимы, то не жалейте времени на подробное ТЗ — оно закрепляет принятые решения и позволяет обойтись без повторных обсуждений. Техзадание гарантирует, что вы и исполнитель мыслите в одном направлении: на бумаге ваши требования к проекту что-то значат, их не получится забыть или проигнорировать.
Кроме того, ТЗ — это возможность проверить проект на слабые места. Составив техзадание, вы увидите скрытые ошибки и устраните их до того, как они превратятся в проблему.
Составляйте ТЗ от общего к частному
Техзадание начинается с одного предложения — например, «нужно добавить функцию X на готовый сайт интернет-магазина». В дальнейшем это предложение раскрывается подробнее.
Структура ТЗ на веб-разработку:
-
Описание проекта: концепция, гипотезы, целевая аудитория, критерии успеха.
-
Исходные данные: чеклист контента, полное описание разделов проекта с примерами
-
Задание на дизайн: механика работы блоков и дизайн-прототип со ссылками на psd-исходники
-
Задание на разработку: структура разделов проекта, их описание, а также технические требования и ссылки на готовый дизайн
Описание разделов составляйте развёрнуто: не просто «раздел Работа у нас», а структура страницы, контент, нужна ли форма обратной связи и какие поля должны в ней быть.
Сроки и штрафы в ТЗ лучше не упоминать, они закрепляются в более значимых документах — договоре и дополнительных соглашениях. Правки тоже прописываются отдельно, в листе возражений к приёмке.
Отформатируйте ТЗ, чтобы его было удобно читать и редактировать
Разбираться в чужих мыслях трудно, можно запутаться и что-то пропустить. Постарайтесь облегчить жизнь подрядчикам — это поможет им сделать работу быстрее.
На что обратить внимание:
-
Составляйте списки (вместо сплошного текста)
-
Оформляйте заголовки через стили h2, h3 и так далее (для автоматического оглавления в Google Документах)
-
Выделяйте ключевые фразы (для чтения по диагонали)
-
Нумеруйте страницы, пункты и подпункты (чтобы во время обсуждения легко понимать друг друга)
-
Пользуйтесь внутренними ссылками
Из-за внутренних ссылок документ приходится листать туда-сюда, но они необходимы — ТЗ редко получается с первого раза, обычно туда вносят правки. Если повторять одну и ту же информацию несколько раз, корректировать ТЗ будет неудобно: в одном месте поправили, а ещё два забыли.
ТЗ на комплексную разработку сайта или веб-приложения
Техзадание на комплексную разработку — это ТЗ дизайнера и программиста в одном флаконе. К этому документу часто обращается менеджер, ведь ему нужно видеть полную картину, чтобы направлять команду.
Конечно, универсальной формы для техзадания не существует. Мы просто делимся нашими наработками, поэтому используйте шаблон как основу, но не бойтесь изменять или дополнять его.
Шаблон ТЗ для веб-подрядчика
Отдельное ТЗ на дизайн
Если вам нужен только дизайн, то воспользуйтесь этим шаблоном. Но учтите, что для начала работы понадобится контент: тексты, фотографии, логотипы и иллюстрации.
Шаблон ТЗ для дизайнера
Отдельное ТЗ на бэкенд/фронтенд
Если вам нужны только услуги программиста, значит у вас есть готовый дизайн — без него приступать к разработке нет смысла. В техзадании обязательно укажите ссылки на правильно подготовленные макеты под все поддерживаемые устройства.
Шаблон ТЗ для программиста
cmsmagazine.ru
Как правильно писать ТЗ или общаемся с программистом на понятном языке. Простое моделирование и алгоритмизация
Для кого эта статья: В первую очередь для управленцев, менеджеров и всех прочих кто не принадлежит к сословию разработчиков, но тем не менее вынужден общаться с ними и встречать непонимание при постановке задач по разработке ERP или интернет магазина, АСУ и т.д.Также может быть полезна самим разработчикам как мини FAQ для общения с теми, кто не имел чести «накодить» хоть пару строк за свою жизнь.
Основная мотивация для внедрения этого или подобного FAQ постановки задачи очень проста и выражена ярко и понятно в виде денежных средств. Хорошие программисты стоят дорого, и не проработанные задания занимают кучу времени на уточнения, исправления и т.д., что ведет к ощутимым финансовым потерям.
Предупреждение 1: хоть статья имеет прикладной смысл и затрагивает достаточно серьезные вопросы в ней встречается <сарказм>.
Предупреждение 2: сам я не являюсь профессиональным программистом, но по роду своей работы при внедрении ERP или разработке бизнес окружения, проработке процессов и т.д. разрабатываю и ставлю задачи программистам.
Предупреждение 3: я буду стараться описывать процесс простым и доступным языком, понятным тем, кто мало знаком с этой сферой.
В одной из своих статей я затронул алгоритмизацию бизнес процессов, проще говоря, построение модели и описание её алгоритмом или логическим языком.
Возьмем пример из статьи:
Хотя немного задержимся и пропишем некоторые правила.
1. Добавляйте сопутствующие товары.
Если клиент покупает, допустим, аудио плейер не забудьте предложить ему наушники, чехол, карту памяти и т.д.
2. Похожие товары.
В этом пункте играем на повышение. Если выбранный клиентом плейер стоит 5тр. Нужно предложить ему более дорогой вариант с большим количеством функций.
Это минимум того, что нужно сделать на этой стадии.
Допустим, у нас интернет магазин и функционала «похожих товаров» по описанной схеме у нас нет, и мы хотим поставить задачу нашему отделу разработки. Задачу ставит Руководитель отдела продаж.
Первое, с чего стоит начать, это как можно точнее сформулировать свою «хотелку»:
В карточке товара, для примера возьмем аудиоплеер, должен отображаться блок с похожими товарами, а именно товарами, входящими в ту же группу товаров, но по цене не ниже просматриваемого товара. То же самое должно отображаться в корзине рядом с товаром.
Взять и нарисовать на листочке, а лучше распечатать скриншот с карточки товара и нарисовать на нем, как это должно выглядеть.
Казалось бы, всё, но лучше взять и нарисовать логическую схему.
Сделать это можно на листочке или же в Visio входящем в пакет Офис.
Нарисовать схему просто, вы сейчас сами это увидите, рисуем:
Прямоугольники сверху — это исходные данные или результат принятия решения.
Ромбы — это решение которое нужно принять, ДА или НЕТ, логическое действие.
Итак, имеем Цену исходного товара, исходную группу и сам исходный товара. Дальше, согласно нашей задумке, делаем выборку из группы товара идентичной исходной и цене выше исходного товара. И тут сразу стоп, насколько товар, который мы предлагаем как альтернативу, может быть выше исходного? Ведь если мы предложим покупающему плеер за 5тр и топовую модель за 50тр, он вряд ли обратит на это внимание. Но если предложить вариант, скажем, за 6-7, ну до 10тр, то возможно клиент выберет вариант и подороже, соответственно принесет магазину большую прибыль.
Первое, что приходит в голову, это ограничиться порогом «не более чем в два раза». Теперь в каком порядке выстраивать дорожку из предложений в карточке товара? Начинать с самой дорогой смысла нет, логичнее, если клиент начнет сравнивать модели, а не испугается сразу высокой ценой. Но и предлагать модели по цене 5020р, то есть на немного дороже, тоже нет, количество похожих товаров ограничено, скажем, 5шт (больше не влезет). Отсюда добавляется ещё одно условие, «не более чем в два раза, но и не менее чем на 10%-20%».
Дорисовываем модель:
Уже интереснее. Но опять стоп. А товара мы можем показать всего 5шт, но какой у них шаг по цене? То есть исходный плеер по цене 5000р и другие 5550р., 5505р и т.д. То есть товара много, а показать нам нужно разный и всего 5шт. Думаем: максимальная планка у нас в два раза, то есть 200%, минимальная 20%, то есть нам эту цепочку нужно разбить на 5 частей и примерно равномерно.
Подумав и прикинув статистику продаж, движение покупателя по товарам и т.д. делаем так, к примеру 20% — 60% — 100% — 150% — 200%. Отлично, но товара именно с такой ценой, то есть + 200% может и не быть, следовательно, нужно заложить, что выбираем ближайший, максимально подходящий по цене, то есть +\-.
Вроде всё учел, ещё раз продумываем все нюансы… Есть ещё один, а что если товара из выборки нет в наличии? То его явно не следует показывать, добавляем и это условие.
Рисуем модельку:
Что ещё может случиться? Ну, например, товара по выборке может не быть вообще или же его окажется не 5 а скажем 2 или 3. В этом случае отображаем что есть, если же товара, подходящего нет вовсе, отображаем ближайший или товар из сходной группы. Если нам это не нравится, то можно не отображать блок вовсе, но это не есть гуд.
Добавим и эти условия:
Вроде все видимые варианты предусмотрены.
Теперь компонуем всё в кучу. Берем наш листик с изображением вставки в карточку товара и корзину, добавляем схему и формулируем схему текстом:
Добавить блок «похожие товары» в карточку товара и корзину, согласно схематичному рисунку.
Логика работы в схеме и текстом:
Текст будет тренировкой, думаю его не сложно будет написать самим.
PS
Добавьте в комментариях какие нюансы я мог упустить и подходит ли такой вариант вам как разработчику из разряда лучше так, чем как раньше?
Скачать схему в Visio Яндекс диск
habr.com