Etiket arşivi: Agile

Pair Programming Üzerine Eleştiriler

Pair Programming Üzerine Eleştiriler

Eş olma aslında mikro seviyede kodu gözden geçirmedir(Code Review).

Eşli Programlama’da amaç aslında bir akış oluşturmaktır. Akış derin düşünce durumudur. Birçok yazılım geliştirici akışı sadece yalnız ve sessizken yakalayabileceğini deneyimlemiştir. Bu nedenle biriyle iletişim halindeyken bu derin düşünce durumunun yakalanılamayacağı düşünülür. Aslında her iki eşte aynı konuya odaklanırsa bu mental durum yakalanabilir.

 

Eş olmadaki en zor durum Sürücü bir yazım hatası yaptığında dilini tutmaktır. Merak etmeyin büyük ihtimalle Sürücü’de yaptığı hatayı fark etti fakat oraya dönmesi birkaç saniyelik zaman alacaktır. Erkenden konuşmak akışı bozabilir.

Eş olmadanda aynı sonuçları elde edebilirim.

Eş olma yaratıcılık için bulunmaz bir ortam oluşturur. Yaratıcılık, zihinsel zeka gibi değildir. Yaratıcılık, iş birliği ve iletişim ile ortaya çıkar. Yaratıcılığın büyük çoğunluğu aslında sizin fikirlerinizin tekrar size anlatılmasıyla meydana gelir.

Pair Programming Üzerine Eleştiriler yazısına devam et

Pair Programming’in Faydaları Nelerdir?

Pair Programming’in Faydaları Nelerdir? Eşli Programlama’nın Faydaları Nelerdir?

Eşli Programlama aşağıdaki faydaları sağlar. Ne yazık ki Scrum gibi Eşli Programlama’nın faydaları da Eşli Programlama yapmaya başladıktan sonra anlaşılır. Yapmadığınız sürece bu faydaları zihninizde canlandıramazsınız. Bu nedenle faydalar gerçek değilmiş gibi görünebilir. İşin kötü tarafı faydası olmayacağını düşünmektir ve bu düşünceyi destekleyen -iki kişinin aynı servis üzerinde çalışması zaman kaybı ve çöptür- düşüncesinin çok daha somut görünmesidir.

  • Disiplini artırır. Eş olan partnerler genellikle “doğru şeyi yap” yaklaşımındadır. Bunu yaşadığım bir örnekle anlatmaya çalışacağım. Partnerler birbirlerinin dikkat dağınıklıklarını önleme eğiliminde olurlarsa Eşli Programlama’nın faydalarından yararlanabilirler. Birkaç hafta önce Takım arkadaşımla Günlük Scrum-Daily Scrum- sonrası oturduk ve yukarıda bahsettiğim servisleri yazmaya devam ettik. Sabah Sürücü koltuğuna oturan arkadaşımdı ve nedenini bilmediğim şeylerden ötürü dikkatinin çok kolay dağıldığının ve normalde yapmayacağı hataları yaptığının farkındaydım. Burada Gözlemci’nin yaklaşımının çok önemli olduğunu biliyordum. İlk önce daha fazla hata yapmasını engellemek için yaptığı birkaç hatayı gösterdim. Aklının çok çabuk dağıldığını oda söyledi. O zaman isterse onu yalnız bırakabileceğimi ya da kısa bir ara verip yazmaya devam edebileceğimizi söyledim. Biraz sohbet ederek o an yaptığımız işten uzaklaştık, bu süre en fazla 10-15 dakikaydı. Biraz gülüp, eğlendikten sonra tazelenmiş kafayla oturduk ve konstrasyonumuz bozulmadan yazmaya devam ettik.

Pair Programming’in Faydaları Nelerdir? yazısına devam et

Pair Programming Nedir? Eşli Programlama Nedir?

Pair Programming Nedir? Eşli Programlama Nedir?

Bu makalede Pair Programming Nedir konusunu anlatmaya çalışacağım. Yöneticilerin büyük çoğunluğu yazılım geliştiricileri nadir birer kaynak gibi görür. Onlar için bir parça kodu iki kişi yazmak çöp (israf) yaratır ve buna izin vermezler.

Yazılım geliştirme -eskiden beri- tek başına yapılması gereken bir iş olarak öğretildi ve insanlar hep tek başlarına kod yazdı.

