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

Предыстория
В октябре 2010г., в рамках организации проектов по повышению эффективности
авиазавода на 2011г., компания «Райтстеп» выполнила диагностику основного
производства завода. Основной целью обследования являлось определение «узких мест», т.е. тех объектов, процедур управления и подразделений, которые ограничивали весь выпуск завода.
По результатам анализа, основными «узкими местами» завода были определены (потенциальным «узким местом» также являлись процедуры (вернее, их отсутствие) ведения электронного состава изделия):
1) агрегатно-сборочный цех АСЦ1;
2) методы планирования и управления производством;
3) цех ШЦ (штамповочный), цех МЦ (механический)
В настоящей статье описывается «расшивка» «узкого места» в цехе АСЦ1.

Цех АСЦ1 - первый в последовательной цепочке сборки машин (там из агрегатов начинает собираться изделие, далее - передается в остальные сборочные цеха, АСЦ2 и ЦОС), являющейся «вершиной треугольника» внутризаводской цепочки поставки и являющийся потребителем остальных «детале-делательных» цехов (ДДЦ). Или - началом «трубопровода» перемещения изделия по цепочке сборки.

Следовательно, любая проблема, возникающая в цехе АСЦ1 и ограничивающая начало сборки изделий автоматически приводила к ограничению выпуска машин всем заводом.
И на осень 2010 года цех АСЦ1 являлся таким узким местом, со средним выпуском в 6 изделий в месяц, при заводском плане в 7-8. Основными проблемами АСЦ1 являлись:
1) несинхронность поставок деталей и сборочных единиц от других цехов в адрес цеха АСЦ (читай - постоянные «неожиданные» дефициты на сборке)
обусловленная фактическим отсутствием расчетного позаказного (помашинного) плана поставок;
2) крайне неэффективная внутренняя организация работы в цехе, с основным симптомами (не причинами!): «нет людей», «бракованные детали», «нет места, некуда ставить изделия».

Фактически, проблемы АСЦ1 являлись отражением проблем в управлении и организации производства всего завода. И, прежде всего:
1) фактическим отсутствием синхронизированного между «деталеделательными» и «агрегатносборочными» (ДДЦ и АСЦ) цехами помашинного номенклатурного плана, что приводило к выпуску не того, что надо и не в том количестве, как следствие - к работе «по дефицитам» и, в конечном итоге, к срыву графика сборки;
2) сдельной оплате труда, позволяющей и вынуждающей цеха гнаться, прежде всего за «валовкой», даже - в цехах-«узких местах», при этом - не всегда с учетом дефицитов.

Выбор концепции

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

Первое: изменение системы управления производством так, чтобы она заставляла выпускать только того, что нужно при сравнительно невысоких затратах. Для этого было необходимо:
1) организовать систему вытягивающего позаказного номенклатурного цехового планирования, систему мониторинга поставок и «закрытия» машин;
2) через изменение системы мотивации (модификации «сделки») мотивировать цеха на выполнение прежде всего указанного плана;
3) обеспечить возможность управления процессом производства и поставок через визуализацию и мониторинг происходящего.

Второе: изменение системы организации производства цеха через:
1) оптимизацию внутрицеховых потоков движения деталей и агрегатов,
2) устранение всех лишних как производственных так и не производственных операций на пути создания машины,
3) обеспечение визуализации происходящего, статуса настоящей ситуации, будущих и настоящих проблем,
4) сокращение партий запуска и перемещений по всей цепочке производства.

Для реализации указанных преобразований были выбраны инструменты SCM («управление производственными цепочками»), Lean («бережливое производство») и ТОС («Теория Ограничений») методов управления производством.

Работы по первому направлению, постановка «Система Планирования и Мониторинга завода» начали реализовываться через внедрение для всего завода новых процессов (процедур) синхронизованного (под график сборки и отгрузки машин) планирования и управления производством, плюс, внедрение поддерживающей их Lean IT Системы Планирования и Мониторинга производства SCMo.

Работы по второму направлению были приняты к реализации с использованием более традиционных но, «подогнанных» к применению на заводе инструментов Lean и TOC.

Преобразования. Новая организация внутри цеха АСЦ1

Проект преобразований в АСЦ1 был начат в январе 2011 года, но затем, в связи сопределенными изменениями в цехе, остановлен.

Представляемые ниже результаты проекта были достигнуты всего за несколько месяцев, в т.ч. благодаря решительной и принципиальной позиции руководства цеха. И, забегая вперед, отметим, что основная цель проекта - увеличена пропускная способность цеха с 6 до 8 машин в месяц, при:
неувеличении операционных затрат (ФОТ, численность рабочих и пр.) и запасов деталей и НзП - была достигнута.

Оптимизация участка внестапельной сборки изделий

Физическое расположение изделий. Работа с нехваткой места

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

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



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



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

Перенос операций с окончательной сборки изделия на другие участки.

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

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

Изменение системы начисления заработной платы рабочих

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

Система сигнализации

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

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

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

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

Желтая - проблема существует, но в процессе решения.

Оптимизация участка детальной сборки цеха

Система обеспечения поставок от участка детальной сборки цеха

