{"id":36007,"date":"2019-10-31T22:09:07","date_gmt":"2019-10-31T19:09:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-ivan-metriki-devops-delal-obekt-vliyaniya\/"},"modified":"2019-10-31T22:09:07","modified_gmt":"2019-10-31T19:09:07","slug":"kak-ivan-metriki-devops-delal-obekt-vliyaniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-ivan-metriki-devops-delal-obekt-vliyaniya","title":{"rendered":"How Ivan did DevOps metrics. The influence object","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/433834\/\">A week has passed since Ivan first thought about DevOps metrics and realized that they should be used to manage product delivery time.<\/a><\/noindex> (Time-To-Market).<\/p>\n<p>Even on weekends, he was thinking about metrics: \"So what if I measure time? What will it give me?\"<\/p>\n<p>Indeed, what does knowing the time give? Suppose the delivery takes 5 days. And then what? Is that good or bad? Even if it's bad, we need to somehow reduce that time. But how?<br \/>\nThese thoughts troubled him, yet the solution did not come.<\/p>\n<p>Ivan understood that he had reached the heart of the matter. Countless metric graphs he had seen before had long convinced him that the standard approach would not work, and that simply plotting a graph (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/349724\/\">even if cohort-based<\/a><\/noindex>) would yield no results.<\/p>\n<p>What should we do?\u2026<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>A metric is like an ordinary wooden ruler. Measurements taken with it won't tell the reason, <b>why <\/b> that the measured object is exactly the length it shows. The ruler will merely show its size, and nothing more. It's not a philosopher's stone; it's just a wooden board used for measurement.<\/p>\n<p>The \"Stainless Steel Rat\" from his favorite author Harry Harrison always said: thoughts must reach the bottom of the brain and rest there, so after struggling fruitlessly for several days, Ivan decided to tackle another task\u2026<\/p>\n<p>A few days later, while reading an article about online stores, Ivan suddenly realized that the revenue generated by an online store depends on how site visitors behave. It is they, the visitors\/customers, who give the store their money and are the source of it. The final amount of funds received by the store is affected by changes in customer behavior, not some other factor.<\/p>\n<p>It turned out that to change the measured quantity, one needs to influence those who shape that value, i.e., to change the amount of money an online store makes, one needs to impact the behavior of the customers of that store, and to change the delivery time in DevOps, one needs to influence the teams that 'create' that time, i.e., use DevOps in their work.<\/p>\n<p>Ivan realized that DevOps metrics should not represent mere graphs. They should serve as <b>a tool for search<\/b> for 'outstanding' teams that shape the final delivery time.<\/p>\n<p>No metric will ever reveal the reason why a certain team took a long time to deliver a distribution, Ivan thought, as the reasons could be countless and could very well be organizational rather than technical. In other words, the most one can expect to gain from metrics is an overview of teams and their results, after which one will still need to go personally to these teams to find out what happened. <\/p>\n<p>On the other hand, there was a standard at Ivan's company that required all teams to test builds on several stands. The team could not move on to the next stand until the previous one was successfully completed. Thus, if we imagine the DevOps process as a sequence of passing stands, metrics could show the time teams spent on each stand. Knowing the stand and the team's time would allow for more specific discussions with them about the reasons.<\/p>\n<p>Without further ado, Ivan picked up the phone and dialed the number of someone well-versed in the ins and outs of DevOps:<\/p>\n<p> \"Denis, could you please tell me if there's any way to know if a team has passed a certain stand?\"<br \/>\n \"Of course. Our Jenkins raises a flag if the build successfully rolled out (passed the check) on the stand.\"<br \/>\n \"Great. What is a flag, exactly?\"<br \/>\n \"It's a regular text file like 'stand_OK' or 'stand_FAIL', indicating whether the build has passed or not. You got it, right?\"<br \/>\n \"In principle, yes. Is it written in the same folder in the repository where the build is located?\"<br \/>\n \"Yes.\" <br \/>\n \"What happens if the build fails the stand? Will I need to create a new build?\"<br \/>\n \"Yep.\"<br \/>\n \"Okay, thanks. And one more question: am I correct in understanding that I can use the flag creation date as the date the stand was passed?\"<br \/>\n \"Absolutely!\"<br \/>\n \"Awesome!\"<\/p>\n<p>Inspired, Ivan hung up the phone and realized that everything fell into place. Knowing the build file creation date and the dates of flag creation allowed him to calculate with precision down to the second how much time teams spend on each stand and understand where they spend the most time.<\/p>\n<p>\"By understanding where the most time is spent, we'll precisely identify the teams, approach them, and dig into the problem.\" Ivan smiled.<\/p>\n<p>For tomorrow, he set himself the task of sketching out the architecture of the emerging system.<\/p>\n<p>To be continued\u2026<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/436310\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0448\u043b\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043a\u0430\u043a \u0418\u0432\u0430\u043d \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043d\u0430\u0434 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 DevOps \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441 \u0438\u0445 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 (Time-To-Market). \u0414\u0430\u0436\u0435 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043e\u043d \u0434\u0443\u043c\u0430\u043b \u043f\u0440\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0438: \u00ab\u041d\u0443 \u0438 \u0447\u0442\u043e, \u0447\u0442\u043e \u044f \u0438\u0437\u043c\u0435\u0440\u044e \u0432\u0440\u0435\u043c\u044f? \u0427\u0442\u043e \u043e\u043d\u043e \u043c\u043d\u0435 \u0434\u0430\u0441\u0442?\u00bb \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0441\u0442 \u0437\u043d\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438? \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 5 \u0434\u043d\u0435\u0439. \u0418 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36007","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0448\u043b\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043a\u0430\u043a \u0418\u0432\u0430\u043d \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043d\u0430\u0434 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 DevOps \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441 \u0438\u0445 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-ivan-metriki-devops-delal-obekt-vliyaniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0418\u0432\u0430\u043d \u043c\u0435\u0442\u0440\u0438\u043a\u0438 DevOps \u0434\u0435\u043b\u0430\u043b. \u041e\u0431\u044a\u0435\u043a\u0442 \u0432\u043b\u0438\u044f\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0448\u043b\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043a\u0430\u043a \u0418\u0432\u0430\u043d \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043d\u0430\u0434 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 DevOps \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441 \u0438\u0445 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-ivan-metriki-devops-delal-obekt-vliyaniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:09:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:09:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47How Ivan Worked with DevOps Metrics. Impact Object | ProHoster","description":"A week has passed since Ivan first thought about DevOps metrics and realized that they should be used to manage delivery time.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-ivan-metriki-devops-delal-obekt-vliyaniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0418\u0432\u0430\u043d \u043c\u0435\u0442\u0440\u0438\u043a\u0438 DevOps \u0434\u0435\u043b\u0430\u043b. \u041e\u0431\u044a\u0435\u043a\u0442 \u0432\u043b\u0438\u044f\u043d\u0438\u044f | ProHoster","og:description":"\u041f\u0440\u043e\u0448\u043b\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043a\u0430\u043a \u0418\u0432\u0430\u043d \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043d\u0430\u0434 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 DevOps \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441 \u0438\u0445 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-ivan-metriki-devops-delal-obekt-vliyaniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:09:07+00:00","article:modified_time":"2019-10-31T19:09:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36007","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 01:37:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:52:44","updated":"2026-01-22 01:37:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/36007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=36007"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/36007\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=36007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=36007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=36007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}