Оптимальная организационная структура предприятия. Структура деления по функциям. Структура деления по целевой аудитории

Структура отдела продаж: как разделить обязанности

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

1. Структура деления по функциям

В зависимости от специфики бизнеса обязанности всех продавцов стоит разбить по следующим направлениям:

Hunter – те, кто приводит в компанию квалифицированные лиды, создает трафик покупателей в соответствии с вашей целевой аудиторией. Роль hunter в компании исполняют операторы call-центра, трафик-менеджеры, seo-специалисты, торговые представители.

Closer – те, кто отвечает за конвертацию лидов в сделку и увеличение среднего чека.

Fermer – те, кто продолжает сопровождать клиентов после первой покупки, увеличивает их жизненный цикл за счет up-sale (продают больше того же товара) и cross-sale (продают другой товар). Если вы продаете разовую услугу, то fermer-менеджеры вам не нужны. В розничном бизнесе роль fermer будут выполнять специалисты отдела маркетинга, задача которых разрабатывать программы лояльности.

2. Структура деления по каналам продаж

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

Варианты разделения функций продавцов по работе:

  • С дилерами;
  • С прямыми клиентами;
  • С розничными точками;
  • С тендерами;
  • С розничными сетями.

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

3. Структура деления по целевой аудитории

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

4. Структура деления по продукту

Посмотрите на продукты, которые вы предлагаете. Оцените, как отличается длина сделки. В зависимости от этого менеджеры могут заниматься продажами:

  • Экспертными с длинным циклом сделки, требуют постоянных консультаций. Например, если вы продаете it-решение, crm-систему.
  • Транзакционными с быстрым циклом сделки. Например, если вы продаете лицензии на программное обеспечение.

5. Структура деления по территориальному распределению

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

Структура отдела продаж: какой должна быть зона управляемости

Эффективная структура отдела предполагает, что в непосредственном подчинении у одного руководителя () должно быть не более 6-7 менеджеров. Тогда он успеет помочь продавцам закрывать сделки и сможет курировать их работу по каждому клиенту.

Ни в коем случае не допускайте прямое подчинение продавцов собственнику. Такие случаи иногда бывают в розничной торговле. Собственник в силу своего статуса не способен эффективно ими управлять. Менеджеры должны подчиняться только РОПу.

Структура отдела продаж: как настроить сотрудников на результат

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

При такой структуре выручка увеличивается минимум на 15-20%. Поэтому, если у вас трудятся 10-15 человек, разбейте их на две команды, создав два отдела.

Структура отдела продаж: как добиться конкуренции среди сотрудников

У вас все хорошо в структуре отдела продаж, если вы наблюдаете такую картину.

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

2. В структуре отдела продаж работают не 1-2 универсала, а хотя бы 3 клоузера, которые не занимаются ни , ни текущим обслуживанием базы постоянных покупателей.

3. У вас есть руководитель коммерческого подразделения, который занимается оперативным управлением.

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

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

6. Доход собственника всегда выше дохода любого из менеджеров и руководителей. Существует даже определенный порог, после которого сотрудников начинает «заносить». Если говорить о Москве, то для менеджеров он равен – 120 000 руб, а для руководителя отдела – 200 000 руб.

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

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

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

3. Как только вы наберете более 6 сотрудников, необходимо будет их разделить на 2 группы. И над каждой поставить начальника.

4. Бизнес-процесс должен быть описан, скорректирован, оттестирован еще раз, зафиксирован в регламенте и перенесен в .

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


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

Создание отдела продаж - важнейшая задача для владельца компании


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


Оценив ситуацию, такой менеджер применяет неоднократно проверенную на практике и реально действенную схему. Для начала находится компания N, которая не слишком озадачена встречами и личными контактами с клиентами, - идеальная мишень для атаки более энергичного и предприимчивого конкурента. Синхронные обращения к заказчикам N, предложение более выгодных условий, использование потенциала личного обаяния - и задача решена: 30–50 % клиентов перешли к вам, план продаж перевыполнен, бонусы получены, перспективы дальнейшего развития очевидны.
Что же происходит в это время с компанией N?
То, что она потеряла 50 % клиентов, означает, что обороты не просто упали - рухнули, и, скорее всего, неизбежны убытки. Восстановить утраченную клиентскую базу, когда на рынке уже действуют более активные и успешные соперники, практически невозможно. Владелец бизнеса, который все еще остается главным продавцом, безуспешно тратит время и силы на борьбу с хроническим безденежьем, и значит, пополнением рядов заказчиков заниматься ему вновь некогда. Вспомните афоризм небезызвестного Козьмы Пруткова: «Нельзя объять необъятное». В данном случае эти слова как нельзя более точно определяют суть происходящего. Дела наваливаются, усталость накапливается, и стоит предпринимателю немного расслабиться, опустить руки - с бизнесом можно распрощаться.