После проведения указанных выше преобразований, пропускную способность участка внестапельной сборки удалось увеличить до 8 машин в месяц. Но, практически сразу «узкое место» цеха АСЦ1 переместилось на участки детальной сборки цеха.

В связи с этим, новая организация была внедрена на участке детальной сборки цеха, участке, изготовляющего и напрямую поставляющего сборки на внестапельную сборку. Работы были выполнены примерно за месяц, по предложенной «Райтстеп» методологии:
1) оптимизация организации рабочих мест участка по принципам «5С»;
2) установка системы визуализации;
3) организация системы вытягивающего планирования и поставок деталей на сборку, методами «супермаркет» и «канбан».



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

Преобразования. Обеспечение своевременности поставок в АСЦ1


Система Планирования и Мониторинга SCMo

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

В качестве инструмента реализации использовалась Lean ERP система SCMo, обеспечивающая on-line планирование, управление и мониторинг процессов производства и поставок.
Настроенный для завода алгоритм планирования позволял формировать позаказные (под каждую машину или «россыпной» заказ) номенклатурный план
производства и поставок для каждого цеха, охваченного системой. С постоянно обновляемой по факту производства цветовой сигнализацией/подсветкой каждой из партий поставляемых цехом-поставщиком деталей. См. схему ниже.

В рамках проекта преобразований в цехе АСЦ1, с использованием SCMo удалось «правильно» поставить следующие процессы:
1) формирование последовательности сборки машин по цехам АСЦ1 - АСЦ2 - ЦОС, и, для АСЦ1 - формирование графика сдачи, по конкретным машинам и на конкретные числа месяца (см. экранную форму ниже):

2) на основании графика сдачи машин цехом АСЦ1 - формировать план поставок деталей и агрегатов от цехов - поставщиков. Полностью автоматизировать данный момент в настоящий момент не удалось из-за неточностей в электронном составе изделия (машина). В силу этого, было принято решение по частичному ведению в SCMo электронных дефицитов в адрес цехов поставщиков, с обязательной установкой поставщиками «обещанной даты». Фактически это - публикуемые on-line и доступные для всех «журналы дефицитов», которые ранее вели диспетчера ПДБ цеха, и информация из которых становилась доступна цехам поставщикам часто в искаженном виде, и только на планерках.

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

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

Система мониторинга происходящего (система видеонаблюдения)

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


Результаты проекта

1. Увеличена пропускная способность цеха с 6 до 8 машин в месяц.

При: неувеличении операционных затрат (ФОТ, численность рабочих и пр.) и запасов деталей и НзП.
2. Введена в работу Система Планирования и Мониторинга поставок, синхронизирующая не только выпуск, но и запуск всех цехов завода с графиком
агрегатной и окончательной сборки машин.
3. Обеспечена полная прозрачность происходящего в производстве.
4. Обеспечен базис для выхода в 2012 г. на ритм производства в 9 машин в месяц.
5. Запущен «маховик» преобразований, в т.ч. и на остальных участках цеха.

Райтстеп, Iris Partenaires

Методика анализа "узких мест"

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

Система сбалансированных показателей

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

Таблица 8.1. Показатели в системе анализ "узких мест"

Функциональная

сфера

"Узкое место"

Возможные

причины

Возможные

показатели

Покупатели

(клиенты)

Удовлетворение требований покупателей. Много рекламаций.

Слабые позиции во внешней среде. Небольшой ассортимент

Неправильная

ассортимент

политика. Низкая активность персонала.

Нет эффективной

системы отбора, и обучения персонала. Недостатки в обслуживании

Затраты на тренинг персонала по сбыту.

Число клиентов, которых может обслуживать один работник.

Продуктовая программа и рынок

Обороты по продуктам, регионам, каналам реализации. Небольшая доля рынка.

Снижение выручки с оборота.

Небольшой портфель заказов. Медленное освоение новых рынков и выход новых продуктов

Продукция не соответствует требованиям рынка. Неправильная дистрибьюторская политика.

Изменение

Слабое планирование и управление реализацией. Усиление конкуренции

Средняя цена продаваемых продуктов.

Объем остатков готовой продукции на складе.

Объем оборота на одного работника. Число заказов.

Доля рынка

по основным видам

продукции

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

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

Система сбалансированных показателей / The Balanced scorecard (ССП/BSC ) позволяет перевести стратегические цели в четкий план оперативной деятельности подразделений и ключевых сотрудников и оценить результаты их деятельности с точки зрения реализации стратегии с помощью ключевых показателей эффективности (Key Performance Indicator, КРI ).

Система сбалансированных показателей была разработана на основе исследования, проведенного в 1990 г. профессорами Гарвардской школы экономики Дэвидом Нортоном и Робертом Капланом. Исследование проводилось с целью выявить новые способы повышения эффективности деятельности и достижения целей бизнеса. Проводя исследование, Нортон и Каплан руководствовались следующей гипотезой: управление с помощью финансовых показателей не дает достаточной информации для принятия правильных и своевременных управленческих решений. В результате ими была разработана принципиально иная система контроля эффективности и выполнения стратегических целей, получившая название "Система сбалансированных показателей". Первая же публикация этих разработок получила высочайшую оценку: Harvard Business Review назвал Систему сбалансированных показателей самым значительным вкладом в практику управления за последние 75 лет.

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

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

