Отчет о проделанной работе программиста 1с

Обновлено: 04.07.2024

Когда над проектом работают десятки человек, то трудно уследить за тем, кто чем занимается. Если же команда распределена по странам и/или городам, то составить представление о том, чем занимаются люди из другого города и/или другой страны, становится ещё сложнее.

Цели и задачи

  1. Своевременно обнаруживать препятствия, с которыми столкнулись инженеры при выполнении своих заданий.
  2. Находить зависимости между заданиями разных инженеров.
  3. Своевременно определять, какой задачей занимается инженер – той, что поставил ему менеджер или ведущий программист, или той, что он выдумал себе сам.
  4. Объективно оценивать результаты работы каждого сотрудника.

Правила

Шаблон отчёта

В ежедневном отчёте сотрудник должен последовательно ответить на три вопроса:

1. Что блокирует мою работу?

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

Задача «67 – Навигационная система – Главное меню – Обновить иконки» заблокирована из-за отсутствия новых иконок
Задача «83 – Навигационная система – Поиск по почтовому индексу – Добавить экран поиска по почтовому индексу» не может быть завершена, т.к. работа над задачей «82 – Навигационная система – Разработать модуль поиска по почтовому индексу» ещё не начата

2. Что я делал сегодня?

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

119 – Навигационная система – Построение маршрута – Разобраться, почему не используется КАД при построении маршрута от пр. Непокорённых до Ладожского вокзала при включённой оптимизации по времени
91 – Навигационная система – Поиск адреса – Разобраться, почему находятся несколько пересечений Невского пр. и Казанской ул.

3. Что я собираюсь делать завтра?

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

131 – Навигационная система – Навигация – При движении по маршруту стрелка не должна перескакивать на перпендикулярные улицы и менять своё направление на 90 градусов
107 – Навигационная система – Навигация – Разобраться, почему при движении по Гражданскому пр. стрелка прилипает не к основному дорожному элементу, а к «карману»

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

Программисты в штат

На данный момент, если отслеживать тенденции рынка вакансий, можно наблюдать,что специалистов в сфере обслуживания систем 1С предостаточно, что облегчает Вам поиск необходимых сотрудников на должность штатного программиста. Вы открываете сайт, где специалисты размещают своё резюме , вводите «Программист 1с» и на выбор у Вас предстаёт «барабанная дробь!» 78 049 человек с 113 383 резюме. Среди всего списка Вы находите сертифицированного специалиста по 1С ЗУП, по Бухгалтерии , по Управлению торговлей, по Рознице. Вы нанимаете их и перед Вами открывается целый «О дивный, новый мир» Олдоса Хаксли.

«Как управлять всеми этими людьми, оценивать их работу и следить за выполнением их задач»

Как ведущий специалист я Вам отвечу сразу – да ни как, если Вы сами не оканчивали технический ВУЗ по специальности «Информатика и вычислительная техника» Вам потребуется руководитель для этих чудесных людей, который сможет предоставлять отчёты по проделанной работе и распределять новые работы, поступившие от ваших сотрудников по специалистам. Представим, что Вы всех нашли, и Ваш бизнес открыл для себя новый путь – автоматизация.

Перейдём к цифрам

Средний уровень разброса на рынке вакансий от 20 тысяч рублей до 270 000 рублей (!).

На уровне в 20 000 рублей вы можете смело найти себе пару, тройку стажёров и платить им за то, что они просто приходят на работу, так как больше они ничего не умеют, ну а как по-другому? Стажёры ведь.

На уровне в 50 000 рублей вы уже сможете найти себе программиста, который если повезло не самоучка и, возможно, ему уже посчастливилось работать в 1с Франчайзи, где его обучили, рассказали, сертифицировали. Но он устал, потому что франч это марш бросок где специалисты всегда заняты работой. А он хочет выйти на «IT-пенсию». Сиди, смотри смешнявки на ютюбчике и ковыряй в носу. Помогай восстанавливать лицензию, обновляй типовую базу и ходи подключай мышки, класс.

На уровне в 100 000 рублей начинаются уважающие себя специалисты, которые отдают себе отчёт в том сколько они знают и в чём заключается их работа. У них есть несколько сертификатов по 1С, которые они с боем защищают на экзаменах перед самыми уважаемыми специалистами среды 1С. Они задают Вам действительно важные вопросы, начиная с собеседования и продолжая в работе. И выполняют свою работу ровно с той отдачей которую Вы просите. Но даже для них необходим руководитель. Ну не будут лошади без вожжей ехать – не бу-дут!

Зарплата от 150 000 рублей до 270 000 - это руководитель отдела разработки 1С. Человек, который уже проработал достаточно длительное время на данной должности и умеет организовать работу внутри коллектива программистов (а мы поверьте – ещё та «шайка-лейка»). Собрать отчёты, представить Вам их на понятном языке и ответить на Ваши вопросы переведя язык «кода» на человеческий.

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

Два, три программиста без руководителя – 180 – 300 рублей ежемесячно при, как правило, белой зарплате, до вычета НДФЛ. И обмануть их по зарплате не получится. (Специалисты 1С ой как хорошо умеют считать свою зарплату)

Тот же самый состав, но с руководителем – 250 – 400 рублей. Делаем выводы, взвешиваем свои возможности и потребности и вперёд в бой.

1С Франчайзи

Это ряд организаций, являющийся официальным партнёром группы компаний «1С», чей статус как правило, официально подтверждён соответствующими сертификатами и документами.

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

Их главной целью, как все-таки коммерческих организаций, является, заработок денег. Они работают далеко не за Вашу светлую идею, поэтому «приблизительные» цифры по найму таких компаний будут представлены точно так же, как и по штатным программистам. Добавлю, что сильного разброса цен вы не увидите, так как это не рынок колбасных изделий. Час работы специалиста в одной компании (в франчайзинге именно в таком ресурсе измеряются трудозатраты), будет приблизительно такой же, как и в другой компании. Около 2.3 - 2.5 рублей за 1 час работы. Разумеется, существуют различные скидки, акции, условия.

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

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

Средняя рыночная стоимость часа работ варьируется от 2 000 до 3 000 рублей за разовые работы в зависимости от регионов и предложений компаний.

Тарифы абонентского обслуживания будет соответственно:

От 3 до 9 часов – от 7 до 21

От 24 до 64 часов – от 54 до 134 и так далее.

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

Фрилансеры

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

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

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

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

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

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


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

· Матрицы ролевого доступа

· Правила предоставления доступа к полям форм и данных

· Проверки корректности заполнения данных в формах ввода

· Процедуры сверки данных

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


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

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

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

· Перечень бизнес-объектов, с которыми имеет дело пользователь и отношения между ними, ссылки на какие объекты в каких объектах должны храниться

· Состав полей данных (табличка в эксель) по каждому бизнес-объекту, у которого есть форма ввода

· Поддержка иерархичности — нужна или нет

· Сколько данных планируется хранить

· Регулярность ввода и изменения этих данных

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

· Поддержка хранения данных с историей по датам — нужна или нет

· Поддержка расчета итогов на какую-либо дату,

· или оборотов за период — нужна или нет

· Поддержка двойной бухгалтерской записи — нужна или нет

· Поддержка вытесняющих графиков величин во времени — нужна или нет

· Поддержка процессов взаимодействия пользователей по объекту — нужна или нет

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

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

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

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

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

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

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

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

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

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

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

Мы уже немного освоились в формулировках для программиста, теперь давайте поймем, для чего нужно описывать процессы?

Лучше один раз увидеть, чем 100 раз услышать!

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

Рассмотрим процесс описания пошагово:

  • Четко сформулируйте все что Вы хотите получить в итоге от данного процесса в программе. Избегайте абстрактных фраз, например: берем данные от сюда и отправляем их в этот отчет
  • Сформируйте какой пакет данных или действий, для этого итога, Вам необходим на входе. Если вы не сформулируете данные программист просто не пойме откуда их брать, процесс разработки затянется, а у вас не будет вовремя разработанной функции в 1С и работа встанет
  • Всегда рисуйте пример какие столбцы будут в итоговом отчете на выходе данных, описывайте их, а также из каких процессов или функций программы поступили эти данные

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

У меня для Вас есть несколько лайфхаков что можно и что нельзя делать при описании процессов.

Мы говорим «да» Детальному описанию процессов, и говорим «нет» Мини-описанию процессов. В трех словах не описать весь функционал, который Вам может пригодиться.

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

Мы говорим «да» Четким формулировкам, и говорим «нет» Абстрактным фразам в описании. Нельзя писать, например в данные мы интегрируем списки. Нужна конкретика!

Мы говорим «да» Конкретному варианту действий, и говорим «нет» Двум и больше вариантам описания. Придерживайтесь правила 1 задача = одно решение!

Подведем итоги,

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

• Знать основы бухгалтерского учета и иметь навыки работы с программой 1С

• Иметь под рукой глоссарий для программиста 1С

• Понимать что Вы хотите получить, в итоге, от программируемого функционала в 1с

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

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

Отчётность позволяет оценивать свою эффективность

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

Что ты скажешь себе по окончании трудового дня, если у тебя список задач пустой? Хорошо, если день завершился решением задачи, а если нет? Чем ты вообще занимался сегодня, на что потратил своё время?

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

Учёт позволяет выделить съедающие время задачи

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

Отчётность позволяет вести базу знаний

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

Ведение отчётности не тратит, а экономит время

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

Микрошаги

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

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

Страх узнать правду

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

Пример микрошагов

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

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

Использование микрошагов для уяснения пробелов в знаниях

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

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