Yeniden İnşaatçı Olmak için Mühendislik Zihniyetimizi Değiştirmek

In: Social Media


2014’ten beri Buffer’da çalışıyorum ve katılmadan önce bile Buffer ekibinin ürün ve mühendislik kültüründen her zaman etkilenmiştim: iyileştirmeleri ne kadar hızlı teslim ettikleri ve herkesin kullanıcılara ne kadar yakın olduğu (mühendislerin bunlara yanıt verdiğini görmek alışılmadık bir durum değil). Twitter’daki yorumlar!).

Bu “yapabilirim” tavrını ilham verici ve bulaşıcı buldum ve işlerin bu şekilde tıklanması harika. Tabii ben katıldığımda 24 kişilik bir ekiptik; hepimiz birçok şapka taktık ve yöneticisi yoktu.

Büyüdükçe, bizi daha iyi desteklemek ve bu büyümeyi yönetmek için ekip yapılarının ve süreçlerinin oluşturulmasını benimsemeye başladık. Ancak elbette, hızı korurken işbirliğini ölçeklendirmek başlı başına bir sanattır ve sürtüşme noktaları ortaya çıkmaya başladı: projeler daha sık darboğazlara girecek ve ekipler birbirini bloke edecekti. Özellikleri yayınlamak daha uzun süreceğinden, oluşturmaya çalıştığımız şeyin teknik özelliklerini oluşturmak için daha fazla zaman harcayarak onları “doğru” hale getirmeye çalışırdık, ancak elbette, projeler ne kadar büyükse, onları teslim etmek o kadar uzun sürerdi.

Kendi kendini güçlendiren bir döngüde sıkışıp kaldık: Bir şeyi inşa etmek aylar sürerse, onu hızlı bir şekilde takip etmeyi ve yinelemeyi son derece zorlaştırıyordu çünkü katılmamız gereken başka önceliklerimiz de olacaktı! Bu, daha fazlasını ve daha iyisini yapma ihtiyacını pekiştirmeye ve “doğru olanı yapmak” için daha fazla baskı yaratmaya devam etti.

Geçen yıl, sevkiyatın o ilk günlerine sık sık geri dönmek için Buffer’daki belirli alışkanlıkları ve dinamikleri değiştirmek istediğimizi fark ettik: ne kadar düzenli sevkiyat yaparsak, bu değişiklikleri yönetmek o kadar kolay olur (çünkü daha küçüktürler). Gönderdiğimiz şey arızalansa bile daha güvenli hissettiriyor ve bu da ekibimiz için daha fazla psikolojik güvenlik sağlıyor. Açıktı: Yeniden inşaatçı olmak ve girişimci ruhumuzu ve eyleme geçmeme kültürümüzü benimsemek istiyorduk.

Oluşturucu modunu tanımlamamıza yardımcı olan metrikler

Oluşturucu modunda olduğumuzu nasıl anlayacağız? Daha hızlı hareket ettiğimizi, daha sık sevkiyat yaptığımızı ve müşterilerimizle olan geri bildirim döngülerimizi sıkılaştırdığımızı mı? Bu yolculukta bize rehberlik edecek bazı metrikler yardımcı olur: devir süresi, çekme isteği çıktısıve kusur oranı. İşte bu metriklerin ne anlama geldiği ve bunları nasıl ölçtüğümüzle ilgili bazı bağlamlar:

Devir süresi
Pazara sunma süremizi azaltmak istediğimizden, kullanıcılarımıza ne kadar hızlı ve ne sıklıkla değer sağladığımızı ölçmek istiyoruz. Döngü süresi bizim için bir özellik veya iyileştirme üzerinde çalışmaya başlamamız (bunun için kod tabanında yaptığımız ilk değişiklik) ile bir Çekme İsteği değişikliklerle birleştirilir ve üretime bırakılır.

Çekme isteği aktarım hızı
Çekme istekleri, yeni kod değişikliklerini üretimde çalışan mevcut kodla birleştirme sürecine başlamak için geliştiriciler olarak oluşturduğumuz eserlerdir.

Her çekme talebini değer sağlayan bir iş birimi olarak düşünebiliriz (örneğin, yeni bir özellik, bir hata düzeltmesi veya herhangi bir başka kod temeli iyileştirmesi). Bu nedenle, birleştirilen (ve üretime dağıtılan) toplam çekme isteği sayısı, teslim edilen değer için bir vekil olabilir.

kusur oranı
Tabii ki, müşterilerimize daha fazla kusur ve hata gönderdiğimiz anlamına geliyorsa, daha hızlı hareket etmek hiçbir şeyi iyileştirmez!