Авторы ССП предложили четыре направления оценки эффективности, отвечающие на самые значимые для успешной деятельности компании вопросы: для подсистемы "Финансы" – каково представление о компании у акционеров и инвесторов? "Клиенты" – какой компанию видят покупатели ее продуктов? "Бизнес – процессы" – какие бизнес – процессы требуют оптимизации, на каких организации стоит сосредоточиться, от каких отказаться? "Обучение и рост" – какие возможности существуют для роста и развития компании?

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

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

Модель взаимосвязи направлений сбалансированной системы показателей со стратегическими ориентирами компании представлена на рис. 8.4.

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

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

Рис. 8.4.

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

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

Количественное выражение. Необходимо найти количественные оценки любых показателей, даже подразумевающих субъективную характеристику деятельности, например, оценка поставщиков: "хороший", "удовлетворительный" или "средний". При этом каждый специалист будет вкладывать в эти определения разный смысл. Однако если, например, поставщиков оценивать по проценту своевременной доставки продукции, результаты будут объективными и однозначными. Если применить творческий подход, то можно выразить количественно практически все показатели деятельности.

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

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

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

Релевантность. Показатели в системе должны точно отражать процесс или цель, которые необходимо оценить. Хорошей проверкой является определение возможности действовать на основе результатов данного показателя. Если какой-либо аспект деятельности выполняется плохо, нужно быть в состоянии оценить сущность проблемы и ликвидировать ее. Это можно продемонстрировать с помощью индексов деятельности, которые используют в своих Системах показателей многие организации. Индекс – это сочетание нескольких отдельных показателей, объединенных по какому-либо признаку и представляющих единый общий индикатор деятельности. Индексы могут давать очень полезную информацию, особенно, когда необходимо включить ряд показателей и в то же время ограничить их общее количество в Системе. Однако во всем комплексе показателей должно быть не более пяти индексов.

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

Важным моментом является также определение нужного количества показателей деятельности. Для этого необходим объективный рассказ о выбранной стратегии по четырем составляющим ССП. Рассказ о стратегии потребует полного комплекса основных итоговых показателей (запаздывающих индикаторов) и факторов деятельности (опережающих индикаторов) по всей ССП. Часто отношение между ними – один к одному, но иногда на один итоговый показатель приходится два фактора деятельности. Если предположить, что их отношение – один к одному, то ССП потребует как минимум восьми показателей, отношение 1: 2 предполагает 12 показателей. Учитывая то, что некоторые цели деятельности имеют более одного показателя, количество показателей быстро возрастет до 20 и более. Большинство специалистов-практиков и консультантов по ССП придерживаются мнения, что ССП для высшего уровня в организации требует от 20 до 25 показателей. Сравнение с эталоном по внедрению ССП в различных областях дало такие же результаты. Однако это не является "железным" правилом, т.е. если для оценки стратегии необходимо 30 показателей, значит, столько и должно быть в ССП. Аналогично, если рассказать о стратегии можно с помощью 15 показателей, то не следует добавлять лишних показателей только для того, чтобы заполнить место.

В качестве примера ниже приводится количество показателей по составляющим ССП для высшего уровня в организации:

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

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

Система ССП охватывает все структурные единицы организации и обеспечивает их совместное и скоординированное функционирование.

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

Пример увязки показателей со стратегическими целями приведен в табл. 8.2.

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

Таблица 8.2. Система сбалансированных показателей компании

Направления оценки

Стратегическая цель

Показатель

Методика расчета показателя

Повысить прибыльность компании

Рентабельность продаж

Прибыль / Выручка

Снизить затраты

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

Постоянные затраты / Затраты

Увеличение удельного веса маржинального дохода в выручке от реализации

(Выручка – Переменные затраты) / Выручка = = Маржа на доход / Выручка

Увеличить продажи

Расширение клиентской базы

Число новых потребителей за отчетный период / Число потребителей на начало периода

Сохранение клиентской базы

Число потребителей, не являющихся новыми в течение отчетного периода, на конец отчетного периода / Число потребителей на начало отчетного периода

Увеличение объемов закупок потребителями

Выручка / Число потребителей

Удовлетворенность первичных потребителей

Показатель удовлетворенности первичных потребителей

Анкетирование

Удовлетворенность конечных потребителей

Показатель удовлетворенности конечных потребителей

Анкетирование

Надежный поставщик

Своевременность поставки

Срок задержки поставки (дни)

Низкая цена / Небольшие затраты на приобретение

Цены на металл в сравнении с аналогичной продукцией конкурентов

Маркетинговое исследование

Качество

Точное и качественное исполнение заказа

Число возвратов из-за пересортицы или брака

Доля возвратов в продажах

Стоимость возвращенной продукции / Выручка от продаж

Внутренние бизнес- процессы

Надежные поставщики

Цены на сырье, материалы и услуги

Отклонения от бюджетов

Точное и качественное исполнение заказов

Число часов простоя (невыполненных заказов) из-за несвоевременной (некачественной) поставки

Эффективное использование основных средств

Фондоотдача

Выручка / Среднегодовая стоимость основных средств

Улучшение качества продукции

Потери от брака

Потери от брака / Стоимость произведенной продукции

Процент продукции, не возвращавшейся на доработку или переработку

Продукция, не возвращавшаяся на доработку или переработку / Произведенная продукция

Лучший поставщик металла в районе

Объем продаж

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

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

Увеличение доли продукции с наибольшими ставками маржинального дохода

Цена продукта – удельные переменные затраты на продукт

Оперативная работа с клиентами

Число жалоб со стороны потребителей и время реакции на них

Количество. Часы (дни)

Обучение и развитие

Рост профессионализма работников

Непроизводительные прочие затраты на исправление ошибок персонала (брака)

Стабильность основного кадрового состава

Коэффициент текучести кадров

Число уволившихся / Среднесписочная численность персонала

Сбалансированность

бюджетов

Процент отклонений от нормативов и бюджетов

Среднее арифметическое суммы отклонений от нормативов и бюджетов

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

  • 1) отражает ли показатель степень достижения стратегических целей компании;
  • 2) понятно и однозначно ли определение того или иного показателя. В первую очередь показатель должен быть понятен тем менеджерам, которым на его основе придется принимать решение;
  • 3) полезен ли показатель для принятия решений.

В результате должен быть разработан список (система) ключевых показателей деятельности компании (табл. 8.3).

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

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

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

Таблица 8.3. Система ключевых показателей деятельности компании

Направления оценки эффективности

Ключевые показатели деятельности

Ответственность

Показатели удовлетворенности

Акционеры

Рентабельность собственного капитала, рентабельность продаж, рентабельность денежного потока

Генеральный директор

Персонал

Производительность труда, текучесть кадров, средняя заработная плата персонала

Показатели управления финансами

Доходность инвестиций

Рентабельность: собственного капитала, инвестированного капитала, рентабельность по маржинальной прибыли собственного капитала в товарном запасе и дебиторской задолженности

Финансовый директор

Деловая активность

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

Ликвидность

Коэффициент текущей ликвидности

Финансовая устойчивость

Коэффициент покрытия процентов по кредитам, эффект финансового левериджа

Стоимость компании

Чистый дисконтированный доход (чистая текущая стоимость)

Денежные потоки

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

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

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

  • URL: fd.ru

Руководитель направления производственных решений, СофтБаланс

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

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

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

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

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

Борьба с просроченными заказами на производстве - пожалуй, основная проблема любого завода. «У нас слишком много заказов, поэтому мы не успеваем » - основное объяснение, которое можно слышать от менеджеров по производству. Так ли это? В большинстве случаев при детальном анализе бизнес-процессов того или иного производственного предприятия мы видим, что ключевая проблема - не в повышенной загрузке («коммерческий департамент заключил слишком много контрактов ») и не в автоматизированной системе (когда ее вообще нет или когда «система не работает »), а - в рациональном планировании производства до уровня конкретного станка .

«Узкие места» и их роль в рациональном планировании производства

Первый шаг в решении проблем пропускной способности производства - это найти «узкие места » (англ. - «bottleneck», дословно - «бутылочное горлышко»). Согласно Голдратту, под «узким местом» понимается рабочий центр (станок, рабочее место, линия), пропускная способность которого меньше или равна потребности в нем со стороны запросов рынка (выраженной, например, в объеме текущего портфеля заказов). В 90% производств есть такие рабочие центры. В зависимости от специфики той или иной отрасли, это могут быть как рабочие места ручной обработки, так и самые современные станки с ЧПУ.

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

Минимизация - «узких мест» на производстве может обеспечиваться следующими организационными мероприятиями:

  • Метод предварительного планирования

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

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

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

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

Рисунок 1.

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

  • Использование приоритетов заказов. Цветовая маркировка партий и штрихкодирование

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

Рисунок 2.

Приоритеты заказов, назначенные коммерческим отделом или начальником производства (в зависимости от специфики бизнес-процессов), - влияют на визуальную маркировку всех материалов и полуфабрикатов (деталей и сборочных единиц - ДСЕ), которая - в дальнейшем становится ориентиром - приоритетности обработки для рабочих на всем маршруте производства.

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

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

  • код и наименование полуфабриката;
  • код и наименование конечной продукции;
  • номер и статус заказа;
  • код подразделения и обрабатывающего рабочего центра;
  • плановое время подачи на обрабатывающий рабочий центр.

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

«У нас на производстве работает самое современное высокопроизводительное оборудование. Мы не можем работать быстрее. » - как правило, это не так. Часто, несмотря на высокую производительность в рамках одного станка, производительность всего предприятия может быть снижена неоптимальным использованием рабочего времени обслуживающего персонала.

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

Детальное посменное планирование. Общая концепция

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

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

  • Объемно-календарные (стратегические) планы производства;
  • План выпуска по заказам;
  • Индивидуальные внеплановые выпуски продукции;

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

НСИ для посменного планирования состоит из двух разделов:

  • Нормативный состав изделия;
  • Технология изготовления.

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

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

Рисунок 3

Общий алгоритм формирования посменных планов

