Creativenn - Портал рукоделия

Назначение, цели ТЗ

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

Есть мнение некоторых “побитых” опытом людей, что ТЗ надо писать так, как будто с ним вы будете присутствовать на суде и использовать его в качестве защиты. Может это и крайность, но тем не менее - повод лишний раз задуматься о важности хорошо написанного и детализированного ТЗ .

По своему объему ТЗ может быть достаточно большим документом. Web-компании часто предлагают помощь по составлению ТЗ отдельной услугой, как правило 10-20% от стоимости всей разработки сайта.

Составление ТЗ как правило выполняют руководитель проекта или непосредственно программист при участии заказчика, который предоставляет основную информацию.

Чем детализированнее ТЗ (в разумных пределах конечно) тем лучше для обеих сторон, как для клиента, так и для исполнителя работы. В выигрыше так сказать оба:
– клиент будет уверен, что все задуманное им в проекте четко прописано и должно быть реализовано в соответствии с ТЗ.
– исполнитель – застрахован от множества мелких или крупных корректировок и доработок, опять же опираясь на то самое ТЗ.

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

  • Простая истина - чем сложнее проект, тем детализирование должно быть ТЗ.
  • Среди возможных вариантов можно назвать ТЗ, описывающее главные страницы интерфейса со всей совокупностью элементов на ней и описанием их поведения. Или же это может быть лаконичное описание нескольких страниц для сайта-визитки и т.п.
  • В ТЗ для программиста не должен упоминаться дизайн элементов или звучать пожелания по дизайну. Задание все-таки для программиста..
  • Описания задач в отдельных частях ТЗ должны быть граничными. Что это значит? Нужно четко обозначать конец конкретного пункта задания. В ТЗ не должно быть абстрактных фраз типа «должна быть удобная навигация». Это все субъективные признаки – одним удобно, другим не удобно и понять выполнен ли данный пункт бывает сложно из-за нечеткости положений ТЗ. Т. е. это необходимо контролировать.
  • Для несложных сайтов, где нужно описать какой-нибудь функциональный модуль, чтобы заново не изобретать велосипед, нужно проанализировать сайты с похожим функционалом, так сказать, провести анализ конкурентов; сохранить гиперссылки на страницы с требуемыми элементами интерфейса и функциями, и включить их в ТЗ с расширенными пояснениями о том, что именно делать. Также необходимо в обязательном порядке снять скриншоты с нужных страниц на случай, если сайт через время будет не доступен. При этом можно ставить свои пометки на изображениях (благо средств сейчас много для этого - click2.net, Awesome Screenshot и прочие).
  • Если дизайна для страниц нету или он не так важен в рамках какого-то проекта, скажем, заказчик решил сэкономить на дизайне админ-панели сайта, в этом случае программист вполне может использовать прототипы.

Справка

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

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

Из популярных можно выделить:
– среди бесплатных: iPlotz, MockFlow, Mockup Builder, Cacoo;
– среди платных: Creately, ProtoShare, Adobe Fireworks,Axure . Возможностей в общем много - выбирай, осваивай, рисуй…

Общая структура ТЗ. От абстракции к конкретике…

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

  1. Общая информация о сайте.
  2. Функциональное назначение сайта.
  3. Понятия и термины
  4. Описание модулей сайта
  5. Функциональные характеристики
  6. Описание страниц.
  7. Резервирование и надежность.
  8. Хостинг для сайта.

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

2. Функциональное назначение сайта
Тут краткий перечень того, какими техническими средствами или инструментами должен обладать сайт, исходя из общей цели. Поясню на примере. Для сайта-визитки это может быть банально, форма обратной связи, перечень основных страниц, например с «о компании», «контакты» и прочие.

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

4. Описание модулей сайта.
Этот раздел включает список модулей, которые используются на сайте. Это вполне например может быть упоминаемая выше форма обратной связи (ФОС). Но, что очень важно - нельзя просто писать «Должна присутствовать ФОС». Каждая сущность требует определения своих атрибутов! В данном случае атрибуты могут быть такими:

  • Поле «Ваш имя»;
  • Поле «Ваш е-mail»;
  • Поле «Ваш вопрос»;
  • Поле ввода капчи для защиты от спам-роботов.

