DevOps simultaneously allows to increase productivity of the organization as a whole and to ensure that different departments (for example, developers, quality control, IT-operation, information security) achieve their functional goals and improve the conditions for employees. Devops – software development methodology, aimed at active interaction and integration of development specialists and IT-service specialists.
Let’s take the design of a modern car. Where does the area of competence of a mechanical engineer end and the area of responsibility of an electrical engineer begins? Where (and how, and when) should an aerodynamic specialist (certainly, with a clear understanding of the shape, size and location of the windows) interact with an expert in the field of passenger ergonomics? What can be said about the chemical influence of fuel mixture and oils on the materials used for engine and transmission during the whole operation of the machine?
During the design of a car, you can ask many other questions, but the end result is the same: two things are absolutely necessary for the success of modern technical projects – the ability to consider the problem from different points of view and experience of joint activities.
What can reduce the value for the customer
Let’s list the categories of problems that can be solved using devops services.
- Work performed partially: this includes tasks that are not completed in the value creation flow (e.g., documents with requirements or change orders have not yet been reviewed) and those in the queue (e.g., waiting for a test report or a response from the system administrator to a request).
- Excess Processing: any additional tasks that are performed as part of a process but do not add value to the client. This may include writing documentation that is not used on lower-level jobs, or reviews and statements that do not add value. Excessive processing requires additional effort and increases time.
- Excess functionality: “features” built into the product, but not required by either the organization or customers. Excessive functionality multiplies the complexity of the product and the effort required to test and manage the functionality.
- Task switching: When an employee is involved in several projects and value streams, the need to switch between different contexts and dependencies requires additional effort and time.
- Waiting: any delays that require resources: have to wait until they are released. Delays increase cycle time and prevent a client from receiving value.
- Unnecessary movements: the amount of effort to move information or materials from one workplace to another. Superfluous movements can occur when people who need to communicate frequently are far away from each other. Delays can also cause unnecessary movements and often require additional communication to resolve ambiguities.
- Defects: incorrect, missing or obscure information, inappropriate materials or products create losses because a lot of effort is required to resolve these issues. The more time passes between the appearance of a defect and its detection, the harder it is to eliminate the defect.
- Unordered or manual work: The calculation of unordered or manual work that others must do, such as using servers, test environments and configurations without a recovery function. Ideally, any dependency on the operation department should be automated, self-service and available on demand.