Большинство современных систем посменного планирования так или иначе основывается, или, по крайней мере, учитывает теорию ограничений Голдратта, которая привносит ряд критериев оптимизации посменного плана . Задача алгоритма планирования - составить план работы оборудования, а также план потребностей в материалах в краткосрочном периоде (горизонт планирования - месяц, неделя, сутки). Критерии оптимизации в данном случае являются дополнительными ограничителями всех возможных вариантов построения производственной программы (плана производства по сменам). Существует две основных группы критериев оптимизации:

  • Критерии оптимизации распределения загрузки рабочих центров;
  • Критерии выбора порядка исполнения технологических операций;

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

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

  • Максимальная мощность грузопотока (объем перерабатываемых ТМЦ в единицу времени в натуральных показателях).
  • Минимизация времени переналадки.
  • Минимизация времени транспортировки (между рабочими центрами и подразделениями).
  • По приоритетам заказов.

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

  • FCFS (first come, first served - «первой поступила, первой обслужена»);
  • LCFS (last come, first served - «последней поступила, первой обслужена»);
  • SPT (shortest processing time - выбор в первую очередь коротких операций);
  • LPT (longest processing time - выбор в первую очередь длительных операций);
  • STPT (shortest total processing time remaining - выбор операций в порядке, обратном оставшемуся времени исполнения маршрута);
  • EDD (earliest due date - выбор операции с наиболее ранним сроком выполнения);
  • STR/OP (slack time remaining per operation - первыми выполняются операции маршрутов с наименьшим запасом времени в расчете на одну операцию);
  • CR (critical ratio - первыми выполняются операции маршрутов с наименьшим критическим отношением, рассчитываемым по формуле:

ВремяДоЗавершенияМаршрута / ДлительностьОперацийМаршрута)

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

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

Заключение

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

В данной статье тезисно приведены основные возможности систем посменного планирования (как правило - входящих в состав MES-систем) без привязки к конкретному разработчику или решению - для того, чтобы на уровне концепции показать важность подхода, как базы для автоматизации. Каким бы ни был объект автоматизации - сама система посменного планирования всегда остается инструментом в достижении конечной цели производственного предприятия. А конечная цель производственного предприятия - это приносить прибыль (Элияху Голдратт, бизнес-роман «Цель», 1984г.).

Существует такая статистика: 20% кода выполняется 80% времени. Точность ее
вряд ли полностью соответствует реальному положению вещей, а вот общий смысл
довольно интересен: получается, что оптимизация всего приложения – занятие
неблагодарное и глупое, а реальные результаты может дать только оптимизация тех
20% приложения, которые выполняются дольше всего. Причем найти эти 20% не так уж
и сложно.

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

Простейшее профилирование можно произвести голыми руками (и ниже я покажу,
как это сделать), однако лучше положиться на сообщество, представители которого
уже создали все необходимые инструменты. Первый и наиболее популярный инструмент
носит имя GNU Profiler (или gprof). Он испокон веков используется для
профилирования кода, генерируемого компилятором GCC. Второй - GNU Coverage
testing tool (gcov), утилита для более детального анализа производительности.
Третий - набор инструментов отладки и профилирования под общим именем Google
Performance Tools (сокращенно GPT). Ну а четвертый - это Valgrind, который хоть
и предназначен для поиска ошибок работы с памятью, но содержит в своем арсенале
ряд утилит для анализа производительности программ.

Начнем, как и полагается, с классики.

GNU Profiler

GNU Profiler (gprof) - один из старейших профайлеров, доступных для
операционных систем типа UNIX. Он входит в состав пакета gcc, и потому может
быть использован для профилирования программ, написанных на любом поддерживаемом
им языке (а это не только C/C++, но и Objective-C, Ada, Java).

Сам по себе gprof не является инструментом профилирования, а лишь позволяет
отобразить профильную статистику, которая накапливается приложением во время
работы (само собой разумеется, по умолчанию никакое приложение этого не делает,
но может начать, если собрать программу с аргументом "-pg").

Рассмотрим, как это работает в реальных условиях. Чтобы ощутить все
достоинства gprof, мы применим ее не к какому-нибудь абстрактному, искусственно
созданному приложению, а к самому настоящему повседневно используемому. Пусть
это будет gzip.

Получаем и распаковываем исходники архиватора:

$ wget www.gzip.org/gzip-1.3.3.tar.gz
$ tar -xzf gzip-1.3.3.tar.gz
$ cd gzip-1.3.3

Устанавливаем инструменты, необходимые для сборки (в Ubuntu это делается
через инсталляцию мета-пакета build-essential):

$ sudo apt-get install build-essential

Запускаем конфигуратор сборки, передав в переменной окружения CFLAGS аргумент
"-pg":

$ CFLAGS="-pg" ./configure

Компилируем программу:

Теперь у нас есть бинарник gzip, способный вести статистику своего
исполнения. Каждый его запуск будет сопровождаться генерацией файла gmon.out:


$ ls -l gmon.out
-rw-r--r-- 1 j1m j1m 24406 2010-11-19 14:47 gmon.out

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

$ gprof ./gzip gmon.out > gzip-profile.txt

Наиболее важная часть полученного файла показана на скриншоте.

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

Попробуем проанализировать отчет. Первой в списке идет функция deflate,
которая была вызвана всего один раз, но "сожрала" 29% всего времени исполнения
программы. Это реализация алгоритма компрессии, и, если бы перед нами стояла
задача оптимизировать gzip, мы должны были бы начать именно с нее. 22% времени
ушло на исполнение функции longest_match, но, в отличие от deflate, она была
вызвана аж 450 613 081 раз, поэтому каждый отдельный вызов функции занимал
ничтожное количество времени. Это второй кандидат на оптимизацию. Функция
fill_window отняла 13% всего времени и была вызвана "всего" 22 180 раз.
Возможно, и в этом случае оптимизация могла бы дать результаты.

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

Столбцы содержат следующую информацию (слева направо): индекс (index, он есть
только в первичной строке и, по сути, ничего не значит); процент времени,
который уходит на выполнение функции (% time); количество времени, затрачиваемое
на ее выполнение в секундах (self); количество времени, затрачиваемое на
выполнение функции и всех вызываемых ею функций (children); количество вызовов
функции (called) и ее имя (name).

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

GNU Coverage testing tool

Кроме gprof, компилятор GCC имеет в своем составе еще один инструмент
профилирования, который позволяет получить более детальный отчет о выполнении
приложения. Утилита называется gcov и предназначена для генерации так
называемого аннотированного исходного кода, который напротив каждой строки
содержит количество ее исполнений. Это может понадобиться для более глубокого
изучения проблем приложения, когда функции, виновные в "тормозах", найдены, а
суть проблемы так и остается неясна (например, непонятно, какая строка в
многократно вложенном цикле внутри длиннющей функции несет ответственность за
аномальное падение производительности).

Gcov не может полагаться на статистику, генерируемую приложением при сборке с
флагом "-pg", и требует пересборки с флагами "-fprofile-arcs" и "-ftest-coverage":

$ CFLAGS="-fprofile-arcs -ftest-coverage"
./configure && make

$ ./gzip ~/ubuntu-10.10-desktop-i386.iso

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

$ gcov deflate.c
File "deflate.c"
Lines executed:76.98% of 139
deflate.c:creating "deflate.c.gcov"

Полученный в результате файл состоит из трех колонок: количество исполнений
строки, номер строки и сама строка. При этом для строк, не содержащих кода, в
первой колонке будет стоять знак минуса, а для строк, ни разу не выполненных -
последовательность шарпов: #####.

Google Performance Tools

Google Performance Tools (сокращенно GPT) - это разработка сотрудников Google,
предназначенная для поиска утечек памяти и узких мест приложений. Как и gprof,
GPT не является внешней по отношению к тестируемому приложению программой и
заставляет его самостоятельно вести статистику своего исполнения. Однако
используется для этого не внедренный на этапе сборки приложения код, а
библиотеки, которые могут быть прилинкованы к приложению во время сборки или
подключены при запуске.

Всего разработчикам доступно две подключаемых библиотеки: tcmalloc (которая,
по уверению авторов GPT, представляет собой самую быструю на свете реализацию
функции malloc, а также позволяет производить анализ того, как память
расходуется, выделяется и течет) и profiler, генерирующая отчет о выполнении
программы, наподобие gprof. Также в комплект входит утилита pprof,
предназначенная для анализа и визуализации накопленных данных.

Исходный код, а также rpm- и deb-пакеты всего этого набора доступны на
официальной страничке (code.google.com/p/google-perftools), однако я бы не
советовал заморачиваться с ручной установкой, так как набор доступен в
стандартных репозиториях Fedora и Ubuntu, и его можно установить одной простой
командой:

$ sudo apt-get install google-perftools \libgoogle-perftools0
libgoogle-perftools-dev

$ LD_PRELOAD=/usr/lib/libprofiler.so.0.0.0 \
CPUPROFILE=gzip-profile.log ./gzip \
/home/j1m/ubuntu-10.10-desktop-i386.iso

Однако сами гугловцы не советуют применять этот метод (очевидно из-за проблем
с программами, написанными на C++), рекомендуя линковать библиотеку во время
сборки. Что ж, не будем спорить.

Для экспериментов возьмем все тот же gzip и повторно пересоберем его,
слинковав бинарник с нужной библиотекой:

$ cd ~/gzip-1.3.3
$ make clean
$ ./configure
$ LDFLAGS="-lprofiler" ./configure && make

Теперь gzip вновь готов вести лог своего исполнения, но не будет делать этого
по умолчанию. Чтобы активировать профайлер, необходимо объявить переменную
окружения CPUPFOFILE и присвоить ей путь до файла профиля:

$ CPUPROFILE=gzip-cpu-profile.log ./gzip \
~/ubuntu-10.10-desktop-i386.iso
PROFILE: interrupts/evictions/bytes = 4696/946/91976