Hata oranı, yaptığımız kod değişikliklerinin kaçının geçmiş değişikliklerde ortaya çıkan hataları ele aldığını ölçtüğümüz bir kontrol metriği görevi görür.

Bu mühendislik zihniyet değişikliğini yönlendirmek için uyguladığımız dinamikler

Alışkanlıklar birey olarak kimliğimizi şekillendirmek için hayati öneme sahip olduğu gibi, bir şirket olarak zihniyetimizi ve kültürümüzü geliştirmek için de temeldir.

Neyi başarmak istediğimizi ve bunu nasıl ölçeceğimizi bilerek, onları benimserken, kurucular olarak kimliğimizi inşa etmemize yardımcı olacak yeni dinamikler hakkında düşünmeye başladık. Ayrıca, önümüze çıkan ve bir sonraki aşamaya geçmemizi engelleyen mevcut alışkanlıklara karşı da gözlerimizi açık tuttuk.

Müşteri mühendisliği günleri
Herhangi bir inşaatçı için çok önemli bir bileşen, müşterileriyle iletişim halinde olmaktır: müşterilerimizle doğrudan etkileşim kurmak, sordukları sorular, sahip oldukları ihtiyaçlar ve sistemlerimizde hissedilen acı noktaları hakkında fikir edinmenin anahtarıdır.

Müşteri mühendisliği günleri ile birlikte, her bir döngü için bir mühendis tahsis eden her mühendislik ekibimiz, gelen kutusundaki biletleri yanıtlayan ve birlikte hızlı kazançları sabitleyen bir gün için bir savunucuyla eşleştiriyor. Bu, mühendisler için müşteri savunucularımıza müşterilerimiz, özelliklerimiz ve ürünlerimiz hakkında sorular sormaları ve savunucuların deneyimlerini paylaşmaları ve bazı harika müşteri görüşleri sağlamaları için harika bir fırsat!

Engelleyici Çekme İsteklerini mümkün olduğunca kaldırma
Daha hızlı hareket etme kültürünü benimserken dikkatimi çeken ilk şeylerden biri, değişiklikleri üretime entegre etmeye yönelik inceleme süreciydi: bazı ekipler, bir değişikliği canlı olarak yayınlamadan önce başka bir geliştiricinin kodlarını gözden geçirmesini gerektiren zorunlu bir kurala sahip olacaktı. Endüstri karşılaştırmaları ve araştırmalar şaşırtıcı sonuçlar göstermiştir: kod değişiklikleri için onay süreçleri, yazılım teslim performansı ile ilişkili değildir.

Değişiklikler için ağ geçidini kaldırmak, sahipliği teşvik etmek ve insanları bir akış durumunda kalmaya teşvik etmek istiyoruz, bu nedenle ekipler varsayılandan Çekme İsteklerini açmak ve onay için beklemek için kaymaya başladı ve adı verilen karma bir yöntem kullanmaya başladı. “Gönder/Göster/Sor”:

  • Gemi sadece bu demek! İnceleme istemenize gerek yok, sadece değişikliği yapın ve üretime dağıtın.
  • Göstermek asenkron geri bildirim almak veya bazı yeni kalıpları ve öğrenmeleri ekiple paylaşmak, ancak üretime göndermeden önce onay almayı beklememek için harikadır.
  • Sormak birleştirmeden ve üretime göndermeden önce bir kod incelemesine ihtiyaç duyduğunuz geleneksel yaklaşımdır.

Farklı durumlar için alternatifler ve farklı yaklaşımlar olduğunun açık olması, ekiplerin hangi dengeyi tutturacaklarını anlayabilecekleri ve “gemiye” veya “göster”e daha fazla dürtebilecekleri zaman “sorma modunda” olup olmadıklarını görebilecekleri anlamına gelir.

Daha küçük çalışma
Tabii ki, sadece önceki antrenmanlara odaklansaydık, takımlardan daha fazla ve daha hızlı iş yapmalarını istiyormuşuz gibi gelirdi. Bu hedefler ve uygulamalar, ne kadar çalıştığımızı değil, nasıl çalıştığımızı sorgulamamız ve iyileştirmemiz içindir!

Bunu sağlamak için önemli bir bileşen ve daha yüksek performanslı bir ekip olmaya önemli bir katkıda bulunan, daha küçük çalışmak: Çalışmalarımızı, nadiren yayınlanan daha büyük, daha karmaşık projeler yerine hızlı geliştirmeye olanak tanıyan özelliklere ayrıştırırsak.