И все это должно быть четко прописано, что бы потом не возникло вопросов:«…а где перечень выбора категории вопроса? » или что-то в этом роде.

5. Функциональные характеристики
Сюда можно отнести, например, список браузеров, где сайт должен корректно отображаться и работать. Например, некоторые заказчики могут требовать, что бы их сайт работал корректно и в небезызвестном Internet Explorer 6, что бы не терять хоть и небольшую, но долю возможных посетителей.
Если планируется делать высоконагруженный сайт – это тоже нужно указывать. Высоконагруженный сайт требует другого подхода при разработке и по настройке сервера.

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

6. Описание страниц сайта.
Это довольно обширный пункт, где прорисовуются все страницы сайта и пишутся комментарии к их работе.
Также может приводиться общая структура страниц сайта. Так называемые «высокоуровневые» прототипы. Например, для простого сайта-каталога это может быть:

Для каждой конкретной страницы могут рисоваться прототипы с подробными комментариями по каждому из элементов интерфейса с их поведением.
Страницы, используемые для админ-панели обычно уазываются отдельно от спубличных страниц. Эти два раздела в свою очередь могут группироваться в свои отдельные подразделы. Здесь стоит следить, чтобы прототипы не конфликтовали с их описанием, и не возникало никаких противоречий. Примером прототипа определенной страницы сайта может быть:

Остальные страницы
Последние два раздела ТЗ мы не будет рассматривать детально, скажу вкратце, что одно из требований к надежности может включать настройку резервного копирования БД.

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

В конец ТЗ в обязательном порядке нужно внести информацию о том, что все работы, не описанные в настоящем ТЗ, выполняется по усмотрению программиста по очевидным причинам. Это наша «маленькая гарантия» от возможных доработок и переделок, выходящих за рамки ТЗ.

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


Copyright 2019. All rights reserved.

После запуска сайта может появится потребность в новых функциях, которые способен реализовать только программист. Об общих правилах написания ТЗ для этого специалиста мы сегодня и поговорим.
Техническое задание должно быть четким, понятным и конкретным. Чтобы получить готовый проект, с работающим, как вам нужно, функционалом, программисту следует предоставить подробное и качественное техническое задание.

В правильное ТЗ должны входить следующие пункты:

  1. Сроки, все нюансы по смещению дедлайна.
  2. Формы и реквизиты оплаты.
  3. Возможные штрафы и информация о внесении правок после финального показа.
  4. Подробное описание функционала и его работы в вашем представлении.
  5. Техническая информация.
  6. Тестирование.

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

Подробное описание –> больше деталей –> лучшее понимание –> правильно реализованный проект.

Немаловажен момент с описанием того, на чём будет работать новый модуль, который вы заказываете у программиста. В настоящее время предпочтение отдается готовым решениям, поэтому проблем интеграции в Битрикс, OpenCart, WordPress или любую другую систему, обычно не возникает, так как исполнителю сообщают все данные конфигурации сборки.

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

В этом случае может быть проще создавать все с нуля, с новым модулем или интегрировать на отдельной платформе, минимально связанной с основной системой.

Тестирование

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

Подводя итог

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

Все работы в нашей студии веб-дизайна ведутся на основании договора оказания услуг и технического задания. Оно утверждается Заказчиком и подписывается в двух экземплярах.

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

Техническое задание на разработку сайта.

Сайт разрабатывается как корпоративный сайт компании ___________.

Этапы Работ.

Работы по настоящему Договору № _______ состоят из следующих этапов. По окончании всех этапов, Стороны подписывают Акт сдачи-приемки работ:

  1. Разработка дизайн-макета и концепции новой версии сайта www.______.ru
  2. Верстка Сайта.
  3. Графическое представление страниц Сайта.
  4. Наполнение Сайта информацией
  5. Установка и настройка функционала сайта
  6. Установка Сайта на хостинг Заказчика (перенос файлов, создание базы данных)
  7. Финальное тестирование Сайта.

Разработка дизайн-макета

Разработка дизайн-макета сайта с сохранением корпоративного стиля для организации включает в себя:

  • Концепция подачи материалов на главной странице (с графическими элементами),
  • Концепция подачи главной страницы раздела
  • Навигация между разделами и страницами сайта
  • Отображение материалов и новостей на главной странице
  • Отображение материалов и новостей страницах разделов

Корпоративный стиль должен быть применен в дизайне сайта. Основные цвета сайта синий, голубой, оранжевый, желтый. Дизайн-макет подлежит утверждению Заказчика. *Логотип предоставляется Заказчиком.

Верстка сайта.

1. Сайт разрабатывается на системе администрирования Joomla 3.3.6 (или последней актуальной версии на момент сдачи сайта).

Как составить ТЗ для программиста

Система будет обновляться администратором Сайта Заказчика на основании напоминаний Joomla из административного раздела сайта.

2. Сайт разрабатывается под популярные браузеры Google Chrome- ‎Mozilla Firefox — ‎Opera – IE (версия 9 и новее), а так же будет читаться на широко — экранных мобильных устройствах (планшетах и смартфонах).

3. Разработчик при выполнении работ не применяет бесплатные или платные шаблоны – вся разработка производится с нуля, в соответствии с утвержденным макетом и индивидуально созданным для Заказчика дизайном.

  • Кодировка: UTF-8
  • Язык скриптования: php версии 5.3.10

Графика. Отрисовка графических элементов по макету, графика для разделов сайта и т.д.

  • Сайт двух-колоночный (левая колонка 250px + поле для текста 950px)
  • При разработке сайта должны быть использованы преимущественно светлые стили.
  • Сайт шириной (1200px), размер шрифта текстов 14 px.
  • Основные разделы сайта должны быть доступны с первой страницы.
  • На первой странице не должно быть большого объема текстовой информации, но представлено все самое основное.
  • Навигация сайта должна быть понятной и к любой странице сайта организован доступ максимум в 2 клика.

В дизайне сайта не должны присутствовать :

— мелькающие баннеры;
— сливающийся или плохо читаемый текст.

Графическое представление страниц сайта:

  • графическая шапка с логотипом, форма заказать звонок (всплывающее окно)
  • горизонтальное навигационное меню сайта (навигационная панель обеспечивает переход к основным пунктам меню сайта: Главная, О нас, Услуги, Тарифы, Абонентам, Арендодателям, Контакты);
  • навигационная панель (меню) по подразделам выбранного раздела сайта (левая колонка);
  • форма быстрого заказа услуг (левая колонка);
  • ссылка на главную страницу при клике на логотип;
  • слайдер на главной странице (с созданием баннеров 3 шт.)
  • поле для отображения контента выбранной страницы сайта (заголовки, шрифт 16px);
  • внизу страницы — краткая контактная информация — телефон и e-mail компании

Наполнение сайта.

  • Разработка правильной (для поисковиков и человеко-понятной) структуры сайта и организация контента в соответствии со структурой
  • На сайте будет 4 основных раздела: Интернет, Телефония, Хостинг, Цифровое телевидение
  • Перенос информации с сайта прототипа.
  • Редакция материалов (форматирование кода, очистка), добавление фотографий
  • Компановка страниц: главная, страница разделов, страница материала.
  • Создание меню сайта, всех пунктов и подпунктов

Функционал сайта (компоненты, плагины и модули)

  • Слайдер баннеров на главной странице
  • Всплывающее окно «Заказать звонок»
  • Форма быстрого заказа услуги (с выбором услуги и контактной информацией о клиенте)
  • Фотогалерея со всплывающими фото (подгрузка фото из кэша для облегчения сайта)
  • Организация разделов наши Клиенты и Наши партнёры, Сертификаты и грамоты
  • Плагин для возможности вставки на сайт кодов iframe (видео, интерактивных карт и т.д.)
  • Отзывы клиентов (компонент)
  • Счётчики посещений

Сроки работ.

  • Разработка дизайн макета – 7 дней
  • Верстка сайта и стилей графического представления страниц сайта – 30 дней
  • Наполнение сайта –7 дней
  • Тестирование сайта – 1 день

Сроки работ по настоящему техническому заданию 45 (сорок пять) дней.

Разработка, просмотр и доводка сайта производится на тестовой площадке Исполнителя, после чего утверждается Заказчиком (письмо по электронной почте). Перенос сайта на постоянное место производится в ночное время в течение 1 дня.

Техническое задание (ТЗ) или как правильно озадачить программиста!

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

Как научиться писать технические задания для разработчиков?

Современные технологии позволяют полностью автоматизировать любую торговую стратегию и освободить трейдера от утомительных:

  • Наблюдений за графиком
  • Сложных вычислений
  • Психологических нагрузок
  • Эмоциональных переживаний
  • Ошибочных действий

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

Найти программиста это пол «беды», основная сложность заключается в том как объяснить программисту что вы хотите. Казалось бы ничего сложного нет, индикатор показывает BUY советник покупает, индикатор показывает SELL советник продает, но на самом деле для этих простых действий, программа должна выполнить массу предварительных шагов.

Вот только несколько простых:

  1. Проверить есть ли уже ордера. (Может на прошлом тике мы уже открыли ордер по сигналу)
  2. Проверить разрешено ли торговать. (Разрешена ли торговля по выбранной валюте)
  3. Проверить доступность интернет соединения.
  4. Проверить и рассчитать объём для торговли. (Хватит ли денег)
  5. Проверить и произвести вычисления из индикатора. (Получить сигнал)

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

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

Техническое задание или (ТЗ) — это полное описание торговой стратегии с учетом точного состояния времени, цены, индикаторов или иных дополнительных математических объектов, а так же с точным указанием действий и поведения программы в реальных, тестовых условиях.

Техническое задание обязательно должно содержать три блока:

Блок открытия позиции — условия при которых программа открывает или устанавливает ордера в рынке. Сигналы индикатора с учетом по времени, номеру бара, состоянию бара, размеру бара и другие условия…

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

Блок закрытия позиции — условия при которых позиция должна быть полностью или частично закрытой.

По мимо основных блоков могут быть еще дополнительные блоки:

  • Блок настроек программы.
  • Блок ММ (Мани менеджмента) в котором рассчитываются объемы для торговли (Лоты).
  • Информационный блок, задача которого выводить на экран текущую информацию.
  • Блок отправки сообщений на смартфон, почту или фтп сервер.
  • И другие ….

Важно четкие условия в техническом задании!!!

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

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

Торговая стратегия на двух скользящих средних.

Открытие ордеров:

Быстрая скользящая средняя пересекает медленную и при появлении нового бара открывается ордер не зависимо от того есть уже ордера в рынке или нет. Открытому ордеру устанавливается Тейк Профит согласно настройкам и Стоп Лосс. Период бара зависит от графика на который установлен советник.

Модификация ордеров:

Стоп Лосс савиться ниже локального минимума для баев и выше локального максимума для селов за последние 24 бара. Для всех ордеров применяется трейлинг стоп согласно настройкам советника.

Закрытие ордеров:

По тейк профиту, по стоп лоссу, по обратному сигналу.

Блок расчета лота:

Если последний ордер закрылся с убытком то для нового ордера лот будет увеличен в два раза.

Если последний ордер закрылся с прибылью то для нового ордера лот будет сброшен до начального из настроек

Блок настроек советника:

  • По индикаторам — Период мувинга, Тип мувинга, Цены расчетов мувинга.
  • Тейк профит
  • Стоп лосс
  • Меджик номер
  • Проскальзывание

Возврат к списку

Полезное Краткое ТЗ — стоит использовать если вам необходимо создания сайта визитки или несложного корпоративного сайта. Подходит для запроса стоимости создания сайта у веб-студии.

Скачать образец Полезного и Краткого ТЗ для сайта для заполнения.

Разбираем ТЗ подробно

Вид деятельности — очень важно указать чем занимается компания. Вид деятельности очень сильно влияет на структуру сайта и его дизайнерское оформление.

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

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

Основные разделы сайта — это очень важная часть ТЗ. Обязательно указывайте не только основные разделы, но и подразделы, как в нашем примере технического задания. Это самый важный раздел нашего ТЗ.

Дополнительная информация — вы перечисляете все дополнительные возможности, которые должны быть на сайте.

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

Техническое задание на сайт — это необязательно сложный и объемный документ. Вам необходимо четко сформулировать задачу и описать исходные данные для работы. Задание помещается на одну страницу, написание занимает от силы 30 минут.

В этом разделе мы расскажем Вам, как составить техническое задание программисту 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) Требования к документированию.
Постановщик и Исполнитель утверждают содержание документации по доработке.

Надеемся, что наши советы помогут в составлении ТЗ и решении Ваших задач.

Техническое задание (ТЗ) или как правильно озадачить программиста!

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

  • Наблюдений за графиком
  • Сложных вычислений
  • Психологических нагрузок
  • Эмоциональных переживаний
  • Ошибочных действий

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

Найти программиста это пол "беды", основная сложность заключается в том как объяснить программисту что вы хотите. Казалось бы ничего сложного нет, индикатор показывает BUY советник покупает, индикатор показывает SELL советник продает, но на самом деле для этих простых действий, программа должна выполнить массу предварительных шагов.

Вот только несколько простых:

  1. Проверить есть ли уже ордера. (Может на прошлом тике мы уже открыли ордер по сигналу)
  2. Проверить разрешено ли торговать. (Разрешена ли торговля по выбранной валюте)
  3. Проверить доступность интернет соединения.
  4. Проверить и рассчитать объём для торговли. (Хватит ли денег)
  5. Проверить и произвести вычисления из индикатора. (Получить сигнал)
  6. ......

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

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

Техническое задание или (ТЗ) - это полное описание торговой стратегии с учетом точного состояния времени, цены, индикаторов или иных дополнительных математических объектов, а так же с точным указанием действий и поведения программы в реальных, тестовых условиях.

Техническое задание обязательно должно содержать три блока:

Блок открытия позиции - условия при которых программа открывает или устанавливает ордера в рынке. Сигналы индикатора с учетом по времени, номеру бара, состоянию бара, размеру бара и другие условия...

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

Блок закрытия позиции - условия при которых позиция должна быть полностью или частично закрытой.

По мимо основных блоков могут быть еще дополнительные блоки:

  • Блок настроек программы.
  • Блок ММ (Мани менеджмента) в котором рассчитываются объемы для торговли (Лоты).
  • Информационный блок, задача которого выводить на экран текущую информацию.
  • Блок отправки сообщений на смартфон, почту или фтп сервер.
  • И другие....

Важно четкие условия в техническом задании!!!

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


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

Торговая стратегия на двух скользящих средних.

Открытие ордеров:

Быстрая скользящая средняя пересекает медленную и при появлении нового бара открывается ордер не зависимо от того есть уже ордера в рынке или нет. Открытому ордеру устанавливается Тейк Профит согласно настройкам и Стоп Лосс. Период бара зависит от графика на который установлен советник.

Модификация ордеров:

Стоп Лосс савиться ниже локального минимума для баев и выше локального максимума для селов за последние 24 бара. Для всех ордеров применяется трейлинг стоп согласно настройкам советника.

Закрытие ордеров:

По тейк профиту, по стоп лоссу, по обратному сигналу.

Блок расчета лота:

Если последний ордер закрылся с убытком то для нового ордера лот будет увеличен в два раза.

Если последний ордер закрылся с прибылью то для нового ордера лот будет сброшен до начального из настроек

Блок настроек советника:

  • По индикаторам - Период мувинга, Тип мувинга, Цены расчетов мувинга.
  • Тейк профит
  • Стоп лосс
  • Меджик номер
  • Проскальзывание
Вступление
Компьютерные игры - относительно молодая отрасль, которая в перспективе сменит киноиндустрию, так-же как кинофильмы заменили театр. Создание игры - это коллективное творчество , во многом напоминающее создание кинофильма. Кроме того, создание компьютерных игр - одна из самых сложных IT задач, поскольку она включает все себя практические все IT области.

Все слышали про pre poduction , но мало кто знает как именно это происходит. И если про стадию разработки написано много, а про стадию издания - еще больше, то про стадию планирования известно очень мало. В лучшем случае вам посчастливится ознакомится с результатами планирования . А вот как были достигнуты эти результаты? - загадка во тьме .

Этот документ является результатом «разбора полетов» после написания игры Звездная арена для социальных сетей. В этом документе я попытался упорядочить список проблем и решений к которым я и Александр пришли в процессе совместной работы над игрою. Кроме того этот документ является частью большой работы по выстраиванию рабочего процесса создания компьютерных игр.

Я намеренно оставил за кадром другие документы: концепцию, экономическое обоснование и ТЗ для других исполнителей. Это позволило сфокусироваться на одной теме и осветить ее и только ее достаточно подробно.

Самое важное:
  1. Четкое понимание конечного результата. (Контроль качества.)
  2. Сроки исполнения.
Зачем нужна документация:
  1. Экономия времени на коммуникациях. (Один раз написать, вместо того чтобы 100 раз пересказывать, путаясь в показаниях.)
  2. Способ увидеть, как будет выглядеть готовый проект.
  3. Анализ и выявление проблем еще на стадии планирования. (Чем раньше будет выявленна архитектурная ошибка - тем дешевле ее исправить)
  4. Фиксирование принятых решений. (Точные данные, вместо разрозненных слухов разной степени свежести.)
  5. Планирование работ.
Какие бывают документы:
  1. Концепция («Про че игра?»)
  2. Спецификация (Что мы хотим получить?)
  3. Техническое задание (Как это устроено - именно о нем будет идти речь.)
  4. План работ (Как мы это будем делать.)
Кто участвует в обсуждении ТЗ:
Чем раньше будет получена обратная связь от заинтересованных специалистов - тем меньше будет сделано лишней работы.
  1. Геймдизайнер (Написание документации)
  2. Архитектор (Отслеживание полноты и подробности описания, декомпозиция.)
  3. Программист (Оценка объемов работ.)
Требования к оформлению документации:
Чем более неряшливо будет оформление - тем меньше людей вообще начнет это читать . Читатели проявляют невероятную изобретательность , чтобы избежать неприятной для них работы. Поэтому так важно прилагать усилия к тому чтобы чтение документации было легким и приятным настолько, насколько это вообще возможно.
  1. Форматирование. (Легко напечатать и приятно читать/держать в руках)
  2. Выделение ключевых фраз. (Для чтения документа по диагонали)
  3. Составление списков. (Вместо сплошного текста)
  4. Разбиение длинных списков по группам. (По три пункта в группе)
  5. Многократные повторения. (Избегать ссылок по документу)
  6. Дата, номер страницы, количество страниц, нумерация пунктов. (Для точных ссылок при обсуждении прочитанного)
  7. Оглавление, список документов, история изменений. (Для поиска по документации/версиям)
Требования к содержанию ТЗ
Нет четкого списка требований , которому должна удовлетворять документация. Поэтому разработка ТЗ приостанавливается задолго до приближения к ее полноте. В итоге следующий этап разработки начинается без ТЗ, в надежде, что ТЗ будет дописана по ходу, или даже по итогам разработки.
  1. Русский язык. (Никаких мемов, искаженных аглийских терминов, албанского языка и прочего мусора. Даже внутреннюю документацию читают очень многие.)
  2. Никаких общих слов типа:
    • все возможные варианты
    • карта придумывается компьютером
    • взаимодействие различных объектов
    • после всех действий и т.д.
  3. Все названия видов сущностей(классов) должны иметь:
    • русское название (для игрока)
    • английское (для кода)
    • краткое описание (расшифровка/подсказка/комментарий)
  4. Сущность должна иметь только одно название. (Чтобы “броня” не превращалась на другой странице в “армор” или “щит”).
  5. Предложения должны быть полными и понятными читателю без пристального изучения контекста. (Не надо подразумевать, что читатель сам догадается до того, что подразумевал автор)
  6. Все что можно измерить, должно быть измерено.
    • размеры картинки в пикселях и байтах
    • количество столбцов и клеток в таблице
    • количество символов в текстовом поле
    • количество оружия на уровень
    • время сессии и т.д.
Главные требования к результату работы программиста:
Эти важные требования подразумеваются, но никогда никем не озвучиваются.
  1. Гибкость системы к изменениям. (Динамические требования.)
  2. Автоматический сбор данных об ошибках. (Обратная связь.)
  3. Простота запуска и настройки заказчиком. (Демонстрация результата.)
Первый этап написания ТЗ:
Описание предметной области, ее формализация в понятных программистам терминах.
  1. База данных (метаданные)
    • список типов объектов
    • характеристики объектов
    • связь/зависимость между объектами
  2. Бизнес-процессы (полный игровой цикл)
    • список процессов (сценарии работы)
    • список функционала (что должен уметь)
    • список ожидаемых изменений (что вообще может быть)
