Apa sajakah metode untuk mengukur ROI untuk DevOps?

24

DevOps kompleks, dan melibatkan banyak aspek non-deterministik seperti budaya dan proses.
Apa beberapa cara untuk mengukur inisiatif DevOps untuk sukses?
Bagaimana Anda membuktikan kepada bisnis bahwa investasi yang mereka lakukan adalah mengembalikan (atau menabung) dolar nyata?

Dave Swersky
sumber
Hei Dave, saya ingin tahu apa yang "Anda" maksud dengan "pengukuran", sesuai salah satu tag yang Anda gunakan dalam pertanyaan Anda. IMO (tidak lebih dari itu), hanya menggunakan tag "metrik" (yang ada) akan lebih tepat. Tidak? Jika Anda tidak setuju (yang tidak apa-apa ...), maukah Anda (singkat) menjelaskan apa yang menurut Anda perbedaan antara kedua tag tersebut (atau seharusnya)?
Pierre.Vriens
@ Pierre.Vriens Saya kira pengukuran adalah tindakan mengumpulkan data, sedangkan metrik adalah sesuatu yang Anda ukur. Saya menghapus tag "pengukuran" karena mungkin berlebihan.
Dave Swersky

Jawaban:

16

Pertanyaan bagus! Sebagian besar dari kita tahu berinvestasi dalam praktik DevOps adalah pengejaran yang sangat berharga karena berbagai alasan; kami tidak sering membenarkan DevOps pada dampak ke garis bawah saja.

Catatan : ini adalah pertanyaan yang dikemukakan pendapat, dan jawaban saya juga, menurut pendapat.

Tensibai dengan bijak menyarankan agar kami menemukan metrik yang tepat, dan dia menggunakan waktu-ke-pasar sebagai contoh. Ini adalah pendekatan gambaran besar yang hebat.

Sebagai pendekatan alternatif, pengalaman saya dengan penghitung kacang adalah bahwa mereka tidak perlu - atau perlu ingin - mengetahui gambaran besarnya, mereka hanya menginginkan bukti tanggung jawab fiskal. Mereka ingin melihat tren ke arah yang benar.

Berikut ini beberapa kemenangan fiskal:

  • menghitung biaya server yang dihemat dengan memanfaatkan penskalaan otomatis di cloud
  • untuk situs penghasil pendapatan, ekstrapolasi biaya per menit waktu henti, kemudian tunjukkan peningkatan dalam MTTI dan MTTR
  • lagi, untuk situs penghasil pendapatan, perkirakan penghematan biaya per menit dengan memanfaatkan arsitektur yang sangat tersedia berdasarkan insiden masa lalu
  • jika Anda telah memperbaiki pipeline build dan deploy Anda, tunjukkan bahwa Anda telah mengurangi regresi dan kesalahan dalam produksi yang disebabkan oleh kesalahan yang sudah dilacak
  • jika Anda telah membuat perbaikan pada lingkungan pengujian pengembang, atau bahkan alat dan konfigurasi pada laptop pengembang, lihat sejarah komit untuk melihat apakah insinyur baru membuat kontribusi pertama mereka lebih cepat setelah bergabung
  • melakukan perbandingan biaya penuh antara cloud dan on-prem, seperti yang dilakukan Gitlab baru-baru ini , untuk membenarkan pengeluaran infrastruktur Anda (alias penghematan!)

Menunjukkan bahwa Anda sadar uang dan Anda memiliki beberapa kemenangan yang jelas seringkali cukup. Saya tentu saja melewatkan beberapa contoh nyata; jangan ragu untuk menambahkan komentar di bawah ini.

Hunter Hutan
sumber
2
Saya 1000% di belakang ini. Saya pikir kita berada di puncak pergeseran besar dalam pemantauan: Saya tidak lagi peduli tentang berapa banyak CPU atau RAM yang digunakan pada setiap contoh yang diberikan, saya peduli tentang berapa banyak yang saya bayarkan untuk kelompok contoh penskalaan otomatis lembur. Saya tidak peduli berapa banyak permintaan yang dapat ditangani oleh sebuah instance, saya peduli tentang berapa biaya untuk melayani permintaan. Pergeseran dalam pemikiran ini benar-benar dapat membantu mendorong metrik yang lebih baik untuk DevOps, termasuk ROI.
Adrian
12

Metrik utama untuk pipa DevOps adalah Waktu Siklus (juga disebut Waktu Timbal ). Ini adalah waktu yang dibutuhkan untuk perubahan (atau permintaan perubahan, melacak semua jalan ke awal ide). Ilustrasi terbaik dari konsep ini yang saya tahu adalah dari buku "The Goal", yang membahasnya dalam konteks manufaktur.

Frekuensi Penempatan juga bermanfaat. Kami ingin penyebaran sering dilakukan dalam pipa DevOps. Tidak ada yang ajaib "pengukuran 1 hari baik, 2 hari buruk"; ini akan membutuhkan konteks historis pada proyek Anda agar bermakna.

Ukuran Penempatan : Diukur bagaimanapun pengembang Anda mengukur pekerjaan - cerita pengguna, poin cerita, quatloos, apa pun. Sekali lagi, Anda ingin melihat tren dari waktu ke waktu, bukan nilai absolut.

Antara frekuensi dan ukuran ada cerita. Apakah rilis kami menjadi lebih jarang dan lebih besar? Mengapa? Apakah mereka menjadi lebih kecil dan lebih sering? Lagi-lagi kenapa?

Menjelaskan apakah tren frekuensi / ukuran baik, kita juga perlu Persentase Penyebaran Gagal . Mengungkap 'mengapa' dalam ketiga metrik akan memberi tahu Anda banyak tentang kesehatan proyek.

Favorit pribadi saya, meskipun metrik kesombongan, adalah Waktu untuk Penyebaran Sepele . Jika Anda menemukan hal terkecil yang mungkin layak untuk digunakan kembali di seluruh situs ... mungkin salah ketik nama CEO ... seberapa cepat Anda bisa beralih dari panggilan telepon panik ke situs yang dikerahkan? Saya mengatakan 'kesombongan' karena itu sebenarnya tidak terlalu prediktif melebihi apa yang dibahas oleh metrik lain di atas, tetapi membuat saya merasa baik ketika saya menyukai nilainya.

Jika kita memantau, ada banyak hal berbeda yang dapat kita lacak ... dari hal-hal yang mencakup semuanya seperti ' Uptime ', hingga hal-hal tingkat sangat rendah seperti waktu yang dihabiskan untuk membuat ulang HTML khusus pada siklus permintaan-respons ... tetapi itu tidak spesifik untuk melembagakan budaya DevOps.

Ini tidak langsung mengikat ke dolar ... melakukan hal itu akan membutuhkan lebih banyak pengetahuan tentang org Anda daripada yang bisa saya tawarkan di forum seperti ini; tetapi mereka adalah kunci untuk MEMULAI untuk menjawab pertanyaan itu. Setelah Anda tahu bahwa Anda dapat secara teratur melepaskan pekerjaan ke produksi sebagai bukan acara, Anda dapat mulai melihat berapa banyak usaha yang Anda buang sebelumnya. Seperti buku "The Goal" ajarkan (tentang pembuatan pipa - itu relevan), mengoptimalkan secara lokal dapat terlihat seperti Anda menghemat uang, tetapi pada akhirnya, itu hanya menciptakan nilai yang terikat dalam inventaris (fitur yang tidak dipekerjakan).

Di luar saran ini, Anda harus melihat Laporan State Of DevOps selama beberapa tahun terakhir. Ini penuh dengan pengukuran tentang proyek dunia nyata yang bisa Anda tiru.

David Bock
sumber
8

Kapten jelas: dengan mengurangi waktu ke pasar dan cacat pada rilis.

Untuk memperluas liner yang satu ini, perangkap yang biasa terjadi adalah perubahan organisasi tanpa referensi.

Melibatkan perubahan budaya atau organisasi menyiratkan beberapa biaya untuk melatih dan memperkenalkan orang pada metode baru ini, ini memerlukan biaya dalam pelatihan tetapi juga menyiratkan hilangnya produktivitas karena orang-orang dalam sesi kereta tidak akan menghasilkan apa-apa. Ini adalah bagian investasi dari perubahan budaya.

Untuk mengukur ROI, Anda harus terlebih dahulu menemukan beberapa metrik yang relevan yang harus ditingkatkan (pahami mahal, baik mahal atau sumber hilangnya laba). Ini bisa menjadi waktu yang lebih singkat untuk memasarkan, lebih sedikit tambalan setelah setiap rilis, keterlibatan pelanggan yang lebih baik dalam produk Anda. Metrik yang relevan akan sangat tergantung pada produk Anda.

Mengukur ROI (seberapa cepat Anda telah menutupi biaya pelatihan) menyiratkan bahwa Anda secara faktual dapat menyajikan evolusi pada metrik tersebut, jadi sebelum melakukan perubahan apa pun, Anda harus menentukan metrik tersebut dan mengukurnya dengan cara yang objektif.
Setelah Anda memiliki evolusi nyata untuk ditampilkan, Anda dapat mengetahui apakah Anda memang meningkatkan sesuatu dengan cara yang telah menutupi biaya pelatihan dan menjadi lebih menguntungkan daripada sebelumnya.

Perangkap yang biasa adalah melibatkan perubahan sebelum menetapkan metrik apa pun dan dengan demikian mengevaluasi ROI pada perasaan dan bukan pada data faktual.

Produktivitas dapat berupa metrik, tetapi pengukurannya biasanya sangat sulit dilakukan secara objektif dan tidak boleh menjadi metrik kelas satu untuk jenis studi ini.

Tensibai
sumber
1

Terlambat ke permainan di sini, tetapi pikir saya akan berpadu

Anda tidak dapat mengelola apa yang tidak Anda ukur, jadi sebagai permulaan, berikut adalah metrik kunci yang harus dilacak oleh tim yang diikuti oleh respons kejadian:

  • Uptime% : total% dari waktu yang tersedia = [total waktu - downtime] / [total waktu]
  • MTTR : waktu rata-rata untuk resolusi = [downtime] / [# insiden]
  • MTTA : berarti waktu untuk mengakui = [total waktu untuk mengakui] / [# insiden]
  • MTBF : rata-rata waktu antara kegagalan = [total waktu - downtime] / [# insiden]

Metrik ini memberi Anda pemeriksaan kesehatan tingkat tinggi dari operasi Anda, dan membantu Anda mengidentifikasi di mana Anda perlu menggali lebih jauh.

Lihatlah animasi papan tulis di sini untuk melihat topik yang lebih mendalam.

Setelah mengetahui metrik Anda, Anda dapat menabraknya dengan biaya waktu henti . Anda dapat mulai membangun ROI tim Anda dari sana dan menetapkan beberapa metrik kuantitatif untuk peningkatan berkelanjutan.

Yuan Cheng
sumber
Itu adalah metrik keandalan, yang terkait dengan DevOps tetapi tidak cukup. Keandalan hanyalah satu aspek dari DevOps.
Phil
Terima kasih @Phil. Itu poin yang bagus - ini memang metrik yang berfokus pada keandalan, yang merupakan bagian penting dari DevOps, tetapi tentu saja tidak semuanya. Semoga tetap di atas keandalan adalah titik awal yang baik, tetapi jangan berhenti di situ!
Yuan Cheng