Уважаемый Александр! Большое спасибо за проделанную работу!
Прежде, чем ответить на вопросы, несколько важных, на наш взгляд, как бы "вводных", мыслей.
Мысль - 1. Работа, которую Вы сейчас делаете и которая продемонстрирована Вами в приведенном примере - это и есть нормальная работа менеджера (подходить к сотруднику, нормировать его работу и формализовывать сложные задачи и т.д.). Это бывает трудно, но это работа. Хороший менеджер ее никогда не избегает, а проводит регулярно и - более того - накапливает задачи по мере их поступления в журналы (картотеки).
Мысль - 2. Такая работа должна проводится не только с программистами, а она полезна для управления любыми сотрудниками, занятым в сложной предметной области.
Перейдем к примеру.
Был вопрос о процедуре сравнения.
Вы выбрали критерии для сравнения альтернативных модулей.
- встроенность в сервер
- документированность
- чистота кода (безошибочность компиляции)
- возможность включения в обе версии сервера
- частота использования (под частотой использования" Вы понимаете "распространенность" или иное? - Ред.)
Возможный алгоритм сравнения: каждому из выбранных критериев присваивается "вес", если значимость их разная (например от 1 до 2, возможны промежуточные значения - десятичные дроби). Если значимость одинаковая, вес каждого = 1. Просто смотрите сколько баллов набрал каждый модуль.
Важно! Если этот алгоритм кажется неточным, то, возможно, пропустили какой-то критерий (то есть, решения принимаются не только на основании перечисленного).
Перейдем к плану.
Вероятно, Вы не указали еще 6-й пункт плана, который мог бы звучать так:
6. Проверка работоспособности сайтов после перевода их на обновленный сервер.
Причем у Вас должен быть формализованный алгоритм такой проверки (уверены в том, что он есть). Мы также уверены в том, что Вы не делаете перевод всех Клиентов на обновленный сервер сразу "вживую", а сначала делаете это на тестовой машине полностью аналогичной (и по железу и по софту) рабочему серверу.
Теперь обсудим "непредвиденные проблемы". Как было сказано выше, они должны быть продекларированы внесением в журнал (с указанием на какой позиции плана находится соответствующая проблема).
Рассмотрим на Вашем примере. Пользуемся этими данными (цит.).: "оказалось, что не работает система авторизации на одном из сайтов". Понимаем, что это произошло на п.6. плана.
В этот момент программист либо вносит задачу в журнал, либо его аргументация о полезном перерасходе времени не будет принята во внимание. То есть, если задача несложная и ему быстрее исправить ошибку (решить задачу), чем ее формализовывать, то и вопроса нет для обсуждения. Если же он "залип", то ему лучше спокойно и по формуляру записать задачу в журнал и потом решать ее.
Рекомендуется, чтобы заданный в журнале формуляр предполагал и описание способа решения задачи (до или после решения). То есть, человек может спокойно подумать и спокойно описать/прорешать задачу. Время на описание задачи и ее решение в этом случае считается продуктивным.
Относительно приведенного примера можем предположить следущее. По контексту ваших сообщений предполагаем что сайт у которого не сработала система авторизации стоит не на отдельном сервере, где нет других сайтов кроме него, а стоит на сервере, где есть и другие сайты. Причем у остальных система авторизации нормально функционирует.
Если это верно, то рациональный алгоритм действий программиста/админа (и соответственно запись в журнале) мог бы выглядеть так:
1. Исправляю конфигурационный файл. (Этого может оказаться достаточно).
Если после исправления конфигурационного файла ситуация не изменилась, то пишем так:
1.1. Нахожу в конфигурационном файле зону ответственную за сайт N (не работает авторизация)
1.2. Нахожу в конфигурационном файле зону ответственную за сайт M (работает авторизация)
1.3. Нахожу отличия между M и N
1.4. Описываю отличия
1.5. Вношу изменения
Если после п.1.5. ситуация не изменилась (либо отличий не обнаружено) понимаю, что есть новое правило "ИКС" на уровне нового сервера (которого нет в старом сервере). Поэтому отправляю запрос в службу поддержки, размещаю задачу на таких-то Форумах и т.д., а пока откатываюсь на старую версию. И т.д..
На перечисленные работы по п.п. 1 - 1.5. у меня ушло __ (указать). Подпись".
Далее дело менеджера принять решение: настаивать на новой версии сервера (соответственно, выделять время на активное решение задачи), либо работать на старой и ждать пока придет ответ из службы поддержки или из иных пассивных источников.
Возможны и иные более удобные для Вас формы записи. Важна суть.
А суть заключается в том, что такие формулировки, как
"пытался переработать систему авторизации на неработающем сайте. Этого сделать не удалось в силу серьезных изменений в новой версии сервера (необходимо еще неизвестно сколько времени изучать документацию)"
или
"несколько раз приходилось повторять процедуру добавления модуля и чтения документации, поскольку каждый раз появлялся какой-нибудь нюанс" - неверны, ибо они носят слишком общий характер и никак не проясняют ни характер работы, ни характер возникшей задачи.
Наоборот, формулировки такие, как 1-1.5. конкретны и проясняют, как характер работы, так и характер возникшей задачи.
Массив же таких конкретных записей проясняет (по мере накопления), как квалификацию специалиста, так и состояние проекта. А кроме того позволяет делать так, чтобы задача однажды уже решенная больше не повторялась.
В итоге через определенное время количество "непредвиденных ситуаций" просто резко уменьшится.
Вопрос: "Как уточнить время на чтение документации? и Как составлять план на месяц, если задач несколько и на каждую нужно читать документацию?"
Ответ: И здесь истина конкретна. Мы не думаем, что каждый месяц нужно читать многочисленную новую и разнообразную документацию.
Мы думаем, что речь, скорее всего, о следующем:
а) операционка (например, соотв. UNIX или Win)
б) web-сервер (например, Апач или IIS)
в) база данных (которую Вы используете)
г) документация по языкам, которые Вы используете (perl, php, asp или иные)
д) ................
Уточните или продолжите этот список.
Уточните перечень источников информации, на изучение которых можно заложить определенное количество нормо-часов в месяц.
Далее все новое в документации можно свести к "обновлениям, связанным с безопасностью", "функциональным обновлениям", ... продолжите, если это необходимо.
С учетом того факта, что пожалуй, только обновления, связанные с безопасностью надо осуществлять регулярно (то есть, по мере их появления), а функциональные обновления делаются не сразу, соотв. время вполне рационально распределяется по нескольким месяцам.
С Уважением,