Второй этап написания ТЗ:
Как должен выглядеть/работать продукт для всех типов пользователей (игроки и администраторы).
  1. Интерфейс (визуальная часть)
    • список экранов игры с названиями (или группы элементов)
    • список элементов на каждом экране с названиями и текстом подсказок
    • описание поведения элементов (подмигивание, подсказка, блокирование, всплывающие диалоги и т. д.)
  2. Админка (управление)
    • сервер (жизненные/системные показатели)
    • игровой контент(распродажи, квесты, монстры, вещи, магазины, дроп, локации и т.д.)
    • игровые данные(контент генерируемый игроками)
    • статистика и отчеты (какую статистику нужно собирать?)
Третий этап написания ТЗ:
Как мы собираемся это все делать.
  1. Исследование необходимых технологий
    • Список требований к каждой технологии
    • Описание тестов/демонстрации работы каждой технологии
    • Список будущих требований/возможных проблем (что дальше?)
  2. Список требований к разным видам контента(ресурсов) для игры (размеры картинки мечей, длинна названий квестов, разновидности спецэффектов, размеры видеороликов и т.д.).
  3. Список небходимых инструментов для работы с контентом (редактор карт, админка квестов,).
  4. Расстановка приоритетов по задачам.
  5. Требования к первой работающей сборке (что должен уметь первый прототип).
  6. Список остальных итераций разработки проекта с требованиями к их результатам. (Что нужно показать в конце каждого этапа, чтобы закончить его)
Сопровождение документации
  1. Большая часть того, что написано на первых этапах – устареет и будет нуждаться в переписке заново задолго до окончания планирования.
  2. Главный принцип первых этапов планирования: расставить список разделов и составить список вопросов по каждому разделу.
  3. Чем ниже детализация на начальных этапах – тем лучше. (количество типов оружия, вместо полного списка с названиями, количество квестов по уровням, вместо их подробного перечня и т.п.)
  4. Чем легче найти нужный пункт в документации и изменить его, не затрагивая остальное – тем лучше. Поэтому нужно избегать графических схем и сплошного текста из сложноподчиненных предложений. Оставьте графические презентации и эмоциональные описания для финальной отчетности.
  5. После каждого цикла планирования - проверять и тестировать полноту документации и равномерность уровня ее детализации. (Если в доме из 5 комнат описана только одна – нужно описать остальные четыре, или выкинуть подробное описание одной комнаты, чтобы все комнаты были описаны одинаково подробно .)
  6. Составить список неудобных вопросов . Темные пятна всегда есть, и их стараются обойти и замолчать, не осознавая этого.
  7. Предоставлять краткие инструкции конечным исполнителям . Конечные исполнители не должны сталкиваться с полной документацией, и мучительными поисками нужного упоминания по всему объему.
  8. Признак мастерства : каждый следующий уровень планирования уточняет, но не изменяет результаты описания более абстрактных уровней. Именно хороший навык перемещения по уровням абстрагирования/детализации позволяет перейти от припадочного описания деталей к планомерному перечислению сущностей.
Срезание углов
Любая технология будет упрощена до абсурда, чтобы уменьшить количество работы и расходов. Хлеб из химических дрожжей, вино из спирта, разработка без документации.
Многие считают что документация не нужна, если:
  1. Проект в 2-3 месяца.
  2. Команда из 2-3 человек.
  3. Ограниченный бюджет. (Он всегда ограничен)
  4. Нет требований к документации. (Никто не знает как надо делать)
  5. От нее нет никакой пользы. (Никогда не использовали документацию)
Однако следует помнить: разработка документации занимает 40% всех усилий. И определяет на 90% вероятность успешного завершения разработки проекта.
Первые шаги
Настоятельно рекомендуется новичкам выбирать в качестве первых проектов «клоны» классических игр. Пока нет успешного опыта такой игры - нет виденья всего цикла разработки продукта. А значит нет понимания того, как дойти до финиша .
Не стоит начинать разработку игры, не написав хотя бы двух полноценных ТЗ в качестве упражнения . Это может быть ТЗ по арканоиду. Но это обязательно должен быть ТЗ по которому разработчики смогут написать полноценный арканоид, даже если они никогда не видели этой игры прежде.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: