Как сделать тз для программиста

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

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

Аналитик сообщает что составлять ТЗ должен программист. Я этот программист. И по-моему что-то пошло не так.

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

@Alexander Ulmaskulov Очевидно, что сам себе никто на работе технические задания не составляет. Техническое задание - это то, что должно быть предоставлено программисту.

3 ответа 3

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

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

Описание требований от заказчика - это работа секретаря, а не аналитика.

Для аналитика требования заказчика - это всего лишь входные данные, на основе которых он должен выдать выходные данные, которыми являются технические задания. Грубо говоря работа аналитика заключается в следующем. Он должен указать: вот - что требует заказчик, и вот - что надо сделать.

А для программиста ТЗ - это входные данные, а программа - это выходные данные.

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

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

Как происходит процесс верификации результата работы?

Если задания спускаются сверху вниз, то верификация результата производится снизу вверх.

Результат работы программиста - это программа. Ее правильность сверяется с техническим заданием.

Результат работы аналитика - это техническое задание. Его правильность сверяется с требованиями заказчика.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Полным

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

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

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

Как написать ТЗ для программиста для решения задач по SEO

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

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

клиенты, не знающие, как составить ТЗ

В таком случае ваша цель – предложить клиенту варианты решения задачи, описать какие-то идеи и задать наводящие вопросы. Вам нужно максимально уточнить пожелания клиента. Для этого узнайте как можно больше информации, которая поможет в работе. Не стоит додумывать за клиента даже мелкие детали. Постарайтесь понять, как в итоге заказчик видит вашу работу. Что конкретно он хочет получить? Определите перечень задач, стоящих перед вами как исполнителем.

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

После того, как получите ответы на все вопросы, можно приступать к составлению ТЗ для программиста. В первую очередь прописываем цель, затем – полное описание решения задачи.

Чтобы сделать фильтр индексируемым, необходимо:

Как вы видите, мы подробно расписываем все по пунктам: какие ЧПУ должны быть, необходима ли возможность добавления тегов на сайт; указываем, что страницы нужно добавить в sitemap и т.д.

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

Вывод

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

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

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

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

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

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

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

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

Как правильно написать ТЗ на систему или доработку системы 1С

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

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

Данные правила легко соблюдать даже при написании кратких пользовательских историй, если Вы создаете их в рамках проекта SCRUM / Agile.

Итак, приступим.

Для начала вы должны понимать, что же на самом деле в 90% случаев программирует программист 1C:

  • Формы ввода информации
  • Контрольные процедуры
  • Модель данных
  • Алгоритмы автоматического заполнения данных
  • Формы вывода информации

Формы ввода информации

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

Не забывайте указывать перечень кнопок-команд, которыми пользователь должен командовать Вашей системой.

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

Контрольные процедуры

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

В эту категорию попадают:

  • Матрицы ролевого доступа
  • Правила предоставления доступа к полям форм и данных
  • Проверки корректности заполнения данных в формах ввода
  • Процедуры сверки данных

Модель данных

Конечно, программист сделает модель данных так, как ему подскажет его опыт на текущий момент. Если программист опытный, он сделает эффективную структуру данных. А если не очень — то не очень.

  • Перечень бизнес-объектов, с которыми имеет дело пользователь и отношения между ними, ссылки на какие объекты в каких объектах должны храниться
  • Состав полей данных (табличка в эксель) по каждому бизнес-объекту, у которого есть форма ввода
  • Поддержка иерархичности — нужна или нет
  • Сколько данных планируется хранить
  • Регулярность ввода и изменения этих данных
  • Нужно ли хранить в одном объекте несколько таблиц данных, и если да, то с какими аналитиками, будет ли какой-либо другой объект ссылаться на записи этих таблиц
  • Поддержка хранения данных с историей по датам — нужна или нет
  • Поддержка расчета итогов на какую-либо дату, или оборотов за период — нужна или нет
  • Поддержка двойной бухгалтерской записи — нужна или нет
  • Поддержка вытесняющих графиков величин во времени — нужна или нет
  • Поддержка процессов взаимодействия пользователей по объекту — нужна или нет

Алгоритмы автоматического заполнения данных

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

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

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

Формы вывода информации

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

Так же сюда попадают формы выгрузки данных в Excel или XML и другие форматы для интеграции с другими системами.

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

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

Нужен пример технического задания по 1С

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

но если отчет есть это — почти готовое тз.
как правило — отчета нет.

небольшая адптация ГОСТа к реалиям 1С:

и пример постановки ТЗ по этому шаблону (реальные названия заменены):

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

Компания Ratio составила три шаблона технических заданий: для дизайнеров, программистов и веб-разработчиков полного цикла. Можно скачать и заполнить их — исполнитель точно поймёт, какой сайт вам нужен.

Без ТЗ вы получите не то, чего ожидали

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

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

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


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

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

Убедитесь, что в заявке вы описали целевую аудиторию и зафиксировали бизнес-показатели, на которые будет ориентироваться продуктовая команда. Дальше по принципу sales first сразу начинаем работу над MVP — первым прототипом, с помощью которого можно быстро проверить спрос и собрать данные для аналитики: как пользователи переходят на сайт, куда нажимают и какие остались впечатления.

Составляйте ТЗ от общего к частному

Структура ТЗ на веб-разработку:

Описание проекта: концепция, гипотезы, целевая аудитория, критерии успеха.

Исходные данные: чеклист контента, полное описание разделов проекта с примерами

Задание на дизайн: механика работы блоков и дизайн-прототип со ссылками на psd-исходники

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

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

Отформатируйте ТЗ, чтобы его было удобно читать и редактировать

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

На что обратить внимание:

Составляйте списки (вместо сплошного текста)

Оформляйте заголовки через стили H1, H2 и так далее (для автоматического оглавления в Google Документах)

Выделяйте ключевые фразы (для чтения по диагонали)

Нумеруйте страницы, пункты и подпункты (чтобы во время обсуждения легко понимать друг друга)

Пользуйтесь внутренними ссылками

Из-за внутренних ссылок документ приходится листать туда-сюда, но они необходимы — ТЗ редко получается с первого раза, обычно туда вносят правки. Если повторять одну и ту же информацию несколько раз, корректировать ТЗ будет неудобно: в одном месте поправили, а ещё два забыли.

ТЗ на комплексную разработку сайта или веб-приложения

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

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


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

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

Отдельное ТЗ на дизайн

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


Если есть задача, но нет контента, всё пойдет плохо, ведь моя работа зависит от качества исходящей информации.

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

Отдельное ТЗ на бэкенд/фронтенд

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


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

Если нужно подготовить вёрстку/фронтенд, внутри должны быть показаны и описаны все состояния, трансформации и анимации элементов. Не забудьте описать интерфейс бэкенда — спецификацию API или простых запросов.

Чтобы сделать бэкенд, понадобится описание необходимых алгоритмов (основанные на User Stories и бизнес-требованиях), структуры данных (сущности и их характеристики), а также точек интеграции бэкенда с фронтендом и другими системами.

Читайте также: