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

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

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

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

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

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

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

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

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

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

Зачем вообще ТЗ

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

когда не хочешь делать ТЗ

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

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

И вот здесь возникает конфликт, где, по сути, каждый по-своему прав: заказчик не получил то, чего ожидал, исполнитель же сделал все в точности с заказом, а остальные пожелания в стоимость уже не заложены. Решиться этот конфликт может несколькими способами: либо заказчик примет то, что есть, либо программист доделает все бесплатно, либо обе стороны придут к компромиссу. В любом случае будут пострадавшие.

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

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

  • экономия времени

    Чем подробнее вы опишите, что необходимо сделать, тем быстрее это сможет выполнить специалист, так как ему не нужно будет тратить время на уточнения

  • способ понять, что конкретно надо

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

  • фиксирование принятых решений

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

    когда составил ТЗ

1. Что такое техническое задание 

В жизни часто так бывает, что человек не может объяснить, что хочет от другого. А когда дело доходит до постановки задачи программисту и вовсе вызывает ступор. Есть метод в программировании, который называется “разделяй и властвуй”- дословно можно перевести как разделяй задачу на более мелкие блоки и властвуй (управляй) подзадачей. Для заказчика это метод тоже применим: если у тебя есть ряд “хотелок”, то необходимо их разделить на подзадачи и формализовать (описать).

Ваш запрос не может быть обработан

Ваш запрос не может быть обработан

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

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

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

Составление вакансии и ТЗ для программиста

Чтобы оставить объявление о поиске программиста-фрилансера, нужно сузить круг поиска. Для этого пишется объявление такого вида:

Требуется программист, чтобы добавить функцию X на готовый сайт на WordPress.

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

Когда вы определитесь с выбором исполнителя и обговорите все важные моменты, можно отправлять ТЗ. В нем должно быть:

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

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

Желаемый результат

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

Когда ТЗ недостаточно подробное

Допустим, вам нужен сервис проверки орфографии. Опишите все ваши представления:

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

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

Техническая информация

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

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

Идентификация сетевых ресурсов является важным подготовительным этапом перед осуществлением взлома. Если хакер знает, что ваш корпоративный портал работает под управлением IIS 7 под управлением Windows Server 2008, то ему необходимо найти уязвимости, которым подвержены данные программные продукты. Для этого проще всего поискать в базах уязвимостей. В случае если найти ничего не удалось, то особо продвинутый взломщик может попытаться самостоятельно найти «лазейку», собрав у себя точную копию взламываемой системы и попытавшись самостоятельно проанализировать код. «Информационная безопасность: защита и нападение», Бирюков А. А.

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

Программа должна отображаться на странице page.php, а исполнительный файл в файле core.php. Взаимодействие между файлами с помощью ajax. Все обработанные данные нужно записывать в таблицу data_table (My_SQL) со столбцами id, name и url.

Нельзя создавать функции и переменные с названиями: generate, crop и analyze. Иначе возможен конфликт.

Стандарты оформления кода

Разные люди по-разному пишут. Хороший пример – наш блог. В нем несколько авторов, у каждого из которых свой стиль. То же самое и с программистами.

Я спросил Ольгу Безматерных, руководителя отдела продаж «Текстерры», что она думает по поводу работы с чужим кодом. Она ответила, что он замедляет выполнение задач, а один раз в ее практике был случай, когда работать с кодом было невозможно – пришлось вернуть деньги.

Поэтому если над проектом работает несколько человек, нужно составить стандарты оформления кода – что-то вроде редполитики для программистов.

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

И это даже не половина способов

Переменные можно называть по-разному: $aB, $ab, $a_b, $A и так далее. Если это незначительно, добавлять комментарии критически важно. Без них в коде тяжело ориентироваться, даже если его писали вы, но отложили на неделю.

Поэтому, чтобы потом эту программу легко мог исправить любой другой программист, нужно чтобы у нее был какой-то стандартизированный вид. Доверить составление стандартов можно первому программисту, с которым вы работали.

Подключение и тестирование

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

Кто должен писать ТЗ?

В идеале ТЗ должен составлять заказчик — только он знает, что ему нужно. Но на практике из-за низкой компетенции заказчика в сфере 1С часто это приходится делать исполнителю. Заказчик устно озвучивает свои потребности, а программист(консультант) оформляет это в письменной форме.

3 способа связать сайт с сервисом рассылок

Прежде всего, нужно решить, как связать сервис email-рассылок с вашим или CRM-системой.

Вы можете использовать:

  1. Готовые интеграции. Например, сервис UniSender интегрируется с популярными CRM-системами ,  CMS-системами и интернет-магазинами.
  2. Интеграции с помощью Zapier – специального сервиса, который позволяет связывать разные системы не привлекая программиста. Как связывать сервисы через Zapier.
  3. Интеграции по API.

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

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

Зачем нужно техническое задание?

Любые доработки в системе 1С, в идеале, должны сопровождаться техническим заданием. Это, во-первых, четкое определение задачи, сроков и метода выполнения. Во-вторых, это документ, с помощью которого решаются все спорные моменты в будущем. Писать ТЗ или нет — дело, конечно, Ваше, лично мне ТЗ облегчает работу и общение с клиентом.

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

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

Общие рекомендации по написанию ТЗ

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

Справка

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

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

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

Для чего необходимо техзадание?


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

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

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

Каким должно быть ТЗ для программиста

  • Конкретным, а не абстрактным и расплывчатым

    Не нужно использовать абстрактные фразы, например «должна быть удобная навигация». Это все субъективные признаки – одним удобно, другим нет, поэтому понять, выполнен ли данный пункт, будет сложно, и в случае спора не удастся установить, кто прав. Рекомендуем обойтись без качественных прилагательных: красивый, приятный, современный. Их нельзя понять однозначно. У каждого свои понятия красоты. Формулируйте свои мысли четко и просто.

  • Структурированным

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

  • Полным

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

Шаг 3. Утвердите сроки

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

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

Общее время работы. Общее время может не совпадать с датой запуска сайта. Заложите дополнительное время на тестирование работы и внесение финальных корректировок.

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

Этап

Результат

Срок, раб. дни

Стоимость

Размер аванса

Срок согласования этапов. Часто случается, что заказчик тянет с согласованием и замечаниями. Это тормозит работу и откладывает запуск сайта. По итогу заказчик еще и обвиняет исполнителя в срыве сроков проекта. Чтобы этого избежать, пропишите в договоре время на согласование (3-4 дня). Если заказчик в этот срок не пришлет замечаний, этап будет считаться согласованным, и исполнитель примет решение в одностороннем порядке.

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

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

Что должно содержать в себе техническое задание?

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

  • цель — задача, которую мы решим, реализуя данное ТЗ;
  • описание — краткое изложение предстоящих доработок;
  • способ реализации — подробное описание методов решения цели. В этом пункте необходимо описать все нюансы задачи на языке программиста: какие регистры, справочники создаем/редактируем, как должен выглядеть интерфейс и т.д. Если Вы не владеете «языком программиста», но «что-то слышали», лучше не пытаться писать на техническом языке — получается достаточно весело. Описание должно быть однозначным и не вызывать вопросов. Также может содержать в себе пример реализации подобного решения в другой сфере;
  • оценка работы — очень важный пункт, описание трудозатрат.

Также существуют государственные стандарты к написанию ТЗ  — ГОСТы. На практике мало где применяются, но бывает, заказчик настаивает на этом.

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

Примеры и образцы ТЗ для 1С

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

  • Техническое задание на доработку 1
  • Техническое задание на доработку 1С 2
  • ТЗ на внедрение УПП
  • Медицина
  • ТЗ_9547
  • ТЗ

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Отзывы о компании

  • Сивелькина С. В. 20 марта 2017

    ПАО “НИКО-БАНК” выражает свою благодарность за оперативную и грамотную работу.
    В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы “Гарант”. 
    Безусловным плюсом в работе компании “МастерСофт” является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.

  • Мордвинцев С. П. 25 сентября 2016

    Коллектив компании “АЭРОПОРТ ОРЕНБУРГ” выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
    Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.

  • Ряховская Н. А. 19 июня 2017

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

  • Кетерер Т. М. 19 февраля 2018

    Главный бухгалтер муниципального бюджетного учреждения дополнительного образования “Дворец творчества детей и молодёжи” Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
    “Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе “1С: Бухгалтерия бюджетного учреждения 8” непосредственно Шевлягина Юлия.
    Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе “Зарплата и Кадры”).
    Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы…”.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...