Mengurus pasukan pembangunan perisian bukanlah sesuatu yang bermakna. Sehingga mereka membawa projek itu ke garisan penamat, seorang pengurus projek kejuruteraan tidak boleh berehat. Itulah sebabnya pengurus kejuruteraan perisian mencari cara untuk meningkatkan prestasi projek mereka serta pasukan mereka. Dan, di situlah perkara seperti Kpi datang dalam penyamaran Tuhan.
KPI adalah seperti penjejak kecergasan pasukan anda -- ia membantu anda melihat di mana keadaan berfungsi dengan lancar dan di mana anda mungkin perlu mengetatkan skru. Tetapi dengan berjuta-juta KPI di luar sana, yang manakah perlu anda ambil berat sebenarnya? Mari pecahkan 15 teratas yang akan menjadikan anda kelihatan seperti pengurus pasukan perisian rockstar dan beberapa yang mungkin anda mahu buang.
KPI bukan sekadar nombor pada skrin -- ia adalah peta jalan anda untuk membuat keputusan yang lebih baik. Dengan menjejaki metrik yang betul, anda boleh mengenal pasti di mana pasukan anda cemerlang dan di mana terdapat ruang untuk penambahbaikan. Ia seperti mempunyai bola kristal yang membantu anda meramalkan garis masa projek, keperluan sumber dan potensi sekatan jalan.
Bayangkan anda berada dalam perlumbaan, tetapi bukannya kereta mengezum di sekeliling trek, pasukan anda berlumba untuk menyelesaikan tugasan dalam pecut.
Persoalannya ialah: berapa pantas mereka boleh pergi dari garisan permulaan ("to-do") ke garisan penamat ("selesai")?
Di situlah Masa Kitaran masuk -- jam randik yang memberitahu anda betapa cepatnya pasukan anda menyiapkan sesuatu.
Masa Kitaran adalah mengenai kelajuan, tetapi ia bukan hanya tentang berjalan pantas untuk kepentingannya.
Ini mengenai kecekapan dan mengetahui di mana kelembapan berlaku. Secara purata, pasukan berprestasi tinggi mempunyai Masa Kitaran kira-kira 1.8 hingga 3.4 hari setiap tugas.
Jika ia mengambil masa yang lebih lama, mungkin sudah tiba masanya untuk melihat di bawah hud dan melihat apa yang menyebabkan kelewatan -- mungkin ia adalah kesesakan proses, terlalu banyak tugasan atau hanya hutang teknikal lama.
Katakan pasukan anda sedang mengusahakan ciri baharu untuk apl mudah alih. Tugasan beralih daripada tunggakan kepada "sedang berjalan" pada pagi Isnin. Pasukan pembangun anda mula mengekod, menguji dan menolak komit, dan menjelang petang Rabu, tugasan selesai dan ditandai "selesai." Itu adalah Masa Kitaran selama 3 hari.
Sekarang, katakan satu lagi tugasan menemui halangan -- mungkin semakan kod mengambil masa selama-lamanya, atau terdapat pergantungan yang menahan keadaan. Jika tugasan itu berlarutan selama 7 atau 10 hari, itu tandanya ada sesuatu yang tidak betul.
Di sinilah keajaiban berlaku: Dengan menjejaki Masa Kitaran, anda boleh mencari corak.
Mungkin pasukan anda sangat pantas dalam beberapa tugasan tetapi tersangkut pada tugas yang lain. Dengan cerapan ini, anda boleh menyelami butiran khusus dan memikirkan cara menyelaraskan proses. Mungkin ia semudah mengubah proses semakan kod atau mengutamakan tugas secara berbeza.
Matlamat? Untuk mengurangkan Masa Kitaran, jadi pasukan anda secara konsisten menyelesaikan tugas seperti profesional.
Dan apabila itu berlaku, anda bukan sahaja bergerak pantas -- anda bergerak dengan bijak.
Mengenai kod, ini bukan tentang menulis banyak perkara -- ini tentang memastikan perkara yang anda tulis benar-benar berfungsi. Di situlah Liputan Kod bermain.
Fikirkan Liputan Kod sebagai pemeriksaan kesihatan kod anda.
Ia memberitahu anda berapa banyak pangkalan kod anda sedang diuji, jadi anda tahu anda menangkap pepijat licik itu sebelum ia menjadi masalah.
Dalam dunia pembangunan perisian, penanda aras yang baik untuk Liputan Kod ialah sekitar 70-80%. Jika anda berjaya melakukannya, anda melakukannya dengan baik.
Tetapi ingat, kesempurnaan bukanlah matlamat di sini -- liputan 100% seperti cuba menangkap setiap butiran pasir di pantai.
Sebaliknya, fokus pada memastikan bahagian kritikal kod anda dilindungi.
Bayangkan anda sedang membina ciri baharu untuk tapak e-dagang -- katakan itu troli beli-belah.
Anda telah menulis kod yang menambahkan item pada troli, mengira jumlah dan memproses pembayaran. Sekarang, anda ingin memastikan semua ini berfungsi sebelum pelanggan mula menggunakannya.
Anda menulis ujian untuk setiap bahagian:
Menambahkan item pada troli -- Anda menguji untuk melihat sama ada item ditambahkan dengan betul.
Mengira jumlah -- Anda menyemak sama ada matematik itu betul apabila seseorang menambah berbilang item.
Memproses pembayaran -- Anda menguji gerbang pembayaran untuk memastikan transaksi berjalan dengan lancar.
Jika ujian anda merangkumi semua senario ini, dan ia berjalan tanpa ralat, anda mempunyai Liputan Kod yang kukuh. Tetapi jika anda melangkau ujian proses pembayaran (mungkin kerana ia rumit atau memerlukan masa tambahan), anda membiarkan bahagian kritikal kod anda tidak diuji -- seperti membiarkan pintu anda tidak berkunci pada waktu malam.
Dengan memerhatikan Liputan Kod, anda memastikan kebanyakan kod anda sedang diuji, yang mengurangkan peluang pepijat menyelinap ke dalam pengeluaran. Ini semua tentang menangani isu lebih awal, supaya ia tidak menjadi aduan pelanggan di kemudian hari.
Gambar ini: pasukan pembangun anda terus menulis semula potongan kod yang sama berulang kali. Daripada berlari ke arah kemajuan, mereka tersangkut pada roda hamster, pergi dalam bulatan tanpa benar-benar bergerak ke hadapan. Itulah Code Rework sedang beraksi dan ini adalah petanda bahawa ada sesuatu yang tidak berfungsi.
Sebaik-baiknya, pasukan anda harus meluangkan lebih banyak masa membina ciri baharu dan kurang masa untuk membuat semula perkara yang telah dilakukan. Terlalu banyak Kerja Semula Kod boleh menjadi pembunuh produktiviti.
Malah, kajian menunjukkan bahawa kerja semula yang kerap boleh menghabiskan sehingga 40% masa pembangun -- masa yang boleh digunakan dengan lebih baik untuk inovasi.
Fikirkan Kadar Kegagalan Tukar (CFR) sebagai "pepijat-o-meter" pasukan pembangun anda. Ia mengukur kekerapan perubahan kod anda akhirnya merosakkan barangan. CFR yang tinggi adalah seperti bot bocor---anda sentiasa menahan air (membetulkan pepijat) dan bukannya belayar dengan lancar (membina ciri baharu yang menarik).
Dalam dunia yang ideal, setiap perubahan yang anda buat pada pangkalan kod akan berfungsi dengan sempurna. Tetapi pada hakikatnya, perkara itu pecah. Menurut Laporan Accelerate State of DevOps, purata industri untuk CFR adalah sekitar 16-30%, bermakna daripada setiap 10 perubahan, 1 hingga 3 mungkin menyebabkan gangguan. Jika CFR anda merayap di atas itu, ini menandakan kod anda memerlukan lebih banyak TLC sebelum mencapai pengeluaran.
Katakanlah pasukan anda melancarkan ciri baharu dan serta-merta, pengguna mula melaporkan ranap sistem. Anda menyelidiki data dan menyedari bahawa 40% daripada penggunaan terbaharu anda membawa kepada isu. Aduh! CFR yang tinggi itu bermakna pasukan anda akan menghabiskan lebih banyak masa melawan pepijat dan kurang masa untuk berinovasi.
Matlamat? Kurangkan CFR anda dengan memperbaik ujian dan semakan kod, supaya anda boleh meluangkan lebih banyak masa membina perkara besar seterusnya dan kurang masa membetulkan perkara yang telah dihantar.
Nisbah Pengesanan Kecacatan (DDR) seperti kad skor penangkap pepijat anda---ia memberitahu anda berapa banyak pepijat yang anda tangkap sebelum kod itu menyerang liar berbanding berapa banyak yang tergelincir selepas pelancaran. Lebih tinggi DDR anda, lebih baik permainan ujian anda. Tetapi jika lebih banyak pepijat menyelinap melepasi anda dan muncul dalam pengeluaran, sudah tiba masanya untuk menajamkan alatan ujian anda.
DDR yang baik menunjukkan bahawa proses ujian anda kukuh, biasanya menyasarkan 85% atau lebih pepijat yang ditangkap sebelum dikeluarkan. Jika DDR anda rendah, ia seperti kehilangan sekumpulan bendera merah, hanya untuk mengetahui kemudian apabila pengguna mula merungut.
Bayangkan anda mengeluarkan kemas kini apl baharu. Semasa ujian, anda menangkap 8 pepijat, tetapi selepas pelancaran, pengguna melaporkan 5 lagi. Itu memberi anda DDR 8/13, atau kira-kira 62%. Tidak hebat. Ini bermakna ujian anda terlepas hampir 40% daripada pepijat, yang merupakan petanda yang jelas sudah tiba masanya untuk mempertingkatkan semakan prakeluaran anda.
Untuk meningkatkan DDR anda, pertimbangkan untuk menambah baik ujian automatik, mendapatkan semakan kod yang lebih teliti, atau menjalankan lebih banyak ujian penerimaan pengguna sebelum pelancaran besar. Lebih baik DDR anda, lebih gembira pengguna anda---dan lebih sedikit detik "uh-oh" selepas pelancaran!
Kadar Pepijat mengukur kekerapan pepijat menjengkelkan itu muncul dalam kod anda. Kadar pepijat yang tinggi boleh menjadi bendera merah yang besar, menandakan bahawa kod sama ada sedang tergesa-gesa keluar dari pintu atau ditulis oleh seseorang yang masih mempelajari tali. Data industri menunjukkan bahawa pasukan berpengalaman biasanya menyasarkan kurang daripada 10 pepijat setiap 1,000 baris kod.
Pasukan anda melancarkan ciri baharu dan dalam beberapa jam, 15 pepijat dilaporkan. Jika anda kerap melihat perkara sebegini, ini adalah tanda bahawa semakan atau ujian kod memerlukan lebih perhatian---atau pembangun anda mungkin memerlukan lebih banyak masa untuk melakukannya dengan betul.
MTTR adalah mengenai seberapa cepat pasukan anda boleh bangkit semula selepas ranap sistem.
Ia ialah jam randik pemulihan bencana anda, menunjukkan betapa pantas anda boleh bangkit daripada kekacauan. Sebaik-baiknya, anda mahukan MTTR yang rendah---fikirkan minit, bukan jam.
Tapak web anda ranap pada pukul 2 petang dan pasukan anda mengembalikannya dalam talian pada pukul 2:15 petang. Itu MTTR selama 15 minit. Jika biasanya pasukan anda mengambil masa sejam untuk pulih, mungkin sudah tiba masanya untuk memperhalusi pelan tindak balas insiden anda.
Halaju mengukur jumlah kerja yang dilakukan oleh pasukan anda semasa pecut. Ia adalah pengukur produktiviti anda, tetapi jangan lupa---ia tidak selalunya epal kepada epal merentas pasukan yang berbeza. Apa yang penting ialah menjejaki cara halaju anda berubah mengikut masa, bukan sekadar membandingkan nombor.
Pecutan terakhir, pasukan anda melengkapkan 50 mata cerita. Pecutan ini, mereka menamatkan 55. Halaju yang lebih tinggi mungkin bermakna pasukan anda semakin sukar---atau ini mungkin bermakna mereka mengambil tugas yang lebih mudah. Pantau konsistensi di sini.
Aliran Terkumpul menunjukkan kepada anda tempat tugasan terkumpul dalam aliran kerja anda.
Anggap ia sebagai laporan trafik untuk projek anda---jika tugasan terperangkap dalam satu peringkat terlalu lama, anda akan menghadapi masalah.
Anda melihat sekumpulan tugasan berlarutan dalam "semakan kod" manakala yang lain bergerak dengan lancar. Ini mungkin bermakna anda memerlukan lebih ramai penyemak atau kriteria yang ditakrifkan dengan lebih baik untuk memastikan perkara itu bergerak.
Kekerapan Deployment menjejaki kekerapan pasukan anda menolak kod ke dalam pengeluaran. Penggunaan yang lebih kerap secara amnya bermakna pasukan anda tangkas dan boleh menyesuaikan diri---cuma pastikan anda tidak mengorbankan kualiti untuk kelajuan.
Pasukan anda menggunakan kemas kini dua kali seminggu. Itu bagus jika kemas kini itu kukuh, tetapi jika setiap penggunaan membawa kepada pepijat, mungkin sudah tiba masanya untuk mendailnya kembali dan fokus pada kualiti.
Masa Gilir mengukur berapa lama tugasan berada dalam keadaan menunggu, seperti apabila tugasan itu tersekat dalam longgokan "tugasan". Masa beratur panjang boleh menandakan ketidakcekapan dalam proses anda, seperti terlalu sedikit ahli pasukan mengendalikan terlalu banyak tugas.
Jika tugasan menunggu berhari-hari menunggu kelulusan QA, ini adalah tanda bahawa sama ada pasukan QA memerlukan bantuan atau kriteria untuk menggerakkan tugasan ke hadapan perlu diperkemas.
Kadar Penyiapan Skop memberitahu anda berapa banyak kerja yang dirancang oleh pasukan anda untuk dilakukan sebenarnya dapat dilakukan. Jika pasukan anda kerap meninggalkan tugasan yang belum selesai, ini mungkin bermakna mereka menggigit lebih daripada yang mereka boleh kunyah.
Pasukan anda merancang untuk menyelesaikan 20 tugasan pecut ini tetapi hanya menamatkan 15. Kadar penyelesaian skop yang rendah seperti ini mungkin menunjukkan bahawa pasukan anda perlu menetapkan matlamat yang lebih realistik atau mengurus masa mereka dengan lebih baik.
Skop Ditambah menjejaki kekerapan tugasan baharu ditambah selepas pecut bermula. Kadar yang tinggi di sini boleh menjadi tanda perancangan yang lemah atau, lebih teruk lagi, skop yang merayap---apabila matlamat projek anda terus berkembang tanpa melaraskan garis masa atau sumber.
Anda memulakan larian pecut dengan 10 tugasan, tetapi pada akhirnya, anda telah menambah 5 lagi. Itu ialah peningkatan skop sebanyak 50%, yang mungkin bermakna pasukan anda tidak memberikan skop kerja dengan cukup teliti semasa perancangan.
Masa Lead mengukur jumlah masa dari apabila tugasan dibuat hingga apabila tugas itu selesai. Ia seperti perjalanan penuh dari idea kepada pelaksanaan. Masa pendahuluan yang lebih pendek biasanya bermakna pasukan anda cekap, manakala yang lebih lama mungkin menandakan kelewatan atau kesesakan dalam proses anda.
Permintaan ciri masuk dan ia mengambil masa dua minggu untuk beralih dari konsep kepada penggunaan. Jika tugasan serupa biasanya mengambil masa seminggu, sudah tiba masanya untuk menyiasat perkara yang melambatkan keadaan---mungkin terdapat kelewatan kelulusan atau terlalu banyak penyerahan antara pasukan.
Baca juga: Masa Utama untuk Perubahan: Menyelam Lebih Dalam ke Metrik DORA & Kesannya terhadap Penghantaran Perisian
Kadar Churn menjejaki kekerapan kod anda ditulis semula atau berubah dengan ketara sejurus selepas ia ditulis. Pukulan yang tinggi boleh menjadi petanda bahawa pendekatan awal anda tidak betul atau keperluan terlalu banyak berubah.
Pasukan anda menulis ciri, dan dalam masa seminggu, mereka perlu menulis semula separuh daripada ciri tersebut kerana pelaksanaan awal tidak memenuhi keperluan. Jika ini terus berlaku, ini adalah petanda bahawa lebih banyak masa harus diluangkan untuk merancang atau keperluan perlu lebih jelas dari awal.
Tertanya-tanya KPI mana yang patut diberi perhatian anda? Fokus pada yang memberi anda gambaran penuh tentang prestasi dan kemajuan pasukan anda. Nantikan:
Kecekapan Pengekodan: Seberapa pantas dan lancar kod anda mengalir daripada "Hei, saya menulis ini!" kepada "Wah, berkesan!"
Metrik Kerjasama: Sejauh mana pasukan anda bermain secara segerak---seperti pancaragam yang telah dilatih dengan baik atau pasukan renang yang disegerakkan.
Metrik Kebolehramalan: Sejauh mana anda boleh meramalkan hasil projek dengan tepat, menjadikan ramalan anda boleh dipercayai seperti apl cuaca (tetapi lebih tepat!).
Metrik Kebolehpercayaan: Sejauh mana kod anda kukuh dan sejauh mana ujian anda menangkap pepijat licik tersebut sebelum ia menjadi penghalang.
KPI ini membantu anda mengelakkan kejutan dan memastikan projek anda berada di landasan yang betul. Anggap mereka sebagai perkara penting untuk kit alat kejayaan anda---tiada bulu, hanya perkara yang bagus!
Jadi, berikut ialah lowdownnya: KPI bukan sekadar nombor---ia adalah senjata rahsia anda untuk membuat keputusan yang bijak. Ia membantu anda menavigasi liku-liku produktiviti kejuruteraan anda seperti seorang profesional. Dan apabila anda menambah metrik DORA Middleware ke dalam campuran, anda mempunyai pasukan yang tiada tandingan. Middleware menyelesaikan tekaan dengan menjejaki metrik DORA dengan mudah seperti kekerapan penggunaan, masa petunjuk, kadar kegagalan perubahan dan masa untuk pemulihan.
Ia seperti mempunyai rakan sampingan peribadi yang mengawasi KPI anda dan memastikan anda sentiasa berada di landasan yang betul. Dengan Middleware, anda bukan sahaja bertindak balas terhadap masalah---anda menjangkakannya dan mengemudi pembangunan perisian anda ke arah kejayaan. Lihat repo sumber terbuka kami!
Pengurusan kejuruteraan sumber terbuka yang membuka potensi pembangun
Sertai Komuniti Sumber Terbuka kami
Perisian Tengah ialah alat sumber terbuka yang direka untuk membantu pemimpin kejuruteraan mengukur dan menganalisis keberkesanan pasukan mereka menggunakan metrik DORA. Metrik DORA ialah satu set empat nilai utama yang memberikan cerapan tentang prestasi penghantaran perisian dan kecekapan operasi.
Mereka ialah:
Jadual Kandungan
KPI pembangunan perisian (Petunjuk Prestasi Utama) ialah nilai boleh diukur yang digunakan untuk menilai keberkesanan dan kecekapan proses pembangunan, termasuk metrik seperti kualiti kod, kekerapan penggunaan dan masa petunjuk. KPI membantu dalam menilai kemajuan ke arah matlamat tertentu dan meningkatkan prestasi keseluruhan.
Untuk menjejak KPI, termasuk metrik DORA, gunakan Middleware untuk penjejakan prestasi komprehensif, bersama-sama dengan Jira untuk pengurusan projek dan GitHub untuk cerapan kod.
Atas ialah kandungan terperinci KPI Pembangunan Perisian Teratas Anda harus menjejaki dalam 5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!