Есть постановщики задачи, есть разработчики, есть тестировщики, есть внедренцы, есть администраторы, есть те, кто обеспечивает работу инфраструктуры.
Я думаю, что вам не составит труда набросать те рабочие противоречия, которые потенциально могут возникать между этими специалистами. Просто представьте кто-кому может предъявить какие претензии.
Разработчики могут упрекать постановщиков в составлении плохого технического задания. В ответ, постановщики будут говорить о невнимательности программистов и нежелании ими понять то, что написано в их понимании практически идеальным языком.
Это нормальное рабочее противоречие. Оно позволяет развиваться и тем и другим. Главное, чтобы они говорили это друг другу, корректно и аргументированно. И ни в коем случае не бегали жаловаться.
Теперь главное. При формировании структуры, впрочем, как и в любых делах, нужно придерживаться принципа разумной достаточности. Не стоит действовать фанатично. Нужно всегда здраво оценивать ситуацию. Необходимость соблюдения любых принципов и правил очень полезно проверять на предмет экономической целесообразности и соответствие элементарной бытовой логике.
Помним, что любое подразделение – это руководитель, который стоит денег и большая его часть не используется по функциональному назначению. Каждый отдельный сотрудник у вас в подчинении – это объект, который требует полноценного внимания, а оно не безгранично.
Не стоит фанатично искать и создавать “вторые глаза”. Не забывайте, что вы тоже обладаете зрением – главное помнить, что есть темные уголки, в которые нужно иногда заглянуть самому. И это нужно делать чаще, чем там может образоваться мусорная куча.
Нужно ли обязательно выделять тестировщиков? Это дорогая функция. Или можно усилить некоторые элементы, которые позволят обеспечить повышение выходного контроля на выходе от программистов, а непосредственное тестирование передать внедренцам?
Можно ли объединить в одном человеке и постановку задач и тестирование и внедрение?.
Не глядя на конкретную ситуацию, конкретную компанию, конкретный фронт работ, конкретных людей я бы не стал давать универсальных советов.
Любое дополнительное подразделение – это деньги. Больше 8-10 непосредственных подчиненных – это потеря управляемости, меньше 4 подчиненных – это расточительство. Людей объединяют общие задачи. Желательно разделять функционал на основе управленческих стилей.
Более или менее за типовую можно принять следующую структуру Департамента информационных технологий достаточно большой компании:
– Отдел системного анализа и проектной поддержки (руководители проектов, проектировщики бизнес-процессов, постановщики задач, создатели технических заданий)
– Отдел развития информационных систем (программисты)
– Отдел сопровождения прикладных программ и администрирования баз данных (администраторы баз данных, специалисты технической поддержки, тестировщики, консультанты по использованию программных продуктов)
– Отдел системного администрирования (серверная группа, сетевые администраторы, специалисты по телекоммуникациям, эникейщики)
– Служба технической поддержки (если есть большая сеть региональных объектов)
Именно с такой структуры началась моя деятельность в одной довольно крупной торговой сети. При этом часть ИТ систем находилось еще в ведении холдинга и холдинг же фактически осуществлял аутсорсинг ряда функций. Например в его зону ответственности входил весь финансовый контур организации и информационная безопасность.
А дальше мы пережили ряд трансформаций.
Вначале произошло размежевание в результате которого появились Департамент инноваций и внутреннего развития и Управление автоматизации в составе Департамента внутренних сервисов.
Первое подразделение включало в себя:
– Отдел диагностики и проектирования бизнес-процессов
– Отдел проектной поддержки
– Отдел развития универсальных программных решений
– Отдел развития платформенных решений (1С)
В составе управления автоматизации были:
– Отдел развития систем автоматизации торговых объектов (непосредственная автоматизация магазинов: кассы, весы и прочее оборудование)
– Отдел инфраструктуры
– Отдел сопровождения и администрирования баз данных