Вывод однозначен: организация отдела продаж, делегирование его сотрудникам полномочий по поиску и привлечению клиентов и системный контроль такого подразделения - вот меры, которые должен принять генеральный директор, если он действительно дальновидный коммерсант, нацеленный на развитие своего предприятия.
Организация отдела продаж: советы практиков
Организация работы отдела продаж - сложный процесс, развивающийся по своим законам и требующий соблюдения важных правил. Некоторые коммерсанты пытаются (как они утверждают, на первых порах) ограничиться наймом одного-двух сотрудников. Рассуждают приблизительно так: «Посмотрим, как пойдет дело. Справятся, значит, их достаточно. Если нет, возьмем других». Сразу же хотим предостеречь: полумеры нужного результата не обеспечат.
Практика показывает, что минимально стабильное количество штатных единиц в подразделении - пять рядовых сотрудников плюс главный менеджер (руководитель). Такова неоднократно проверенная в деле организационная структура отдела продаж. Каждый человек, пробовавший себя в роли коммерсанта (неважно, успешно или нет), скажет, что обращение к потенциальному клиенту вовсе не равно получению заказа: в среднем на 25 контактов приходится 1 заключенная сделка. Кроме того, не у каждого человека, начинающего работать менеджером, все получается, и в результате многие уходят.
Именно поэтому необходимо брать такое количество сотрудников, которое соответствует среднестатистическим показателям, а лучше - больше, чтобы естественный отсев не помешал работе Вашей компании. Пытаясь ограничиться минимальным числом работников, владелец компании становится похож на «оптимиста», который, прыгая через пропасть, рассчитывает, что сначала преодолеет пятую часть расстояния, а уж потом...


Проведите экспресс-аудит отдела продаж самостоятельно по 23 критериям и определите точки роста продаж!

Перейти к аудиту

Провести аудит

Посредством правильной организации отдела продаж, состоящего из специалистов, прошедших специальное обучение, можно в минимальные сроки выйти на запланированные результаты и приносить реальную прибыль компании.
Типовая структура отдела продаж выглядит следующим образом: нижнюю ступеньку иерархической лестницы занимают 5 (или больше) рядовых менеджеров, которые находятся в подчинении начальника отдела. Последний, в свою очередь, подчиняется коммерческому директору предприятия, который подотчетен уже лишь исполнительному и генеральному директорам. Наличие двух руководителей подразделения - коммерческого директора и начальника отдела - позволяет максимально эффективно обеспечивать планирование, контроль и другие административные функции. Кроме того, такая структура использует потенциал взаимозаменяемости: если какой-либо из начальников отсутствует, отдел не остается «обезглавленным».


Можно пойти еще дальше и усовершенствовать типовую структуру важнейшего подразделения коммерческого предприятия: ввести в штат еще одного сотрудника - администратора. Как правило, это молодая или средних лет женщина, склонная к ведению административной работы, умеющая выполнять рутинную работу с документами. В принципе, это секретарь с расширенным кругом обязанностей: подготовка и оформление всех необходимых документов для всех менеджеров (типовые коммерческие предложения, договоры, счета, счета-фактуры, акты выполненных работ и пр.); своевременное внесение изменений и дополнений в электронную клиентскую базу и т. д.
Администратор - ценный сотрудник? Серьезно?
Да серьезно, и на это есть ряд весомых причин!
Во-первых, он освобождает менеджерам время для непосредственной работы с клиентами, а заодно лишает их возможности под благовидным предлогом увиливать от непосредственных обязанностей.
Во-вторых, избавляет компанию от проблем с неверно составленными или неграмотно оформленными документами, утерянными или испорченными базами данных.
Порядок - вот главное, что добавляется в работу отдела продаж, если в нем есть администратор.


