📜 ⬆️ ⬇️

ITIL for developers



“... british scientists proved ..."


Hi, Habr. My name is Sergey Sapegin, I work as a PHP developer in DataArt. But today I want to talk not about PHP.
')
Employees of IT, regardless of the field of specialization, have recently increasingly come across an interesting phenomenon in the software world - ITIL. Since the global trend has not passed DataArt, we have undertaken a little research in order to understand what our developers should know and how, so that some customer processes do not stump the entire team. We present you what came out of it ...

Where does the software go?

By producing various features and correcting numerous bugs, bringing the components under development to the release level, we, as a rule, do not think about where all this goes. In fact, the software for us is something that lies on the operating desktop, something that needs to be dissected, completed, redone, cured and made to work.

Most of the techniques and techniques aimed at achieving software quality derive from this world view. Of course, a harmonious architecture, an object approach, MVC, code design agreements and comments ... We pay so much attention to this, that it is completely incomprehensible where the next ugly monsters come from, which are so dear to users, that they must be put in order. Beauty was supposed to rule the world for a long time.

And, frankly, she rules. There are millions of varieties of beautiful, charming, inspiring software in the world! Another thing is that we, the developers, evaluate the beauty of software products for the most part from their professional point of view, just as a surgeon can evaluate the beauty of people based on the state of their internal organs. At that time, the rest of the world curses blondes from catwalks.

How can we touch this uneasy look of the whole world? The world has already found a way to bring the beauty of IT to the standard - it offers us ITIL!

The idea of ​​the British crown

How to make programmers write not just quality, but useful software for users? Many who tried to answer this question, but the most successful result so far has turned the British government. The idea put in its basis was rather simple: to collect information on quite a large number of projects, to select among them successful and unsuccessful ones, to break them down by criteria, to extract from this a set of rules. And the automation projects of various organizations in this government have already accumulated even more than enough.

A group of experts gathered (after promising to distribute pink elephants to everyone), carefully processed the statistics - and ITIL appeared. Now it is becoming more and more popular, it has already experienced its third incarnation (the most recent and popular version is ITIL V3), and most importantly - it essentially explains what the user needs, how to organize the operation of his entire IT infrastructure, how to evaluate that benefits what is harmful and what is useless. The most piquant that the assessment works regardless of whether the user really knows his real desires, whether or not they can be formulated. If he, of course, is generally interested in using IT in his business.

The basis of ITIL

The first thing that begins with an acquaintance with ITIL is general concepts and terms that can be quite different from expectations. ITIL itself is a library (collection) of recipes applicable for organizing the IT operation process. The method of managing the organization of IT services based on the recipes of this library is called ITSM (IT Service Management). The library of the 3rd version (ITIL v3) consists of several fundamental books that cover consistently the organization of various areas of work with the IT infrastructure of an enterprise.

The key concept of ITIL, on the basis of which the rest of the ideology unfolds, is the concept of service . In ITIL v3, a service is called “a way to provide the customer with the values ​​(values), purified from the risks and costs inherent in the actions to obtain these results”. specific costs and risks ). Please note that values ​​in the context of the organization’s work, as a rule, imply the achievement by the employee of any intermediate goals in the process of fulfilling their professional duties. This definition is quite different from the intuitive concept of "service", which is inherent to developers. (This refers to “a set of functionality deployed on a network that can be used”).

ITIL service is:
  1. Not only and not necessarily a set of software functionality. Roughly speaking, we constantly consider the new model of a gun in the way of hunting. Although in practice, in order for it to be a way, it must be unpacked, targeted, loaded, delivered into place, sent to the target, and placed in the hands of the hunter. All this, from the point of view of ITIL, is a component of the service.
  2. The method of providing values to the customer. The developed software is used by the user not because it is easy and convenient to use, it has a carefully thought-out architecture, etc., but because it delivers values ​​to the user, and the set of these values ​​is limited to the scope of the production process, the categories of which the user thinks. Check yourself, answer, what sorting algorithm is better - traditional “bubble” or Quicksort? And if we are talking about no more than ten elements? And if you need it at all to explain the principle of sorting to a person?
  3. "... cleaned of risks and costs" is also an important addition. The entire developer productivity, which is so difficult to determine and normalize from the point of view of the development process, is assessed by the user from his point of view on one simple and reliable scale - the purity of his working process from risks and labor costs. How long have you yourself written angry messages on the forums about the absence of the Start button in the new version of Windows? Have you thought about undoubted improvements in the functionality and reliability of this OS? Do you often enter the service position when your internet goes down or electricity is turned off?

It turns out, like a poet: we say “ITIL” - we mean “services”, we say “services” - we mean “delivered values, cleared of risks and costs”.

ITIL structure and location

As an illustration of the area covered by ITIL techniques (and more specifically ITIL 3), you can look at the following picture:



The main objective of ITIL, therefore, is to extract the benefits for the workflow from the existing infrastructure. However, since existing in reality is never enough, ITIL processes cover the area of ​​forming requirements for a new software and include the processes of its acceptance, testing and commissioning.

The structure of ITIL in the 3rd edition consists of five fundamental books and looks like this:



Consider their content more ...

Service Design

The book dedicated to the design of services, details the principles that should be used in the proper development of IT infrastructure. In the process of designing services, among other things, the need for new software is determined, the set of initial requirements for it is determined, the contractor is selected - and here the developers are already involved. The choice of performer and the nature of the project is usually determined by finding a balance between:

  1. service functionality (business and system);
  2. its value (including financial, production and human resources);
  3. time during which it is necessary to start service in operation.


In addition to the software requirements, the design of the service usually deals with the issues of its commissioning, further management, etc. The design process itself is usually organized on the basis of the RACI matrix (Responsible, Accountable, Consulted, Informed), according to which method, the participation of each participant in The task can be of the following types:



In more specific cases, an extended RACI-VS matrix is ​​used, in which the following roles are added:



There is another variation of this matrix, the so-called. RASCI, which provides for the Supportive role - for people who support the main flow of work.

Service Transition

As a matter of fact, we usually know little about ITIL because the library does not formalize the development process itself. For us, it appears in the form of Agile, a waterfall, or something else more cunning, but from the user's point of view it is a black box where the requirements are put, something rustles inside and works there - and the candy comes out the ready software. However, what to do next with the software that has left the black box is another book devoted to the “Service Transfer”.

The main purpose of the service transfer process is to deploy and put into operation new versions of services in the general information environment of an enterprise. The basis of the process is usually a formal agreement, documented and used in all cases of commissioning the service. The importance of this is primarily due to the fact that the process of incorrectly commissioning a service can cause serious losses to the enterprise that operates it . Why do I emphasize this fact? For us, it is usually the software functionality that is valuable, what we do: algorithms, database table structures. And for the user, DATA is the most valuable. In the hands of the user, the data structures are not filled with abstract “123”, “test”, “privet”, “helloworld”, “test again”, but quite concrete real-life facts that have a value (expressed in money!) For the company's activities. And since, as I said above, software always replaces something, the problems of adapting old data to new models should be given the closest attention. If possible - from the very beginning of development, and not when you have already made the finished product.

When the developed software is put into operation, the user's interests are most vulnerable: he trusts your product the most valuable thing he has - INFORMATION.

The transfer of software into operation is usually associated with several stages of testing, often associated with the use of any technical means governing the process (CI - continuous Integration), and the result of it ... there is de facto a slight discrepancy between the results.

For the developer, the final results are a signed transfer statement and final payment.

For the customer, the end result is the fact of using the software as intended. The joint achievement of these results is the desired outcome of the project. Many now thought about the options when “the developer passed the program and disappeared, and the user suffers with it and cannot really work” - in fairness, there are other options when “the user has installed the old version and is working, but does not notice any left-handed bugs from new features refuses. Optimum is somewhere in the middle.

The main task of organizing the transfer of services is to avoid protracted antagonistic conflicts between teams, the reasons for which are misunderstanding and, most likely, various corporate interests. For the prevention and resolution of conflicts, formal documents are used (SLA, TK, etc.) and informal initiatives aimed at eliminating misunderstandings and broadening the general conceptual context between service development and operation groups.

Service Operation

“Utilization of services” is the inner reading of our clients, from which, however, one can learn a lot of useful information. From our point of view, it is not the complex of methods for organizing the work of users with IT support that is of particular interest, but its final regulations and documents.
For example, a smile can cause the regulated recipes to bypass the bugs that the developers have not bothered to fix. However, the main purpose of analyzing information about what is really happening in the company during its operation is to understand how successful the implemented software was, how useful it is, where it has bottlenecks ... where there are bottlenecks in the work of the company’s employees in general (and what can we do for money to fix it).
The book as a whole is interesting and useful, especially in terms of understanding where and how of IT support is used in real work.

Continual Service Improvement

The last book of ITIL 3rd version is devoted to the organization of self-reflection - tracking what processes are going in the organization, trying to improve the quality of the services used. The most important postulate of the book - the process of improving corporate IP should take place continuously and continuously. Well, the techniques used for this can be extremely diverse.
For example, various methods are widely used to measure the technical performance of IT services, the effectiveness of their work in cooperation with the user, ways to assess the overall performance of services, the phases of their life cycle, etc. (the Deming cycle and the SWOT matrix).
Knowledge of the principles of CSI allows you to analyze what is happening in the IT infrastructure of our clients, suggest solutions, gain trust and make offers that are difficult to refuse. Naturally, if the contracting authority regularly shares the data of continuous monitoring of its IT infrastructure.

Eventually?

All this, of course, is entertaining (albeit somewhat speculative), but why should a developer-practitioner know about these lowly, user concepts? Our job is to take care of the quality of the code!

Maybe it should be so, but practice shows otherwise. Most holivars about "direct hands" and "curved architectures" are indifferent to the user. Moreover, between users and developers, it turns out, there is a really large space, which not every software product can successfully cross. And, as it seems to me, it is time to think about how to give your software brainchild more chances to become useful for the end user. And to help in this can look at the development from the perspective of ITIL.

Source: https://habr.com/ru/post/237263/


All Articles