Как и в случае с gprof, получившийся отчет имеет бинарную форму и может быть
прочитан только с использованием специальной утилиты. В GPT ее роль выполняет
perl-скрипт pprof (в Ubuntu во избежание путаницы с другой одноименной утилитой
он переименован в google-pprof), который может генерировать не только таблицы и
аннотированные исходники на манер gcov, но и визуальные графы вызовов. Всего
существует 11 типов вывода этой утилиты, за каждым из которых закреплен
соответствующий аргумент командной строки:

  1. Текстовый (--text) - таблица, подобная выводу gprof;
  2. Callgrind (--callgrind) - вывод в формате, совместимом с утилитой kcachegrind (из пакета valgrind);
  3. Графический (--gv) - граф вызовов, немедленно отображаемый на экране;
  4. Листинг (--list=) - аннотированный листинг указанной функции;
  5. Дизассемблированный листинг (--disasm=) - аннотированный
    дизассемблированный листинг указанной функции;
  6. Символьный (--symbols) - листинг декодированных символьных имен;
  7. Графический файл (--dot, --ps, --pdf, --gif) - граф вызовов, сохраняемый
    в файл;
  8. Сырой (--raw) - подготовка бинарного файла профиля к передаче по сети
    (перекодируется с помощью печатаемых символов).

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

$ google-pprof --text ./gzip gzip-cpu-profile.log

Как видно на скриншоте, вывод представляет собой таблицу с перечислением всех
функций и затрат на их исполнение. На первый взгляд она кажется очень похожей на
таблицу, генерируемую утилитой gprof, но это не так. Будучи всего лишь
библиотекой, GPT не может вести статистику исполнения программы так же детально
и точно, как это делает код, внедренный прямо в приложение. Поэтому вместо
записи всех фактов вызова и выхода из функций (поведение программы, собранной с
флагом "-pg"), GPT применяет метод, называемый сэмплированием. Сто раз в секунду
библиотека активирует специальную функцию, в задачи которой входит сбор данных о
том, в какой точке в текущий момент происходит выполнение программы, и запись
этих данных в буфер. По завершению работы программы из этих данных формируется и
записывается на диск профильный файл.

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

Во всем остальном таблица сильно напоминает вывод gprof: по функции на
строку, по показателю на столбец. Всего столбцов шесть:

  1. Количество проверок для данной функции;
  2. Процент проверок на все остальные функции программы;
  3. Количество проверок для данной функции и всех ее потомков;
  4. То же число в процентах от общего количества проверок;
  5. Имя функции.

Поначалу такой подход к измерению времени исполнения кажется слишком
неточным, но если сравнить таблицы, полученные с помощью gprof, с таблицами
pprof, становится ясно, что они показывают одинаковую картину. Более того, GPT
позволяет изменить количество проверок на секунду времени с помощью переменной
окружения CPUPROFILE_FREQUENCY, так что точность можно увеличить в десять, сто
или тысячу раз, если того требует ситуация (например, если необходимо
профилировать исполнение очень небольшой программы).

Несомненным достоинством GPT перед gprof является умение представлять
информацию в графическом виде. Для активации этой функции pprof следует
запускать с флагом "--gv" (кстати, для показа графа будет использована
одноименная утилита):

$ google-pprof --gv ./gzip gzip-cpu-profile.log

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

Еще одно достоинство GPT заключается в способности использовать разные уровни
детализации для вывода данных, позволяя пользователю самому выбирать единицы
дробления. По умолчанию в качестве такой единицы используется функция, поэтому
любой вывод pprof логически разделен на функции. Однако при желании в качестве
единицы дробления можно использовать строки исходного кода (аргумент "--lines"),
файлы ("--files") или даже физические адреса памяти ("--addresses"). Благодаря
такой функциональности GPT очень удобно использовать для поиска узких мест в
больших приложениях, когда сначала ты анализируешь производительность на уровне
отдельных файлов, затем переходишь к функциям и, наконец, находишь проблемное
место на уровне исходного кода или адресов памяти.

И последнее. Как я уже говорил выше, GPT - это не только хороший профайлер,
но и инструмент для поиска утечек памяти, поэтому у него есть один очень
приятный побочный эффект в виде способности к анализу потребления памяти
приложением. Для этого приложение должно быть собрано или запущено с поддержкой
библиотеки tcmalloc, а в переменную HEAPPROFILE записан адрес для размещения
профильного файла. Например:

$ LD_PRELOAD=/usr/lib/libtcmalloc.so.0.0.0 \
HEAPPROFILE=gzip-heap-profile.log \
./gzip ~/ubuntu-10.10-desktop-i386.iso
Starting tracking the heap
Dumping heap profile to gzip-heap-profile.log.0001.heap (Exiting)

К полученному файлу будет добавлено окончание 0000.heap. Если натравить на
этот файл утилиту pprof и указать флаг "--text", она выведет на экран таблицу
функций и уровень потребления памяти каждой из них. Столбцы значат все то же
самое, что и в случае обычного профилирования, с тем исключением, что вместо
количества проверок и их процентных отношений таблица теперь содержит количество
потребляемой памяти и процент от общего потребления памяти.

При необходимости эту информацию можно получить в графическом виде, а также
изменить единицы дробления. Библиотека может быть настроена с помощью различных
переменных окружения, наиболее полезная из которых носит имя HEAP_PROFILE_MMAP.
Она включает профилирование для системного вызова mmap (по умолчанию GPT
собирает статистику только для вызовов malloc, calloc, realloc и new).