Найти подходящего администратора значительно проще, чем менеджера по продажам. Оклад такого сотрудника значительно меньше, чем у коммерсантов. Отсюда еще одна статья экономии: время, высвобожденное от работы по оформлению документов у квалифицированных высокооплачиваемых менеджеров, расходуется более рационально. Получается, что затраты на содержание администратора с лихвой окупаются дополнительными контрактами.
Администратор может быть полезен даже при минимальном штате отдела продаж, состоящем из двух-трех менеджеров и начальника. Максимально выгодно наличие этой единицы в крупных компаниях, где работают до десяти менеджеров и более, а также есть два-три руководителя отдела.
Типовая структура отдела по продажам, дополненного администратором, будет выглядеть практически так же, как и приведенная выше, с небольшим отличием: в подчинении у начальника подразделения оказываются и менеджеры, и администратор.
© Константин Бакшт, генеральный директор "Baksht Consulting Group".

Лучший способ быстро освоить и внедрить технологию построения отдела продаж - посетить тренинг К. Бакшта по управлению продажами "Система продаж".

Аккаунт в Google включает три уровня, на каждом из которых мы настраиваем определенные параметры:

Примечание . Разделяйте кампании:

  • В контекстно-медийной сети и на поиске Google — это два канала с разными местами размещения, принципами определения релевантности аудитории и форматами объявлений;
  • По регионам из-за разного уровня конкуренции и, как следствие, разными принципами управления бюджетом.

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

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

Первый шаг к эффективному аккаунту — правильное планирование ключевых фраз. Для начала — об особенностях работы AdWords с ключевиками.

Почему важно количество запросов по каждому ключевику

Аналог статуса «Мало показов» в Яндексе — статус «Мало запросов» в Google. Отличие в том, что его получают не группы объявлений, а ключевики, вне зависимости, сгруппированы они или нет.

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

  • Повышает эффективность показа объявлений;
  • Оптимизирует количество ключевых слов в системе.

Что делать с такими ключевиками? Варианта два:

  • Подождать неделю до очередной проверки Google — вдруг вырастет трафик и система активирует слово. Это уместно, если продукт новый или в объявлениях есть редкое слово;
  • Удалить и подобрать более эффективные варианты с помощью .

Учитывайте частотность ключевиков при составлении списка под группу объявлений.

Зачем и как группировать ключевые слова в Google AdWords

Итак, мы поняли, что стоит внимательнее подходить к подбору ключевиков и основываться при этом на их частотности.

В AdWords ключи задаются не для конкретных объявлений, а для групп! Но для группы число ключей не ограничено. Если если в ней Google обнаружит и заблокирует нерелевантные фразы, показы будут по другим.

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

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

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

  • Входные металлические двери;
  • Входные деревянные двери;
  • Входные пластиковые двери;
  • Входные алюминиевые двери;
  • Входные стеклянные двери.

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

  • «Двери входные металлические»;
  • «Купить двери входные металлические»;
  • «Дверь входная металлическая цена»;
  • «Установка металлических входных дверей»;
  • «Металлические двери входные +в квартиру»;
  • «Двери металлические входные недорого»;
  • «Дверь входная металлическая утепленная»;
  • «Купить дверь входную металлическую недорого»;
  • «Стальная дверь»;
  • «Железная входная дверь»;
  • Купить металлическую дверь»;

Примечание . Конверсионные запросы со словами «купить», «заказать», «с доставкой» выносите в отдельные группы объявлений или даже кампании — по ним стоит назначать более высокие ставки.

Как мы группируем ключевики? Если семантики немного, можно вручную. Для большого объема проводим кластеризацию с помощью таких платных инструментов, как Key Collector , Rush Analytics , PPC Help , Мегалемма . Как и любой автоматический метод, они не дают 100% точности обработки данных, поэтому стоит проверять результаты на смысловое соответствие

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

Для чего нужны группы объявлений в Google AdWords

Сложно сказать заранее, какое сообщение 100% привлечет целевую аудиторию. Для этого есть группы объявлений. Как это работает?

Рекомендованное количество объявлений в составе группы — 2-4. В каждом — описание разных преимуществ продукта, но один заголовок. Google показывает все поочередно, чтобы накопить достаточно статистики по кликам или конверсиям, и определяет наиболее эффективное исходя из CTR. Затем показывает их целевой аудитории чаще остальных.

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

  • Добавляйте хотя бы один ключевик в заголовок объявления. Когда поисковый запрос совпадает с ним, пользователь с большей вероятностью кликает объявление;
  • — дополнительный способ повысить соответствие заголовка запросу, а следовательно, кликабельность. Он подходит, если у вас много моделей одного товара и нужно быстро запустить кампанию. Отличный вариант для e-commerce.

