Influence of key elements of the functional approach. Functional and process approach in management. Functional and process approaches to management

The efficiency and quality of managerial work are determined, first of all, by the validity of the methodology for solving problems, i.e. approaches, principles, methods. Without good theory, practice is blind. However, only some approaches and principles are applied to, although more than 14 scientific approaches are currently known:

  • Complex
  • Integration
  • Marketing
  • Functional
  • Dynamic
  • reproductive
  • process
  • Normative
  • Quantitative
  • Administrative
  • Behavioral
  • situational
  • Program-targeted approach

A complex approach

A complex approach when making management decisions takes into account the most important interrelated and interdependent factors of the external and internal environment of the organization - technological, economic, environmental, organizational, demographic, social, psychological, political, etc.

Within the framework of an integrated approach, two specific approaches are distinguished:

  • search - focused on the future and determining the state of the control object in the future, subject to the preservation of today's trends in its development;
  • target - planning a purposeful change in the control object in the future, taking into account possible ways and the timing of the transition of the controlled subsystem from the current state to the desired one.

Integration approach

The integration approach to management aims to explore and strengthen the relationship between:

  • individual subsystems and elements of the management system;
  • stages of the life cycle of the control object;
  • vertical control levels;
  • horizontal control levels.

Integration is the deepening of cooperation between subjects, managing the interaction and relationships between the components of the management system.

Marketing Approach

The marketing approach provides for the orientation of the control subsystem in solving any problems on the consumer:

  • improving the quality of the object in accordance with the needs of the consumer;
  • saving resources for the consumer by improving quality;
  • saving resources in production due to factors of scale of production, scientific and technological progress (STP);
  • application of the management system.

functional approach

The essence of the functional approach to management is that the need is considered as a set of functions that must be performed to satisfy it. After the functions are established, several alternative objects are created to perform these functions, and the one that requires the minimum total cost per object life cycle per unit of useful effect is selected.

Dynamic Approach

With a dynamic approach, the control object is considered in dynamic development, causal relationships and subordination, a retrospective analysis is made for five or more years and a prospective analysis (forecast).

Reproductive approach

This approach is focused on the constant resumption of the production of goods / services to meet the needs of the market with less, compared with the best technological facility on this market, total costs per unit of benefit.

Process (procedural) approach (1960s)