Пара слов о Valgrind

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

  1. Cachegrind - позволяет собирать статистику по попаданию данных и
    инструкций программы в кэш первого и второго уровней процессора (мощный и
    сложный инструмент, который полезен при выполнении профилирования
    низкоуровневого кода).
  2. Massif - профайлер кучи, схожий по функциональности с аналогом из пакета GPT.
  3. Callgrind - профайлер, во многом похожий на таковой в gprof и GPT.

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

$ valgrind --tool=callgrind ./program

После этого в текущем каталоге будет создан файл с именем
callgrind.out.PID-программы, который можно проанализировать с помощью утилиты
callgrind_annotate или графической программы kcachegrind (устанавливается
отдельно). Я не буду расписывать формат генерируемых этими программами данных
(он хорошо представлен в одноименных man-страницах), скажу лишь, что
callgrind_annotate лучше запускать с флагом "--auto", чтобы он смог
самостоятельно найти файлы исходных текстов программы.

Для анализа расхода памяти Valgrind следует запускать с аргументом "--tool=massif".
После чего в текущем каталоге появится файл massif.out.PID-программы, который
может быть проанализирован с помощью утилиты ms_print. В отличие от pprof, она
умеет выводить данные не только в виде стандартной таблицы, но и генерировать
красивые ascii-art графики.

Выводы

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

INFO

По умолчанию gprof не выводит профильной информации для функций
библиотеки libc, но ситуацию можно исправить, установив пакет libc6-prof и
собрав тестируемое с библиотекой libc_p: "export LD_FLAGS="-lc_p"".

Активировать профайлер GPT можно не только с помощью переменной окружения
CPUPROFILE, но и обрамив тестируемый участок кода функциями ProfilerStart()
и ProfilerStop(), которые объявлены в google/profiler.h.

WARNING

Из-за требований к безопасности GPT не сработает в отношении приложений с
установленным битом SUID.

Пример описания бизнес-процесса

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

1. Приготовить компоненты;

2. Отрезать кусок батона ножом;

3. Намазать масло на кусок батона.

Описание строится из отдельных операций. Каждая операция заканчивается определенным продуктом (см. табл. 3 )

Таблица 3 - Пример описания бизнес-процесса

Требования к описанию процесса:

1. Описание процесса должно быть полным и кратким. Оно не должно быть слишком детальным, подробным. Так, например, не нужно включать в описание процесса действия типа «взять в руку нож», «отделить часть масла ножом».

2. Описание процесса должно быть последовательным, без пропусков важных элементов. Последовательность операций можно построить и проконтролировать с помощью вопроса «зачем?»

Например: «Приготовить компоненты» зачем? Чтобы «Отрезать кусок батона»

Зачем «Отрезать кусок батона»? Чтобы «Намазать масло на кусок батона».

3. Описание каждой операции процесса начинается с глагола в неопределенной форме «Приготовить…», «Отрезать…», «Намазать…».

Допускается использовать третью форму глагола: приготовляет, отрезает, намазывает.

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

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

Рисунок 25 - Группы бизнес-процессов

К группе основных относят следующие бизнес-процессы:

1) процессы, создающие добавленную стоимость продукту, который производит компания;

2) процессы, создающие продукт, представляющий ценность для внешнего клиента;

3) процессы, прямой целью которых является получение доходов;



4) процессы, за которые внешний клиент готов платить деньги.

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

Таблица 4 - Характеристики основных бизнес-процессов

Пример основных процессов верхнего уровня для компании, производящей и продающей одежду и обувь представлен на рис.3 Материалы для производства одежды и обуви используются одни и те же - кожа, ткани и т. д. Поэтому процесс «закупка материалов» будет единым для одежды и обуви: ведь закупается некоторое количество материалов, а потом они сортируются на производство одежды и обуви.

Рисунок 26 - Пример основных процессов верхнего уровня для компании, производящей одежду и обувь

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

К обеспечивающим процессам относятся:

процессы, клиентами которых являются основные процессы, структурные подразделения и сотрудники организации;

процессы, которые поддерживают инфраструктуру организации.

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

Таблица 5 - Характеристики обеспечивающих бизнес-процессов

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

К группе управленческих относят следующие бизнес-процессы:

1) процессы, которые обеспечивают выживание, конкурентоспособность и развитие организации и регулируют ее текущую деятельность;

2) процессы, прямой целью которых является управление деятельностью организации.

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

Таблица 7 - Характеристики бизнес-процессов управления

Рисунок 27 - Типовая структура бизнес-процессов управления

Любой управленческий процесс ложится на эту схему. Если взять процесс «Бюджетирование», то этап «Планирование» будет называться «Разработкой бюджетов», выходом которого будут финансовые и операционные бюджеты. Далее обеспечивается реализация бюджетов, осуществляется учет достигнутого и т. д. Если рассмотреть процесс «Стратегическое управление», то первый этап будет называться «Стратегическое планирование», выходом которого будет стратегический план.

Последняя группа бизнес-процессов, которую осталось рассмотреть, – это бизнес- процессы развития.

Бизнес-процессы развития представляют инвестиционные виды деятельности, где усилия прикладываются сегодня, а результаты получаются по прошествии определенного периода. Что такое проект? Проект - это процесс, который реализуется один раз, после чего он завершает свое существование. Ему на смену приходит новый проект, и эта ситуация повторяется многократно.

Таблица 8. Характеристики бизнес-процессов развития