Birçok deneyimli yazılım geliştirici bir başkasıyla kod yazmaya hevesli değildir. Bazı deneyimli yazılım geliştiriciler kodlarının “kişisel” -özel, başkasına kapalı olan- olduğunu ya da başkasının onları yavaşlatacağını söyler.

Bazı deneyimli yazılım geliştiriciler bir partner ile çalışmanın çalışma sürelerini uzatacağını söyler. Başka deneyimli yazılım geliştiricilerse biriyle beraber çalışmanın kodlarında problemlere neden olabileceğini söyler.

Şimdi sizlere Pair Programming’i anlatacağım. Yukarıda söylenenlerin ne kadar yanlış olduklarını ispatlamaya çalışırken aşağıdaki konulara değineceğim ve bunu elimden geldiğince kolay anlaşılabilir bir şekilde yapmaya çalışacağım.

  • Eşli Programlama Nedir?
  • Faydaları
  • Eş Olma Varyasyonları
  • Uzaktan Eşli Programlama Nedir?
  • Eleştiriler

Pair Programming Nedir? Eşli Programlama Nedir? yazısına devam et

Çevik Bildiri ve Scrum’ı Görmezden Gelme

Çevik Bildiri ve Scrum’ı Görmezden Gelme

Yapılan şeyler kadar yapılmayan şeylerde önemlidir. Zihniyet yada kültürde bir değişimi öneren yada bunun için teşvik eden şeyleri görmezden gelmek önemlidir. Neden? Deneyimlerime göre, Çevik Pratikleri benimserken Çevik Bildiri, kafa karıştırıcı, şaşırtıcı ve zihniyette bir değişikliği tartışmayı tehlikeye atıyor. Örneğin, bir yazılım grubu dünyanın farklı yerlerine dağılmışken yüksek işbirliğine odaklanarak faydalarını anlatmak pek yararlı değil.

 

Daha önceden konuştuğumuz gibi, Çevik Bildiri belirli değerlerin net bir şekilde ifadesidir. Bu değerler belirli bir kültürü şekillendirmeyi amaçlar. Böyle olunca Çevik Pratikleri benimserken bu değerlerden bahsetmemek yada onları ulaşılması gereken bir amaç olarak görstermemek iyi bir fikirdir. En iyi ihtimalde dönüşüm sadece bu değerlerle ilgili değil ve en kötü ihtimalle çalışanların davranışlarında sürtüşmeye yol açan değişikliklere neden olacaklardır. Ancak yönetim takımıyla kültür hakkında konuşurken bu değerler ve ilkelerden bahsetmek gerekebilir. Böylece yönetim takımı benimseme ve dönüşüm hakkında bilinçli bir şekilde karar verebilirler.

Çevik Bildiri ve Scrum’ı Görmezden Gelme yazısına devam et

Kültür ile Çalışmak

Kültür ile Çalışmak

Aşağıdaki diyagram Çeviklik, Kanban ve Ustalık ilkelerinin farklı kültürler ile nasıl örtüştüklerini gösterir. Şekil, her biri için önceki bölümlerde yaptığımız analizlere dayanarak dominant kültürü gösterir.

Kültür ile çalışmak
Kültür ile çalışmak

Diyagram hangi yaklaşımı kullanırsanız şirketinizde gelişecek dominant kültürü belirlemenizde bir klavuz olarak kullanılabilir.

  • Kontrol Kültürüne, Kanban öncülük eder
  • Yetkinlik Kültürüne, Yazılım Ustalığı öncülük eder
  • İşbirliği ya da Usta-Çıraklık Kültürüne, organizasyon kültürü ile aynı çizgide bulunan Çevik yaklaşımlar öncülük eder. Örneğin; Usta-Çıraklık kültürü için Vizyon ve Retrospektif

Organizasyonel kültür farklı açılardan düşünülmeden bu rehberin kullanılması amaçlanmamıştır.

Elbette birçok okur, organizasyon kültürünün Kontrol’den İşbirliğine, Usta-Çırak ve Yetkinliğe  değişimin nasıl olacağıyla ilgileniyor olabilir. Bu, dönüşüm bölümünde detaylı bir şekilde anlatılmıştır. Kültür ile Çalışmak yazısına devam et