According to the process approach, management is a series of interrelated and universal management processes (planning, organization, motivation, control and connecting processes - the communication process and the decision-making process). Management calls these processes management functions, and the management process is the sum of the listed management functions (Fig. 1.

The "father" of the process approach, Henri Fayol, argued that "to manage means to predict and plan, organize, dispose, coordinate and control."

Rice. 1. Interaction of management functions

Regulatory Approach

The essence of the normative approach is to establish management standards for all management subsystems. Standards should be established on the most important elements:

  • target subsystem;
  • functional subsystem;
  • supporting subsystem.

Quantitative approach

The essence of the quantitative approach lies in the transition from qualitative assessments to quantitative ones using mathematical statistical methods, engineering calculations, expert assessments, a scoring system, and others. You can control numbers, not just words.

Administrative approach

The essence of the administrative approach lies in the regulation of the functions of rights, duties, quality standards, costs, duration of elements of management systems in regulations.

Behavioral Approach

The purpose of the behavioral approach is to help the employee to realize their own capabilities. The main goal of this approach is to increase the efficiency of the firm by increasing the role of human resources. Behavioral science will always promote efficiency as individual worker and the firm as a whole.

Situational approach (last quarter of the 20th century)

The situational approach says that various methods management should be applied depending on the specific situation, since the organization is open system, constantly interacting with the surrounding world ( external environment), so the main reasons for what happens inside the organization (in the internal environment) should be sought in the situation in which this organization is forced to act.

The central moment of the approach - situation - specific set of circumstances that affect an organization's performance in this moment time. The situational approach is related to the systems approach and attempts to link specific management practices and concepts to specific situations.

This approach aims at the direct application of new scientific methods in specific situations and conditions.

“Situational thinking” is important here – understanding what methods will be more effective in achieving goals in a given situation. The main difficulty is that situational processes are numerous and interconnected and cannot be considered independently of each other, so it can be quite difficult for a manager to determine a known correct method.

The situational approach is designed to connect specific management techniques and concepts with certain specific situations, to study situational differences between organizations and within organizations themselves.

The situational approach theory is based on four main assumptions:

  • the manager must be familiar with effective means professional management. To do this, you need to understand the management process, the characteristics of individual and group behavior, master the skills of system analysis, know the methods of planning and control, quantitative methods decision making;
  • the leader must anticipate the likely consequences of applying each of the management methods in a given situation, which always have both strong and weak sides, as well as certain comparative characteristics. For example, you can increase wages to all employees for additional work, which, undoubtedly, will increase their motivation for some time, but it is necessary to compare the increase in costs with the benefits received; perhaps such a measure would be ruinous for the organization;
  • the leader must be able to correctly interpret the situation, identify the most important factors in the current situation, determine the possible effect of changing certain variable indicators of the situation;
  • the manager must be able to link specific techniques that have had a minimal negative effect with specific situations to ensure the greatest effectiveness in achieving the goals of the organization.

The method of situations is the basis of the teaching methodology at the most prestigious business school in the United States - Harvard.

Systems approach

With a systematic approach, any system (object) is considered as a set of interrelated elements that has an output (goal), input, connection with the external environment, feedback. In the system, "input" is processed into "output". The most important principles:

  • the decision-making process should begin with the identification and clear formulation of specific goals;
  • it is necessary to identify and analyze possible alternative ways to achieve the goal;
  • the goals of individual subsystems should not conflict with the goals of the entire system;
  • the ascent from the abstract to the concrete;
  • unity of analysis and synthesis of logical and historical;
  • manifestation in the object of different-quality connections and interactions.

Program-targeted approach

Program-targeted approach is based on a clear definition of the goals of the organization and the development of programs for the optimal achievement of these goals, taking into account the resources necessary for the implementation of programs.

Even at the stage of formulating the desired goals, a generalized model of the organization arises. Then alternative options for management decisions are considered, one of them is selected, and the development of programs begins. At every stage of the program strategic goal organization is subdivided into subgoals, the main tasks and priorities for their solution are identified, which are linked to material, labor and financial resources. The evaluation of the results of the implementation of the stage is carried out according to the following indicators: main result, volume and term.

For the convenience of linking all stages of the program implementation, it is advisable to make a tree of goals, where the root of the tree is the main goal of the program ( BUT), the first level of vertices are subgoals of the first level ( IN And FROM), then there are second-level vertices ( D And E) etc.; the lower levels of the tree of goals are the means and ways to achieve the goals of a higher level (Fig. 2). After building a tree of goals, the program is drawn up in the form of a directive - a document of the head, mandatory for all performers.

Rice. 2. Goal tree

The progress of the implementation of the program adopted for execution is constantly monitored, since at each stage new, previously not taken into account factors may arise.

Russia has accumulated significant experience in program-target management, but not all programs have been implemented in full and on time due to insufficient control, low level of responsibility, and lack of proper motivation for participants in the implementation of these programs.

Operational management process-oriented management.

The functional approach lies in the fact that the activities of the organization are presented as a set of functions assigned to functional units in the organizational structure. This approach defines the capabilities of the organization and establishes -- What do we have to do-- subdivisions and performers within the framework of their functions.

Functional specialization, as a rule, ensures the high quality of individual work, but requires constant coordination of the activities of departments and employees, whose goals may not coincide. The need to resolve emerging conflicts between specialized units increases the burden on management.

With a functional approach, to perform a common task, it is necessary to work out the mechanism for the interaction of functions assigned to departments in relation to the business process and intensively coordinate the actions of participants.

With the process approach, the activities of the organization, departments, managers and direct executors are initially aimed at obtaining the final result and are perceived by them as a set of interrelated business processes that ensure the achievement common purpose– implementation of the main operational function of the organization. A specific technology for performing each process and operation is determined - how it should be done to satisfy the consumer of its results - an external or internal client.

When implementing the process approach, it is necessary to:

    Orient the activities of the organization, its departments and employees to the satisfaction end consumer and consider it as a set of business processes. This forms an appropriate culture of perception of tasks in the organization.

    Determine the customer and owner of each business process.

    Regulate business processes, i.e. describe the sequence of operations, responsibility, the procedure for the interaction of performers and the procedure for making decisions to improve the business process.

    Define key indicators each business process, allowing to evaluate the result of its execution and the impact on the results of the organization as a whole.

The process approach and the development of the related cross-functional and inter-organizational integration allows:

    to focus divisions and employees on satisfaction of requirements of clients;

    more effectively delineate authority and responsibility using delegation of authority;

    reduce the dependence of results on an individual performer;

    identify sources of costs and reduce them;

    reduce the time for making managerial decisions;

    reduce the amount of cross-functional coordination (operational management).

With the process approach, the manageability of the organization increases, the influence of the human factor and costs are reduced, and most importantly, there is a qualitative change in the organization itself and the formation process-oriented organization in which the entire team is a conscious participant in the continuous process of activity associated with the final result of the production of the product and consumer satisfaction.

Activity integration. Operations function integration and operation function specialization policies

The development of specialization, which contributes to the emergence of high qualifications of employees and the quality of work, leads to differentiation, i.e. increasing the degree of independence of individual employees and functional units in the organization. However, to achieve common goals, differentiation requires appropriate integration (ensuring the necessary interaction) between functional units and employees. This task is solved by the management of the organization, providing the necessary degree of interaction between the performers of independent areas of work to achieve the overall goals of the organization.

Activity integration is usually considered at four levels: operational, functional, cross-functional and inter-organizational.

The first three levels (operational, functional and cross-functional) are referred to as internal integration. However, it should be noted that the functional level already implies a certain independence of performers in their interaction with the external environment, therefore, some presence and external integration. The interorganizational level of integration is referred to as external integration.

At the operational level integration is provided for individual operations and functions. For example: Suppliers- transportation - warehousing - processing - warehousing - transportation- Buyers. Each of the structural units has local goals and indicators for evaluating the results of activities, which are largely isolated from the assessment of their impact on the conditions and results of the activities of other units or services of the enterprise. Integration at the operational level is provided by systems for coordinating activities: operational process maps, description and allocation of business processes, systems for administrative coordination of activities vertically and horizontally (for example, Gantt charts).

At the functional level integrations combine related operations and functions. Limitedly integrated areas are emerging, such as purchasing management, inventory management, warehousing and transportation, manufacturing, marketing and distribution management. Their partial integration leads to the formation of a list of main functions and functional areas. For example: Suppliers- supply - production - sales- Buyers. There are still local, but already more integrated than at the operational level of integration, goals, objectives and performance evaluation indicators. With developed integration within each enlarged function and functional area (supply, production, sales), there is a functional isolation of various services and functional areas from each other. Therefore, preferences of the goals of the managed subsystems to the goals of the management system may arise and the overall performance may decrease.

At this level of integration, the functional areas are administratively coordinated and the budgets of the functional units are controlled. The main goal is to control the use of resources and ensure the optimal level of stocks within the framework of cross-functional coordination. However, in general, the cost system is focused on functional activities and does not take into account cross-functional components, therefore, the volume of resource flow is often difficult to measure and control, and therefore determine the cost of capital associated with it.

At the cross-functional level integration is developing, which makes it possible to concentrate the efforts of all structural divisions and services of the organization on obtaining the final result. Works and their performers unite around the end result.

Cross-functional integration tools are MRP, JIT, ERP systems. These systems allow you to more fully coordinate the activities of employees and various departments, encouraging people to interact in a single information system and forming a common view of the business process. To overcome structural contradictions in the organizational structure, departmentalization by result is used.

However, in modern conditions, cross-functional integration is not enough, its presence is a necessary, but not sufficient condition for successful work organization, so the use of cross-organizational (external) integration is required.

Interorganizational level integration proceeds from the fact that the stability of an open system is ensured not due to internal functional hierarchy, but due to developed interaction with the external environment. Understanding the effects of external factors can lead to greater predictability in the behavior of an open system and to the expedient streamlining of the functioning of its constituent parts.

At this level of integration, interorganizational interaction is implemented, as a result of which the efforts of enterprises connected with each other by common business processes or joint transactions are combined.

The most important element of the mechanism for strengthening interorganizational interaction is the information space or information flows, which allow you to establish such relationships in which it becomes known what kind of demand the consumers themselves form, which allows the organization to plan its activities more accurately and improve the accuracy of forecasts. In addition, building relationships with external links is one way to ensure the sustainability of the supply chain.

Traditional vertical integration can also be used, when all or almost all of the production facilities necessary for the manufacture of the final product are concentrated at the enterprise. However, the effectiveness of this integration tool is known to be limited by the scale of manageability.

The tools for the development of interorganizational relations are the formation of partnerships, strategic alliances, and contractual interactions.

With the development of information technology and telecommunications, the provision of interorganizational integration is automated and develops into machine integration (Machine-to-Machine). Automation of interorganizational processes and their subordination to certain business rules reduces the need for human intervention at each stage of activity.

When managing an organization, one, several or all of the considered levels of integration of activities as an object of management can be used. Depending on the level of activity under consideration, we can talk about the management of operations, functional areas, cross-functional or inter-organizational interactions.

The effectiveness of managing individual functional areas depends on the quality of the organization at the operational level of integration of activities. The basis of interorganizational integration is interfunctional interaction in individual organizations, and the effectiveness of this interaction is ensured by the quality of the organization of functional work. The process approach to management makes it possible to ensure the operation of a network of business processes of an organization without distinguishing between functional and interfunctional levels.

The company can carry out policies for integrating operations functions or specializing in operations functions.

Operations Integration Policy lies in the fact that when implementing the main operating function, the organization also focuses on the functions that ensure the functioning operating system, i.e. strives to perform the maximum possible number of these functions on its own.

The advantages of such a policy are: centralized control; the possibility of increasing the reliability of the system before the occurrence of problems associated with the scale of manageability; reducing the cost of attracting contractors and subcontractors.

However, the refusal to involve third-party performers and centralized control leads to an increase in the supporting subsystem of the operating system, which can lead to the development of a cumbersome and inefficient organization in terms of manageability, diverting significant forces from performing the main operational function.

Policy of specialization on the operating function consists in specializing in one area of ​​competence and transferring auxiliary operational functions to other performers (counterparties) located outside the organization.

Outsourcing- this is the transfer of production of auxiliary activities to third-party organizations (counterparties). In practical terms, this is the cooperation of various enterprises producing products and services based on the specialization of each of them in one type of activity, which allows each participant in the process to concentrate efforts and resources on this activity and contributes to the achievement of better overall results.

For example, the manufacturer of the final product may abandon its own production of any components and parts and transfer their production to an enterprise that manufactures these components for many consumers. Do not deal with the issues of packaging and shipment of your products, but transfer this work to an independent specialized company that forms batches for shipment, packs, ensures the delivery of goods to anywhere in the world, solving all the necessary customs and other clearance procedures. Abandon your own transport economy and entrust transport services to another company. Refuse to maintain a division for the repair of technological equipment and use the services of specialized companies. Many activities, such as catering, cleaning, creation and maintenance of computer and security systems, have become completely outsourced.

This allows:

    concentrate efforts on the implementation of the main operational function;

    reduce efforts in the sphere of solving auxiliary tasks;

    use the main competencies (products) of high quality of contractors and subcontractors, which provides an opportunity to improve the quality of their products;

    reduce the number of employees, increase the productivity and manageability of the organization.

However, such a policy may have the following disadvantages:

    loss of control over part of the process of creating their products;

    dependence on suppliers;

    risks associated with violation by counterparties (suppliers) of their obligations.

When making a decision to transfer support functions to contractors and subcontractors, the following factors are usually evaluated:

    available production facilities;

    special knowledge and own competencies;

    the level of development of the quality management system in the organization;

    characteristics of demand that are important for the release of a product or the provision of a service;

    opportunity to reduce costs.

The policy of specialization in the operations function and outsourcing came later than the policy of integration of operations functions, but today it is a widespread phenomenon. As a rule, organizations that focus on the main operating function and use outsourcing for this purpose achieve higher quality results.

Today, the functional approach plays important role in biological and social sciences, in particular in economics, where the functioning of any object, including a brand, is associated with the manifestation of its common properties in environment. Thus, each brand, along with the presence of internal links between its attributes and associative elements, is characterized by external relationships and relationships - functions. The interpretation of branding as a process of brand management with the aim of forming and developing a brand that can create new value, influence consumer consciousness, protect and expand market share, that is, implement certain functions, suggests that the role of the functional approach in this aspect is undeniable and is a rather relevant scientific and practical task of its analysis.

Problems of a functional hike in scientific research the works of domestic and foreign researchers D. Aaker, P. Doyle, Kunz G. and O'Donnell S., Yu. is sufficiently reduced, there is a discrepancy in the classification system in the functional aspect.

The problems underlined determined the objective need for further research, determined the relevance, purpose and objectives.

The scope of the functional approach in modern economics quite extensive. He found the widest application in management, marketing, innovation activities.

In management, as you know, the allocation of various functions in the management of an object and their analysis laid the foundation for the concept of "scientific management". The functional approach serves as the basis for the formation organizational structures management of enterprises and organizations. As follows from the works of well-known management experts, it is the management functions that determine the structure and content of the management system, determine the essence management activities at all levels of management.

In marketing, the functional approach made it possible to systematize the concepts of the marketing complex and the marketing process through the isolation and analysis of marketing functions. Marketing itself in most scientific and educational publications is revealed, studied and taught as a system of marketing functions: market research, product development, demand formation, pricing, distribution and promotion. Namely, on the basis of the functional approach, the vast majority of marketing services enterprises, scientifically substantiated management process life cycle goods.

In innovation, the key role of one of the methods of the functional approach in the design of any objects is given to functional cost analysis (FCA), a method of complex feasibility study of the functions of an object, aimed at optimizing the ratio between the quality of performance of specified functions and the costs of their implementation.

The role of the functional approach lies in the destruction of barriers between different branches of knowledge, focusing on the commonality of functions, in its complexity. It was the complexity of the functional approach that caused its wide distribution in the study of economic phenomena, in particular in the analysis of planning processes, accounting economic activity enterprises and industries. It was the study of complex economic systems that acquired the features of cybernetic science, took shape as its special direction - economic cybernetics. Within the framework of this direction, it became possible to develop theoretical ideas about the processes of transmission and processing of information in economic systems.

Thus, the functional approach permeates all spheres of human life and activity, allows you to study inner content, internal communications of the system when conducting scientific research.

There is a clear transition to a more detailed view of the system, where within this view it is of interest functional properties and communications of subsystems. in hierarchically organized complex systems the essence of the functions of any element in this system is determined not so much by the structure of this element as by its role in the structure of the system itself. Thus, the function is realized by the structure and explained with the help of the structure.

With regard to the brand as an object of study, the most interesting is the essential side of the functional approach as a methodological basis for the study of various products intended for consumption, acting as a product that is in close dialectical relationship with the brand.

Revealing the essence of the functional approach in this aspect, it is important to emphasize that the role of the functional approach is to reveal the usefulness (functionality) of the object. The entire study of the object is carried out in relation to its functions and the functions of its elements, considered in terms of their significance (importance), forms of manifestation, formation and cost of their manifestation (implementation) in order to most fully meet the specified requirements, ensure effective ways of their implementation. With a functional approach, a description of an object is performed based on a set of characterizing it consumer properties, i.e. in the language of the functions it performs, and the task is to find alternative ways to perform them, to reveal the classification of the object's functions. When using the functional approach in practice, the simplest procedure for dividing an object into separate elements-carriers of functions and assessing their significance is most often used, as a result of which the main, main and secondary functions are identified. This process of identifying and classifying features is called random feature analysis.

Speaking about the relationship between functions and structure in branding, it should be noted that based on the fact that the brand is a certain associative symbiosis in the mind of the consumer, the brand structure should be considered, first of all, as a system of associations, and not as a combination of name, logo, colors and sounds. Thus, it becomes possible to analyze the functions of individual associations in the structure of the brand's associative image.

As for the possibilities of using FSA in branding, it should be borne in mind that the brand extends its influence to all products, often of a wide range, sold under it, and the methods of brand formation and development are aimed simultaneously at its different functions. Therefore, the use of FSA as a valuation method for analyzing brand functions under a firm's monobrand policy seems too difficult and irrational, which cannot be said about the basic functional approach, which is primarily focused on analyzing the quality of performance and the significance of functions. It is expedient to carry out a functional cost analysis with a company's multi-brand policy, when each brand has its own specific market function.

Given that it is the functions of the brand that determine its essence and purpose, and the quality of their implementation is a direct result of branding effectiveness, it should be emphasized that the prospects for further analysis are an in-depth study of the application of the functional approach, functional modeling methods as the most objective scientific basis for evaluating the effectiveness of branding.

Literature:

1. Aaker, D. A. Strategic market management [Text]: per. from English. under. ed. Yu. N. Kapturevsky. - St. Petersburg: Peter, 2002. - 544 p.: ill. - (series "Theory and practice of management"). – ISBN 5-318-00781-3

2. Doyle, P. Value Based Marketing [Text] / transl. from English. under. ed. Yu.N. Kapturevsky. - St. Petersburg: Peter, 2001. - 480 p.: ill. - ISBN 5-318-00226-9

3. Kotler, F. Marketing management [Text]: 2nd edition / trans. from English. under. ed. O.A. Tretyak, L.V. Volokova, Yu.N. Kapturevsky. - St. Petersburg: Peter, 1999. - 896 p. – ISBN 5-8046-0048-6

4. Kunz G., O’Donnell S. Management: systemic and situational analysis of managerial functions [Text] / transl. from English. - M.: Progress, 1981. - T. 1. - 495 p.

5. Markov Yu.G. Functional approach in modern scientific knowledge [Text]. - Novosibirsk: Publishing House "Nauka", 1982. - 255 p.

6. Meskon M.Kh., Albert M., Hedouri F. Fundamentals of management [Text] / M.Kh., Meskon, M. Albert: per. from English. M.: Delo, 1992. - 702 p.

7. Nadtoka T.B., Vinogradov A.G. Functional cost analysis: Uch. allowance. - Donetsk: DonNTU, 2007. - 132 p.

8. Chumachenko N.G., Savchenko A.P., Korneev V.G. Decision making in production management. - K .: Technique, 1978. - 192 p.

9. What is innovation - [ Electronic resource]. - Electron. text data (6015 bytes) - Access mode:

functional programming- a branch of discrete mathematics and a programming paradigm, in which the process of calculation is interpreted as the calculation of the values ​​​​of functions in the mathematical understanding of the latter (as opposed to functions as subroutines in procedural programming).

Contrasted with the paradigm of imperative programming, which describes the process of computation as a successive change of states (in a sense similar to that in automata theory). If necessary, in functional programming, the entire set of sequential states of the computational process is represented explicitly, for example, as a list.

Functional programming is about computing the results of functions from the input data and the results of other functions, and does not imply explicit storage of the state of the program. Accordingly, it does not imply the mutability of this state either (unlike the imperative one, where one of the basic concepts is a variable that stores its value and allows you to change it as the algorithm is executed).

In practice, the difference between a mathematical function and the concept of “function” in imperative programming is that imperative functions can rely not only on arguments, but also on the state of variables external to the function, as well as have side effects and change the state of external variables. Thus, in imperative programming, when calling the same function with the same parameters, but at different stages of the algorithm execution, you can get different output data due to the influence of the variable state on the function. And in a functional language, when calling a function with the same arguments, we always get the same result: the output depends only on the input. This allows program runtimes in functional languages ​​to cache the results of functions and call them in an order not determined by the algorithm, and parallelize them without any extra work on the part of the programmer (which is provided by functions without side effects - pure functions).

Functional programming languages[ | ]

Not yet fully functional initial versions of both Lisp and APL made a special contribution to the creation and development of functional programming. Later versions of Lisp, such as Scheme, as well as various variants of APL, supported all the features and concepts of a functional language.

As a rule, interest in functional programming languages, especially purely functional ones, has been more scientific than commercial. However, notable languages ​​such as Erlang , OCaml , Haskell , Scheme (after 1986) as well as specific (statistics), Wolfram (symbolic mathematics), and ( the financial analysis), and XSLT (XML) have found use in the commercial programming industry. Widespread declarative languages ​​such as SQL and Lex/Yacc contain some elements of functional programming, such as being wary of using variables. Spreadsheet languages ​​can also be thought of as functional languages ​​because the cells spreadsheets an array of functions is set, which, as a rule, depends only on other cells, and if you want to model variables, you have to resort to the capabilities of the imperative macro language.

History [ | ]

The first functional language was Lisp, created by John McCarthy during his tenure in the late fifties and implemented initially for the IBM 700/7000. (English)Russian. Lisp pioneered many functional language concepts, although the language uses more than just the functional programming paradigm. Lisp was further developed by languages ​​such as Scheme and Dylan.

Concepts [ | ]

Some concepts and paradigms are specific to functional programming and mostly foreign to imperative programming (including object-oriented programming). However, programming languages ​​are usually a hybrid of several programming paradigms, so "mostly imperative" programming languages ​​may use any of these concepts.

Higher Order Functions[ | ]

Higher-order functions are functions that can take as arguments and return other functions. Mathematicians often call such a function an operator, for example, the derivative operator or the integration operator.

Higher-order functions allow the use of currying - the transformation of a function from a pair of arguments into a function that takes its arguments one at a time. This transformation got its name in honor of H. Curry.

Pure functions [ | ]

Pure functions are those that do not have I/O and memory side effects (they depend only on their parameters and return only their result). Pure functions have several useful properties, many of which can be used to optimize a:

  • If the result of a pure function is not used, its call can be removed without harming other expressions.
  • The result of a call to a pure function can be memoized, i.e. stored in a value table along with the call arguments. If the function is later called with the same arguments, its result can be taken directly from the table without being calculated (sometimes this is called the reference transparency principle). Memoization, at the cost of a small amount of memory, can significantly increase performance and reduce the growth order of some recursive algorithms.
  • If there is no data dependency between two pure functions, then the order of their evaluation can be changed or parallelized (in other words, the calculation of pure functions satisfies the thread-safe principles)
  • If the entire language does not allow side effects, then any evaluation policy can be used. This gives the compiler freedom to combine and reorganize the evaluation of expressions in the program (for example, to eliminate tree structures).

Although most compilers of imperative programming languages ​​recognize pure functions and remove common subexpressions for pure function calls, they cannot always do so for precompiled libraries, which generally do not provide this information. Some compilers, such as gcc , provide the programmer with pure function keywords for optimization purposes. Fortran 95 allows you to designate functions as "pure".

recursion [ | ]

Recursive functions can be generalized to higher-order functions using, for example, catamorphism and anamorphism (or "convolution" and "expansion"). Functions of this kind play the role of such a concept as a cycle in imperative programming languages. [ ]

Argument evaluation approach[ | ]

Functional languages ​​can be classified according to how function arguments are handled during evaluation. Technically, the difference lies in the denotational semantics of the expression. For example, with a strict approach to the calculation of the expression

print (len ([ 2 + 1 , 3 * 2 , 1 / 0 , 5 - 4 ]))

the output will be an error, since the third element of the list contains division by zero. With a non-strict approach, the value of the expression will be 4, since, strictly speaking, the values ​​of its elements are not important for calculating the length of the list and may not be calculated at all. With strict (applicative) order of evaluation, the values ​​of all arguments are pre-calculated before the function itself is evaluated. With a non-strict approach (normal evaluation order), the values ​​of the arguments are not evaluated until their value is needed when the function is evaluated.

As a rule, a non-strict approach is implemented in the form of graph reduction. Non-strict evaluation is the default in several purely functional languages, including Miranda, Clean, and Haskell. [ ]

In non-functional languages[ | ]

In principle, there are no barriers to writing functional-style programs in languages ​​that are not traditionally considered functional, just as object-oriented style programs can be written in structural languages. Some imperative languages ​​support constructs typical of functional languages, such as higher-order functions and list comprehensions, which make it easier to use the functional style in these languages, in particular, this approach is widely used in the practice of the Python language. Another example is the Ruby language, which has the ability to create both anonymous functions using bound variables (λ-objects) and the ability to organize higher-order anonymous functions through a block using the yield construct. In C, function pointers as argument types can be used to create higher-order functions. Higher order functions and deferred list structure are implemented in C++ libraries. In language version 3.0 and higher, you can use λ-functions to write a program in a functional style.

Programming styles[ | ]

Imperative programs tend to emphasize sequences of steps to perform some action, while functional programs tend to emphasize the arrangement and composition of functions, often not denoting the exact sequence of steps. A simple example of two solutions to the same problem (using the same Python language) illustrates this.

# imperative style target = # create an empty list for item in source_list : # for each element of the original list trans1 = G(item ) # apply G() function trans2 = F (trans1 ) # apply the F() function target. append(trans2) # add the converted element to the list

The functional version looks different:

# functional style # FP languages ​​often have a built-in compose() function compose2 = lambda A , B : lambda x : A (B (x )) target = map (compose2 (F , G ), source_list )

Unlike the imperative style, which describes the steps leading to the achievement of a goal, the functional style describes the mathematical relationship between the data and the goal.

More precisely, there are four stages in the development of functional style, in descending order of the role of data in programs:

  • Refal (for this category, represented by a single language, there is no common name);
  • Applicative (Lisp, , Tcl, Rebol);
  • Combinatorial (APL / / , / );
  • Dotless (pure concatenative) (Joy , Cat , Factor , a subset of PostScript).

In the first case, the entire structure of the program is determined by the data structure, in the latter case, the data as such is not at all in the original e, they are only implied at the input. Some languages ​​support a number of styles: for example, Haskell allows you to write in both applicative, combinatorial, and dotless styles.

Peculiarities [ | ]

The main feature of functional programming, which determines both the advantages and disadvantages of this paradigm, is that it implements stateless computing model. If an imperative program at any stage of execution has a state, that is, a set of values ​​of all variables, and produces side effects, then a purely functional program has no state either in whole or in parts and does not produce side effects. What is done in imperative languages ​​by assigning values ​​to variables is achieved in functional languages ​​by passing expressions to function parameters. The immediate consequence is that a purely functional program cannot change the data it already has, but can only generate new ones by copying and/or expanding old ones. The consequence of the same is the rejection of cycles in favor of recursion.

Strengths [ | ]

Increasing reliability[ | ]

The attractive side of stateless computing is the increase in reliability due to clear structuring and the absence of the need to track side effects. Any function works only with local data and always works with them in the same way, regardless of where, how and under what circumstances it is called. The impossibility of data mutation when using them in different places of the program eliminates the appearance of hard-to-detect errors (such as, for example, accidentally assigning an incorrect value to a global variable in an imperative program).

Ease of organizing unit testing[ | ]

Since a function in functional programming cannot produce side effects, objects cannot be changed both inside the scope and outside (unlike in imperative programs, where one function can set some external variable read by the second function). The only effect of a function's evaluation is the result it returns, and the only factor that affects the result is the value of the arguments.

Thus, it is possible to test every function in a program by simply evaluating it from different sets of argument values. In this case, you do not have to worry about calling functions in right order, nor about the correct formation of the external state. If any function in the program passes unit tests, then you can be sure of the quality of the entire program. In imperative programs, checking the return value of a function is not enough: the function can modify the external state, which also needs to be checked, which is not necessary in functional programs.

Compiler Optimization Options[ | ]

The traditionally mentioned positive feature of functional programming is that it allows you to describe the program in the so-called "declarative" form, when a rigid sequence of performing many operations necessary to calculate the result is not explicitly specified, but is formed automatically in the process of calculating functions. This circumstance, as well as the absence of states, makes it possible to apply quite complex methods of automatic optimization to functional programs.

Concurrency Capabilities[ | ]

Another advantage of functional programs is that they provide the widest possibilities for automatic parallelization of calculations. Since the absence of side effects is guaranteed, in any function call it is always possible to evaluate two different parameters in parallel - the order in which they are evaluated cannot affect the result of the call.

disadvantages [ | ]

The disadvantages of functional programming stem from the same features. The absence of assignments and their replacement with the generation of new data leads to the need for constant allocation and automatic release of memory, therefore, in the execution system of a functional program, a highly efficient garbage collector becomes a mandatory component. The non-strict computation model leads to an unpredictable order of function calls, which creates problems in I/O, where the order of operations is important. Also, obviously, input functions in their natural form (like getchar from the standard library of the language) are not pure, since they can return different values ​​for the same arguments, and certain tricks are required to eliminate this.

To overcome the shortcomings of functional programs, even the first functional programming languages ​​included not only purely functional tools, but also mechanisms for imperative programming (assignment, loop, "implicit PROGN" were already in Lisp). Using such tools solves some practical problems, but means moving away from the ideas (and advantages) of functional programming and writing imperative programs in functional languages. In pure functional languages, these problems are solved by other means, for example, in Haskell, I/O is implemented using monads, a non-trivial concept borrowed from category theory.

see also [ | ]

Notes [ | ]

  1. A. Field, P. Harrison Functional programming: Per. from English. - M.: Mir, 1993. - 637 p., ill. ISBN 5-03-001870-0. Page 120 [Chapter 6: Mathematical Foundations: λ-calculus].

Functional management

With a functional (hierarchical) approach to organizing management, each structural unit of the organization (employee, department, management) is assigned a number of functions, the area of ​​responsibility is described, and criteria for successful and unsuccessful activities are formulated. At the same time, as a rule, horizontal connections between structural units are weak, and vertical ones, including the line "boss-subordinate", are strong. The subordinate is responsible only for the functions entrusted to him and, possibly, for the activities of his unit as a whole. He is not very interested in the functions and results of the work of parallel structural units.

The main disadvantages of the functional approach to managing an organization arising from the lack of focus on the final result, high overhead costs are recognized, long terms development of management decisions, the risk of losing customers.

FP benefits:

    The boss is always right => quick response to instructions execution

    "Install and use" - a quick launch of the organization into work

    "Create and try" - encouragement of creativity

    Clearly stated responsibility => for promotion career ladder enough emotional factor

BPM- business process management is the modeling, execution, management and optimization of business processes.

BPM tasks:

    Gaining knowledge on debugging and documentation various kinds organizations

    Knowledge of identification and classification

    Establishment of quality characteristics of business processes

    Modification of the previous management

    Creation of information support for making justified decisions in the company's activities.

  1. The concept of "organization". Types of organizations, their differences Process approach to organization management. The concept of a business model. Features of a process-oriented organization.

Organization- socio-technical economic system, a group of people striving to achieve common goals

Functioning - joint activity

The organization consists of:

    informal

    Formal (legal entity law)

informal organization- a spontaneously emerging group of people who interact with each other quite regularly.

Formal:

formal organization- an organization that has the right of a legal entity, the objectives of which are enshrined in the constituent documents, and the functioning - in the regulations, agreements and provisions governing the rights and responsibilities of each of the participants in the organization.

Formal organizations divided into commercial and non-commercial organizations.

Commercial organizations- organizations whose activities are aimed at systematically making a profit from the use of property, the sale of goods, the performance of work or the provision of services.

Non-Profit Organizations- organizations that do not have as the main goal of their activities the extraction of profit and do not distribute the profit received among the participants of the organization.

Process approach to management

Management is the process of informative interaction between the subject of management (CS) and the object of management (OC), which encourages to take some action to achieve the goals of the subject

Control scheme:

The activity of any organization is a continuous process, so if we consider the company as a system of processes. The process approach is one of the possible aspects of business optimization. A system built on processes should reflect the essence of the activity under study and the development of the enterprise.

The process approach considers management as a continuous series of interrelated management functions:

    Action planning

    Organization of actions

    Action Motivation

    Action coordination

    Action control

As well as additional connecting processes: communication and decision making.

A process-oriented organization is an organization that can provide within itself the conditions for a continuous process of producing goods and services, including ensuring control and quality of results at the stages of the process, with the interaction of departments and employees.

Continuity conditions - the possibility of organizing the replacement of equipment and employees without creating a critical situation.

Business model- a compact simplified view of the business, designed for a holistic view and analysis of the activities of the entire system of interrelated business business processes

Features of a process-oriented organization:

    Availability of business models.

    Organized information management system

    Development of a clearly established procedure in the development of documentation.

    The organization has a hierarchy of levels of control

    Level strategic management(decision making with a perspective of 3-5 years)

    The level of management efficiency is produced (1-1.5 years)

    Operating activities. - Operational management (planning within a calendar month) - Operational management (of the current month)

    Real time control (what is now)

    Allows you to define indicators and criteria performance evaluation management at every stage of the management chain.

What is process orientation?

    Reduction of process execution time due to regulation and automation

    Increasing the quality of products or services

    Metric-based management introduced

    Flexibility, (willingness to change co-workers)

 

It might be useful to read: