ISSN 1991-3087
Рейтинг@Mail.ru Rambler's Top100
Яндекс.Метрика

НА ГЛАВНУЮ

Производство, управление, программирование: предпосылки и перспективы конвергенции

 

Зима Андрей Викторович,

аспирант Владивостокского государственного университета.

 

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

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

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

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

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

Первой школой в менеджменте считается «Научное управление» (1885 —1920 годы), наиболее тесно связанной с работами Ф.У. Тейлора, Ф. Гилбрет, Л. Гилбрет и Г. Гантта. Эти создатели школы научного управления полагали, что используя наблюдения, замеры, логику и анализ можно усовершенствовать многие операции ручного труда, добиваясь их более эффективного выполнения.

Первые ЭВМ, созданные человеком, имели небольшой набор команд и встроенных типов данных, но позволяли выполнять программы на машинном языке. Машинный язык – единственный язык, понятный ЭВМ. Он реализуется аппаратно: каждую команду выполняет некоторое электронное устройство. Программа на машинном языке представляет собой последовательность команд и данных, заданных в цифровом виде. Например, команда вида 1А12 в 16-ричном виде или 0001101000010010 в двоичном виде означает операцию сложения (1А) содержимого регистров 1 и 2. Программисты обязаны были знать архитектуру машины досконально. Естественно, что процесс программирования был очень трудоемким, разобраться в программе даже автору было довольно сложно, а эффект от применения ЭВМ был довольно низким [2].

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

Чтобы сократить затраты на высокооплачиваемых специалистов, Генри Форд стандартизировал все детали. Теперь их могли собирать и неквалифицированные рабочие [1].

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

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

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

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

Чтобы достичь своей цели и создать народный автомобиль, Генри Форду необходимо было повысить уровень производительности предприятия. На заводе в Детройте попытались реализовать новую схему работы. Шасси будущих автомобилей соединили прочным канатом. Вдоль этой линии расставили рабочих, которые занимались поэтапной сборкой автомобиля по мере продвижения автомобильных шасси. В дальнейшем тщательно было продумано и устройство сборочного конвейера, что позволило максимально оптимизировать работу производственной линии. Процесс производства был разделен на несколько основных этапов, благодаря чему скорость сборки выросла в четыре раза. Сначала в каждом цеху существовала своя движущаяся линия сборки, однако вскоре Форд принял важнейшее решение – соединить все линии в один беспрерывный конвейер. Заключительным шагом стало создание единого конвейера, проходившего через множество цехов, в которых поэтапно собирался автомобиль. В результате готовый автомобиль выводился с заводского конвейера уже на собственном ходу. Помимо основного конвейера существовали и дополнительные движущиеся линии, обеспечивавшие своевременную подачу необходимых деталей в сборочные цеха [1].

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

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

В 1954 году в корпорации IBM группой разработчиков во главе с Джоном Бэкусом был создан язык программирования Fortran. Это первый язык программирования высокого уровня. Впервые программист мог абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм [3]. Появление процедурного программирования позволило в разы увеличить сложность, размер и функциональность разрабатываемых приложений.

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

Следующий этап эволюции производства наступил в момент, когда компания Toyota, ограниченная в ресурсах из-за недавно закончившейся Второй мировой войны, адаптирует идею массового производства к японскому рынку, также ослабленному после войны. Для повышения скорости связи между процессами и рабочими, рабочим необходимо было дать больше свободы в выборе действий. Это было реализовано через систему производственных ячеек. Группа рабочих формирует единую ячейку и собирает изделие от начала до конца, отказавшись от системы массового производства на конвейере. Система производственных ячеек позволяет повысить производительность труда, используя самостоятельность и изобретательность рабочих. Фактически происходит налаживание связи между процессами и людьми. К параметрам, согласовавшимся на предыдущих этапах, добавляется согласование творческого потенциала со скоростью потока и производительностью станков. Создание производственных ячеек позволяет развить высокую скорость обновления, т.к. перестроить относительно небольшую производственную ячейку проще, чем всю компанию [4].

В менеджменте появляется системный подход. Системный подход впервые поставил вопрос о целостном и структурном восприятии деятельности. Главный тезис этого подхода состоит в том, что изменение какой-либо части целостности оказывает воздействие на все другие части этой целостности. Это направление менеджмента настаивает на том, что управленец должен рассматривать организацию в единстве составляющих ее частей. При этом, каждая из частей может рассматриваться как отдельная система (подсистема). Кроме того, данный подход ввел различие между «закрытой» и «открытой» системой, подчеркивая, что любая организация – есть открытая система, так как не может существовать без активного взаимодействия с внешней средой. Организация была представлена сторонниками системного подхода тремя блоками: входы (информация, материал, капитал, трудовые ресурсы), преобразование (обработка и преобразование входов), выходы (продукция/услуги, прибыль, рост и тому подобное). Таким образом, системный подход объединил ранее разорванные части (управленческую и исполнительскую) деятельности в единую картину [5].

В теории разработки программных решений появляется новая парадигма – объектно-ориентированное программирование. Решение задачи в объектно-ориентированном стиле, оказывается ближе к реальности. Сложные задачи — это стихия объектно-ориентированного программирования. В решении задачи участвуют программные объекты, и ответственность за решение делится между ними. Часто, в процессе можно найти некоторые шаблоны, поэтому при решении задачи некоторый участок кода используется многократно. Результат достигается путём распределения ответственности между объектами программы и повторным использования промежуточных решений [6]. Основной задачей нового подхода стала максимальное использование повторного кода.

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

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

Языки программирования развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности (снижается скорость выполнения программы). Вопрос: а стоит ли этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше — не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования [3]. Аналогичного направления необходимо придерживаться и в теории управления, а с проблемами качества реализации каждой процедуры можно бороться путем введения все новых средств автоматизации.

 

Литература

 

1.                  Официальный веб-сайт Ford в России [Электронный ресурс]: Развитие массового производства – Режим доступа: http://www.ford.ru/.

2.                  Академия Информационных технологий [Электронный ресурс]: Эволюция языков программирования – Режим доступа: http://www.ait.org.ua/.

3.                  Языки программирования [Электронный ресурс]: Эволюция языков программирования – Режим доступа: http://schools.keldysh.ru/sch444/museum/LANR/.

4.                  Методолог [Электронный ресурс]: Эволюция производственных систем – Режим доступа: http://www.metodolog.ru.

5.                  Центр АКМЭ [Электронный ресурс]: Эволюция управленческой мысли – Режим доступа: http://www.acmegroup.ru.

6.                  Artanovy.com [Электронный ресурс]: Процедурное против объектно-ориентированного? – Режим доступа: http://artanovy.com.

 

Поступила в редакцию 02.07.2012 г.

2006-2019 © Журнал научных публикаций аспирантов и докторантов.
Все материалы, размещенные на данном сайте, охраняются авторским правом. При использовании материалов сайта активная ссылка на первоисточник обязательна.