Функционал позволяет автоматически добавлять в текст объявлений слова из запроса. Например, вы продаете смартфоны Samsung и у вас есть соответствующая ключевая фраза — «Смартфоны Samsung».

Пользователь, который вводит «Смартфоны Samsung Galaxy S7», видит объявление: «Смартфоны Samsung Galaxy S7. Всегда в наличии. Бесплатная доставка. Звони!» По запросу «Смартфоны Samsung Galaxy J5»: «Смартфоны Samsung Galaxy J5. Всегда в наличии. Бесплатная доставка. Звони!»

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

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

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

Как создать группу объявлений в Google AdWords

1) Выберите соответствующий раздел меню:

2) Нажмите кнопку добавления:


4) Задайте настройки группы объявлений:


  • Название, которое отражает содержание группы, например, «Входные металлические двери поиск»;
  • Ставку, которая будет использоваться при показе вашего объявления по этим ключевым словам. Она называется ценой за клик;
  • Ключевые фразы.

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

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

Для того, чтобы разработать эффективную организационную структуру следует определить:

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

Для этого необходимо совершить следующие действия:

1. Определить главные функции компании – функции I уровня

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

Важно отличать функции основные и вспомогательные . С помощью основных функций компания получает (их еще называют производственными) прибыль. Вспомогательные функции способствуют осуществлению основных функций. Например, к ним можно отнести маркетинг, финансы, учет. Если у компании несколько разных видов деятельности, то мы советуем по возможности сразу привязать главные функции к видам деятельности, к которым они относятся. Функции, которые выполняются для всей компании (финансы, учет), не нужно привязывать к видам деятельности.

Записывая функции, следует все время задавать себе вопрос «для чего мы это делаем?». Если на этот вопрос нет ни у кого (!) ответа или ответ на этот вопрос не удовлетворяет руководителя компании, то эта функция или не должна выполняться, или это повод задуматься. Однако на первом уровне функций такое случается редко.

Записи удобно вести в табличной форме в файле Excel.

2. Определить подфункции – функции II уровня

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

Продолжаем задавать себе вопрос «для чего мы это делаем?». Количество подфункций к главной функции не должно быть слишком большим, но и не должно быть слишком маленьким. Идеальное количество – 7 плюс-минус 2. Если их количество значительно больше, нужно пересмотреть принцип группировки.

3. Определить функции III уровня

Если компания крупная, то следует определить функции третьего уровня, то есть подфункции для функций второго уровня.

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

4. Определить трудозатраты

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

5. Определить подразделения, необходимые для выполнения функций

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

6. Определить какой должна быть организационная структура

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

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

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

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

7. Сделать проекцию функций первого и второго уровня на организационную структуру – функционально-должностное распределение

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

8. Определить уровень детализации структуры, необходимый компании

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

Для небольшой и средней компании идеальна двухуровневая организационная структура . Это структура, в которой есть два уровня управления – руководитель компании (возможно вместе с его заместителем и помощником) и подчиненные ему подразделения (отделы или отдельные сотрудники).

Для крупной компании допустима трехуровневая организационная структура – руководитель компании, отделы, сектора. Это структура, в которой есть три уровня управления – руководитель компании (возможно вместе с его заместителем и помощником), подчиненные ему отделы и их секторы.

Для очень крупных компаний можно применять четырехуровневую организационную структуру . Это структура, в которой есть четыре уровня управления – руководитель компании (возможно вместе с его заместителем и помощником), подчиненные ему департаменты или службы, из отделы, которые, в свою очередь, состоят из секторов.

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

  • одному руководителю не должно подчиняться очень много объектов управления (больше десяти);
  • одному руководителю не должно подчиняться очень мало объектов управления (три и меньше);
  • делить отдел на секторы имеет смысл только в том случае, когда однотипные функции внутри отдела можно разделить по какому-то признаку и их выполняет большое количество сотрудников;
  • количество сотрудников в секторе должно быть не меньше пяти;
  • количество сотрудников в отделе должно быть не меньше семи.

9. Закончить распределение функций на организационную структуру

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

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

10. Внедрить в жизнь новую организационную структуру

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

CEO "East & West Change Management"

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

Общее описание

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

Эти интервалы относятся к некоторому внутреннему времени, которое представляется как целое число, которое увеличивается при выполнении программы (что не равно реальному времени). Каждый раз, когда это происходит, расписание будет interogated для проверки любых задач, которые должны выполняться с этим временным интервалом.

