Aylık arşivler: Mart 2016

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

Bölüm 3 : Benimseme ve Dönüşüm Hayatta Kalma Rehberi

Bölüm 3 : Benimseme ve Dönüşüm Hayatta Kalma Rehberi

Benimseme ve Dönüşümü Tanımlama

Benimseme bir ürüne yada sürece uygulanabilecek bir terimi ifade eder. Örneğin, “Microsoft Office yerine GoogleDocs’u benimsiyoruz” ya da “yeni bir tedarik süreci benimsiyoruz”.

 

“Çevikliği benimsiyoruz”, sıkça hatalı olarak kullanılır. Daha önce anlattığımız gibi Çeviklik bir anlayıştır ve kültürdür, kendiliğinden benimsenemez. Diğer taraftan, şu söylenebilir : “Scrum’ı benimsiyoruz” ya da “Çevik pratikleri benimsiyoruz”.

 

Dönüşüm, bir durumdan başka bir duruma geçmeyi anlatır. Bu, büyük birşeydir! Tıpkı tırtılın kelebeğe dönüşmesi gibi yada insanların işten zevk alabileceği bir ortam oluşturmak gibi.

Bölüm 3 : Benimseme ve Dönüşüm Hayatta Kalma Rehberi 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