Organizasyonel Değişim

Yazılım camiasında son zamanlarda dikkat çeken bir değişim furyası var. Cevabı aranan soru şu: Yazılım ekibi nasıl daha verimli hale getirilebilir? Bu aslında organizasyonel bir değişimin gerekli olduğu bilincinin oluştuğu anlamına geliyor. Yöneticiler ekiplerini daha çevik hale getirmek için çeşitli yöntemlere başvuruyorlar. Bunların başında örneğin ekibin topluca eğitilmesi geliyor.

Her eğitim şüphesiz ekibe ve bireylerine bir şeyler katıyor. Ama bunu ölçmek çok zor. Bunun yanı sıra cevaplanması gereken bir soru daha var: Eğitim ile istenilen değişiklik sağlanabilir mi?

Alınan eğitimler değişimin sadece başlangıcı niteliğinde olabilir. Bunu yeni bir dil öğrenme süreci ile kıyaslayabiliriz. Öğrenilen her yeni kelime, kelime hazinesini genişletir. Pratik yapılarak kullanılmayan bir kelime hazinesi hiçbir şey ifade etmez ve değeri yoktur. Yazılım ekiplerinin tükettikleri eğitimler genelde sahip oldukları metot hazinelerini genişletmekle birlikte, bu metot hazinesinin günlük işlerde pratiğe dökülmemesi istenilen değişimi sağlayamamaktadır. Değişime gitme çabalarının son bulduğu nokta burasıdır.

Değişim yönetilmesi gereken bir süreçtir. Tesadüflere ve ekibin inisiyatifine bırakılabilecek bir şey değildir. Bir yazılım ekibi rasyonel düşünebilen, soyutlayabilen, problem çözme yetisi gelişmiş bireylerden oluşabilir. Ama unutmamak gerekir ki ekibi oluşturan bireylerin kendilerine has alışkanlıkları vardır. Değişim için gerekli baskı azaldığında ya da ortadan kalktığında bireyler bu alışkanlıklarına geri dönerler. “Ekip belli bir eğitimi aldıktan sonra artık çalışmalarını bu yönde adapte edecektir, dışarıdan müdahale etmeye gerek yok” şeklinde düşünmek bir yanılgıdır. Bu şekilde ekibin inisiyatifine bırakılan değişim süreci başladığı gibi son bulur.

Bunun örneklerini danışmanlık hizmeti verdiğim şirketlerde gördüm. Örneğin bir defasında yazılım sürecini daha çevik hale getirmek için ekibin test güdümlü yazılım eğitimi alması tavsiyesinde bulundum. Ekip gerekli eğitimi aldı. Ekip içinde test yazma duyarlılığı arttı, lakin ekibin hiç bir bireyi gerçek anlamda test güdümlü yazılım yapmadı. Kısa bir zaman sonra yazılımcılar eski davranış biçimlerine geri döndüler. Şimdi yine eskiden olduğu gibi kod yazıyorlar. İstenilen değişimin gerçekleşebilmesi için şu adımların atılması gerekir(di):

  • Değişim bir süreç olarak algılanmalı ve buna göre de yönetilmelidir. Bu birilerinin süreç gidişatından sorumlu olması anlamına gelmektedir. Değişikliğin meydana gelmesinden sorumlu olan bu şahıs ekipten gerekli geri bildirimi alarak, değişikliğin hangi safhada olduğunu takip etmek zorundadır. Bu geri bildirim alınması gereken önlemlerin tespiti ve planlanması açısından önem taşımaktadır.
  • Değişimin gerçekleşmesi için ekip içinde değişimin yaşanması gerekir. Ekip liderinin alınan eğitim sonrasında kazanılan yeni yetilerin uygulanmasını teşvik ve kontrol etmesi gerekir. Kendisi takım arkadaşlarına iyi bir örnek olarak, değişimi yaşadığı sinyalini vermelidir. Körle oturan, şaşı kalkar misali, ekip bireyleri liderlerini takip edip, değişimin vücut bulmasını sağlayacaklardır.
  • Ekip içinde bilgi ve becerilerin hızlı ve eşit bir şekilde dağılmasının en kolay şekli programcıları eşli programlama yapmasıdır. Eşli programlama programcıların kendilerini ve karşılıklı birbirlerini kontrol etmelerini mümkün kılar.
  • Değişimi getirecek sürecin doğru işleyip, işlemediğini kontrol etmek için ekip dışından destek alınmalıdır. Belli aralıklarla uzman bir koç gidişatın doğru olup, olmadığını kontrol edip, gerekli rota düzenlemesini yapabilir. Süreç tıkandığında da koç oluşan düğümleri çözecek ve değişime giden sürecin önünü açacaktır.
  • Değişim sürecinin tamamen durduğu anlardan birisi programcıların kriz anında eski alışkanlıklarına geri dönmeleridir. Bu ne yazık ki önlenmesi çok zor bir durumdur. Daha önceki bir yazımda bahsetmiştim. Kriz anlarında otomatik olarak devreye giren davranış biçimlerinin önüne geçmenin tek yolu pratik yapmaktan geçmektedir. Programcı kod kata ismi verilen kod pratiklerini devamlı yaparak, krizle ortaya çıkan verimsiz davranış biçimlerini zamanla beyninde silebilir. Kod kataları değişim sürecinin bir parçası haline getirilmelidir.

Yazılımcılar yetenekli insanlar. İstenilen bir şeyleri kavramaları uzun zaman almaz, lakin uygulamada zorluk çekebilirler. Yönetimin yazılım ekibine gerekli desteği sağlaması ve bu sorumluluğu onlarla paylaşması, değişimin daha kolay gerçekleşmesini kolaylaştıracaktır.

EOF (End Of Fun)
Özcan Acar

Share Button
0.00 avg. rating (0% score) - 0 votes

2 Comments

Bir Cevap Yazın