Bunun için mühendislik ekipleri, özellik döndürmelerin (ayrıca özellik geçişleri) hala geliştirilmekte olan yeni özellikleri, kullanıcı deneyimini olumsuz etkilemeden üretime dağıtmanın bir yolu olarak. Bu, birçok değişiklik içeren büyük sürümlerden kurtulur ve bunun yerine, bunları daha önce üretimde deneyimlemişken kullanıcılarımıza yeni özellikler sunabiliriz.

Herkesi etkileyen kırılma değişikliklerini uygulama riski büyük ölçüde azaldığından, daha küçük gruplar halinde çalışmak mühendislerimiz için daha fazla psikolojik güvenlik sağlar.

Mühendislik yöneticilerinin rolü de inşaatçı olmak için değişiyor
Mühendislik yöneticisinin farklı ekiplerdeki rolü öncelikle insan yönetimi, mühendis kariyer gelişimi ve çalışma yöntemlerini koordine etmeye odaklanmış olsa da, onların temel sorumluluğu, ürünümüzü ve ekiplerimizi şu şekilde oluşturarak ekiplerimizin değer sağlamasını sağlamaktır. hem ürün hem de teknik hedeflerimizle uyumludur.

Bu nedenle, bu inşaatçı zihniyetine gerçekten öncülük etmek için mühendislik yöneticilerimizin de inşaatçı olmaları gerekir! Mühendislik yöneticisinin rolünü yeniden tanımladık ve artık zamanlarının en az %25’ini ekipte uygulamalı olarak geçirmelerini hedefliyoruz. Bu “uygulamalı” birçok şekil alabilir, örneğin:

  • Yeni bir özellik lansmanı için veri analizine dalın.
  • Kritik olmayan görevler üzerinde çalışmak.
  • QA’ing yeni özellikler.
  • Müşterilerle etkileşim kurmak.

Bu, onlara daha da iyi bir bağlam ve ekiplerinin karşılaştığı teknik kararlar ve ödünleşimler hakkında fikir verir ve daha sık yayınlamak için hepimizin kendi yolumuzla katkıda bulunduğumuz ekip genelinde ortak bir sahiplenme duygusu yaratır.

Sonuçlar: İnşaatçı zihniyetini benimsedik mi?

Bu zihniyet değişikliği yolculuğuna 9 ay önce başladık ve ekipler arasında inanılmaz bir uyum yolu oldu: Son birkaç ayda sunduğumuz özellik ve iyileştirmelerin sayısı tüm bu değişikliklerin bir yansıması. Kendimize “bir sonraki şeyi nasıl daha erken ve daha kaliteli bir şekilde gönderebiliriz?” diye sorup duruyoruz. Biz hissetmek motivasyon ve enerjide bir değişiklik var.
Şimdi, bu gönderide daha önce paylaştığım metriklere geri dönersek, şunu görebiliriz:

  • Döngü süresi önemli ölçüde azaldı: 2021’de ortalama 94,8 saatten şimdiye kadar 2022’de 55 saate.
  • PR verimi arttı: Şimdiye kadar 2022’de dağıtılan 3687’ye kıyasla 2021’de 4155 Çekme İsteği dağıtıldı (H2 2021’den 1816 Çekme İsteği daha fazla!).
  • Kusur oranı düştü: 2021’de kusurları düzeltmek için harcanan zamanın yüzde 18’inden şimdiye kadar 2022’de yüzde 16’ya.

Bu, mühendislik ekibinin gerçekten daha hızlı ve daha sık yayın yaptığı ve kalitenin teslimat hızıyla çelişmediği anlamına geliyor.

Yılın ikinci yarısında tüm mühendislik ekibini çok daha fazla hızlandıracak bazı harika teknik projeler var, bu yüzden daha yeni başlıyoruz! Ekibinizin yaptığı, nakliye hızını artırmalarına ve müşterilerinize daha yakın olmalarına yardımcı olan herhangi bir alışkanlık var mı? İnşaatçı olma yolunda ilerlerken, öğrendiklerimizi paylaşmaya ve yol boyunca ilerlemeye devam edeceğim için heyecanlıyım.

Twitter’da bana ulaşmaktan çekinmeyin @msanromanv deneyimlerinizi paylaşmak için!



Bir cevap yazın

Ready to Grow Your Business?

We Serve our Clients’ Best Interests with the Best Marketing Solutions. Find out More

How Can We Help You?

Need to bounce off ideas for an upcoming project or digital campaign? Looking to transform your business with the implementation of full potential digital marketing?

For any career inquiries, please visit our careers page here.
[contact-form-7 404 "Bulunamadı"]