İçeriğe geç
Yunus Emre SAK
Liderlik ve ekip4 dk okuma

Küçük bir yazılım ekibini yönetmek: roller, ritim ve kararlar

Beş kişilik bir ekip, elli kişilik bir şirketin küçültülmüş hâli değildir. Küçük yazılım ekiplerinde işi hızlandıran şey yeni araçlar değil; rollerin, haftalık ritmin ve kararların netliğidir.

İçindekiler6

Kariyerime SEO ve yazılım geliştirmeyle başladım; bugün hem bir ajans ekibini hem de bir ürün ekibini yönetiyorum. İki ekip de küçük. Bu yazıda, küçük bir yazılım ekibini yönetirken en çok işe yarayan şeyleri topladım. Hiçbiri yeni bir araç ya da yöntem adı değil; çoğu, kimin neye karar verdiğini yazıya dökmekle ilgili.

Küçük ekip neden ayrı bir yönetim ister?

Büyük şirketlerin süreçleri, çok sayıda insanın birbirini beklemeden çalışabilmesi için tasarlanır. Küçük ekipte sorun bunun tersidir: herkes her şeyi bilir gibi görünür, bu yüzden hiçbir şey yazılmaz. Ekip büyüdükçe ya da biri ayrıldığında, yazılmamış her şey bir anda görünür olur.

Küçük ekibin avantajı hızdır. Bu hızı korumanın yolu ağır süreçler eklemek değil, az sayıda ama net kural koymaktır. Bir de şunu kabul etmek gerekir: geciken bir işi kişi ekleyerek hızlandırmak çoğu zaman beklenen sonucu vermez.

Geciken bir yazılım projesine insan gücü eklemek, projeyi daha da geciktirir.

· Fred Brooks, The Mythical Man-Month (1975)

Önce rolleri, sonra kişileri tanımlayın

Küçük ekipte bir kişi aynı gün hem geliştirici hem test eden hem de müşteriyle konuşan olabilir. Bu normaldir. Sorun, bu şapkaların hangisinin kimde olduğunun bilinmemesidir. Ben rolleri kişi adıyla değil, sorumluluk ve karar alanıyla tanımlamayı tercih ediyorum.

Rol
Ürün sahibi
Sorumluluk
Neyin, hangi sırayla yapılacağını belirler
Son kararı verdiği konu
Öncelik ve kapsam
Rol
Teknik lider
Sorumluluk
Mimariyi ve kod kalitesini korur
Son kararı verdiği konu
Teknoloji seçimi ve teknik borç
Rol
Geliştirici
Sorumluluk
İşi tasarlar, yazar ve test eder
Son kararı verdiği konu
Görevin nasıl çözüleceği
Rol
Yayın sorumlusu
Sorumluluk
Yayını ve geri alma planını yönetir
Son kararı verdiği konu
Yayının çıkıp çıkmayacağı

Haftalık ritim: az toplantı, net çıktı

Toplantılar küçük ekibin en pahalı kaynağını, yani odaklanma süresini tüketir. Bu yüzden her toplantının tek bir yazılı çıktısı olsun. Çıktısı olmayan toplantı ya mesaja dönüşür ya da kaldırılır.

  1. Haftanın başında planlama: bu hafta biten ne olacak? Çıktı, kısa bir iş listesi.
  2. Her gün kısa durum paylaşımı: yazılı da olabilir. Çıktı, takılan işlerin listesi.
  3. Hafta ortasında demo: biten iş çalışırken gösterilir. Çıktı, kabul edilen ya da geri dönen işler.
  4. Hafta sonunda retrospektif: ne işe yaradı, ne yaramadı? Çıktı, en fazla iki değişiklik.

Retrospektifi kısaltmak için hazır prompt

Retrospektif notları dağınık olduğunda ilk yarım saat notları toparlamakla geçer. Aşağıdaki promptu, ekibin haftalık notlarını yapıştırarak bir yapay zeka asistanında kullanabilirsiniz. Çıktıyı karar olarak değil, tartışmanın başlangıç noktası olarak kullanın.

Haftalık retrospektif özeti
prompt
Bir yazılım ekibinin haftalık retrospektif notlarını aşağıya yapıştırıyorum.

Görevin:
1. Notları üç başlıkta topla: işe yarayanlar, yaramayanlar, belirsiz kalanlar.
2. Birden fazla kişinin dile getirdiği konuları işaretle.
3. Gelecek hafta denenebilecek en fazla iki somut değişiklik öner. Her öneri için kimin sorumlu olabileceğini ve nasıl ölçüleceğini yaz.
4. Kişileri suçlayan ifadeleri, süreçle ilgili ifadelere çevir.

Kısa ve madde madde yaz. Notlarda olmayan bir bilgiyi ekleme.

Notlar:
[notları buraya yapıştırın]

Kod inceleme ve yayın kimseye bağlı kalmasın

Küçük ekiplerde en sık gördüğüm darboğaz şudur: kod incelemeyi ve yayını yalnızca bir kişi yapabilir. O kişi toplantıdaysa ya da izindeyse ekip bekler. Bunun çözümü kişiyi değiştirmek değil, adımları yazmaktır.

  • Kod incelemede neye bakılacağını kısa bir kontrol listesine yazın.
  • Yayın adımlarını, ekibe yeni katılan birinin uygulayabileceği kadar açık yazın.
  • Her yayının bir geri alma yolu olsun ve bu yol en az bir kez denenmiş olsun.
  • Bir işi kimin incelediği değil, işin kontrol listesinden geçip geçmediği takip edilsin.

Kararları yazıya dökün

Hangi kütüphaneyi seçtik, neden bu özelliği erteledik, hangi müşteri isteğini reddettik? Bu soruların cevabı yazılı değilse, her yeni kişi aynı tartışmayı yeniden açar. Uzun belgeler yerine, her karar için birkaç satırlık bir kayıt yeterlidir: tarih, karar, gerekçe, kim verdi, ne zaman yeniden bakılacak.

sık sorulan sorular

Küçük bir yazılım ekibinde kaç kişi olmalı?

Sabit bir sayı yok. Ölçüt, herkesin işin tamamını görebilmesi ve günlük iletişimin ayrı bir yönetim işine dönüşmemesidir. Ekip bu noktayı aştığında ikiye bölmek genelde tek ekibi büyütmekten daha sağlıklıdır.

Küçük ekipte proje yönetim aracı şart mı?

Bir yerde işlerin listesi ve durumu görünür olmalı. Bunun hangi araçla yapıldığı ikinci plandadır; önemli olan herkesin aynı listeye bakmasıdır.

Teknik geçmişim yok, yazılım ekibini nasıl yönetirim?

Teknik kararları teknik lidere bırakıp öncelik ve kapsam kararlarına odaklanabilirsiniz. Rollerin ve karar alanlarının yazılı olması bu ayrımı mümkün kılar.

Ekibinizi sıfırdan kuruyor ya da var olan ekibi teslim eden bir yapıya çevirmek istiyorsanız, bu konuda birlikte çalışabiliriz.

İlgili yazılar

takip

Yeni yazılardan haberdar olun.

Yazılar yayımlandıkça RSS beslemesine düşer. LinkedIn'de de kısa notlar paylaşıyorum.