Если задача выполняется, ее следует перенастроить для повторного запуска в позиции относительно текущего времени (например, в 5 временных меток). Это относительное положение просто сохраняется как целочисленное свойство объекта Task.

Проблема:

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

Как бы то ни было, я думаю, что каждый раз, когда таймер увеличивается, мне нужно:

  • Выполнение задач в позиции "0" в расписании
  • Повторно добавьте эти задачи в расписание снова в их относительном положении (например, задача, повторяющаяся каждые 5 шагов, будет возвращена в позицию 5)
  • Каждая группа задач в расписании будет иметь свое "время до выполнения", уменьшенное (например, задача в позиции 1 переместится в позицию 0)

Предположение:

Есть несколько предположений, которые могут ограничить возможные решения, которые я могу использовать:

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

Основные вопросы, которые у меня есть:

Как я могу разработать этот график для эффективной работы? Какие типы данных/коллекции могут быть полезны?

Есть ли другая структура/подход, который я должен рассмотреть?

Неправильно ли я отклонять рамки планирования (например, кварц), которые, как представляется, больше работают в "реальном" временном домене, а не "нереальной" временной области?

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

7 ответов

Как насчет этого, он использует ваши собственные Ticks с executeNextInterval():

Import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class Scheduler { private LinkedList intervals = new LinkedList(); public void addTask(Runnable task, int position) { if(position<0){ throw new IllegalArgumentException(); } while(intervals.size() <= position){ intervals.add(new Interval()); } Interval interval = intervals.get(position); interval.add(task); } public void executeNextInterval(){ Interval current = intervals.removeFirst(); current.run(); } private static class Interval { private List tasks = new ArrayList(); public void add(Runnable task) { tasks.add(task); } public void run() { for (Runnable task: tasks) { task.run(); } } } }

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

И вот некоторые UnitTests для него:)

Import junit.framework.Assert; import org.junit.Test; public class TestScheduler { private static class Task implements Runnable { public boolean didRun = false; public void run() { didRun = true; } } Runnable fail = new Runnable() { @Override public void run() { Assert.fail(); } }; @Test public void queue() { Scheduler scheduler = new Scheduler(); Task task = new Task(); scheduler.addTask(task, 0); scheduler.addTask(fail, 1); Assert.assertFalse(task.didRun); scheduler.executeNextInterval(); Assert.assertTrue(task.didRun); } @Test public void queueWithGaps() { Scheduler scheduler = new Scheduler(); scheduler.addTask(fail, 1); scheduler.executeNextInterval(); } @Test public void queueLonger() { Scheduler scheduler = new Scheduler(); Task task0 = new Task(); scheduler.addTask(task0, 1); Task task1 = new Task(); scheduler.addTask(task1, 1); scheduler.addTask(fail, 2); scheduler.executeNextInterval(); scheduler.executeNextInterval(); Assert.assertTrue(task0.didRun); Assert.assertTrue(task1.didRun); } }

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

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

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

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

Tick(): current = current.next() for task: current.tasklist(): task.execute()

в любое время, когда вы планируете новую задачу, вы просто добавляете ее в позицию N, указывающую вперед от текущего "тикания"

Если бы мне пришлось это сделать, я бы создал простую очередь (вариант связанного списка). Эта очередь будет содержать динамическую структуру данных (например, простой список), содержащий все задачи, которые необходимо выполнить. На каждом временном интервале (или временном шаге) процесс считывает первый node очереди, выполняет команды, которые он находит в списке этого node. В конце каждого выполнения он вычислял бы перераспределение и добавлял новое исполнение в другой node в очереди или создавал узлы до этой позиции перед сохранением инструкции в этом node. Первый node затем удаляется, а второй node (теперь первый) выполняется на следующем шаге. Эта система также не требовала бы отслеживания целых чисел, и все необходимые структуры данных были найдены на языке Java. Это должно решить вашу проблему.

Вот несколько мыслей:

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

Избегайте относительных времен. Используйте абсолютный внутренний тик. Если вы добавите задание, установите "run next time" в текущее значение галочки. Добавьте его в список, отсортируйте список по времени.

При поиске задач запустите во главе списка и выберите все, что имеет время <= текущий тик, запустите задачу.

Соберите все эти задачи в другом списке. После того, как все запущены, вычислите "запустить в следующий раз" на основе текущего тика и приращения (чтобы вы не получали задачи, которые выполняли цикл), добавьте все их в список, сортируйте.