Daily Archives: 29/06/2007

SUÇLU KİM?

no_picture.jpgBir kaç gündür aklımı meşgul eden bir soru var. Bu yazıyı da belki sizler aklımdaki bu sorunun cevabını verirsiniz diye yazıyorum. (Vermeseniz de olur tabi)

Aslında aklımı meşgul eden sorunun kaynağı ff kod adlı arkadaşın CODE OF HORROR başlıklı yazısı. Öncelikle bu yazının kalanını okumadan evvel Code of Horror yazısına göz atmanızı tavsiye ediyorum. Yazıda uygulama geliştirirken “NEYİ NASIL YAPMAMALIYIZ” şeklinde uyarılar var ve bu uyarılar kötü anılar eşliğinde gayet çarpıcı bir şekilde anlatılmış. Önüne koyulan kaynak kodlarını revize ederken ff dikkatini çeken kodlama hatalarını blogunda paylaşmış. (Daha doğrusu ortaya dökmüş)

Bu durum çoğu iş ortamında blogda anlatıldığı gibi birebir yaşanıyor. Yani birileri vakt-i zamanında birşeyler kodluyor daha sonra başka birileri (Muhtemelen işin piri , programcının hası yada yüzüklerin efendisi diye tabir edilen abilerimiz) gelip bu kodlardaki saçmalamaları buluyorlar. Hataları bulmakla kalmayıp üstüne üstelik önceden kodu yazan arkadaşın da sık sık kulaklarını çınlatıyorlar. (Aynen ff‘ in yaptığı gibi)

Şimdi buradaki hikayede iki tip karakter var. Birtanesi herşeyi çok iyi bilen (yada öyle sanan yada çok iyi bildiği düşünülen) kişi. O kişi açısından bir sorun yok. Sadece kodlardaki anormallikleri bulup düzeltecek ve parasını alacak. Diğeri ise ; bir zamanlar kendisine verilen görevi yerine getirirken hatalar yapmış kişi.

Olaydaki kişileri de belirledikten sonra, sıra “acaba ben burada hangi kategoriye giriyorum” sorusuna geliyor. Elbetteki 2. kategoriye yani hata yapma ihtimali olan kişi kategorisine giriyorum. Durum böyle olunca beni “ ileride benim de kulaklarımı çınlatırlar mı” diye bir telaş sarıyor.

Elbetteki bir hata yapıyorsak yada yapacaksak bunun sonuçlarına katlanmamız ve hatamız yüzümüze vurulunca da itiraz etmememiz lazım. Fakat benim takıldığım nokta burası değil. Acaba bu hatalarda ; hatanın yapılmasına baştan engel olmayan yada engel olmaya çalışmayanların suçu yok mu?

Gözlemlediğim kadarıyla çoğu projede bu tip denetimler yada iyileştirmeler bir gün bir yerlerde sorun olduğunda yapılıyor. (en azından benim gördüklerimde) Yani bir şikayet yada sorun şans eseri ortaya çıkmamışsa kulak çınlamalarından yırtmış oluyorsunuz. (O tip sorunlar ne hikmetse testlerde bir türlü fark edilmez.) Ama yaptığınız işte sonradan sorunlar çıktıysa vay halinize , vay verdiğiniz emeklere. Bir anda harcanmaya hazır olun.

Acaba bu gibi sorunların ortaya çıkmasında zamanında:
(NOT: Aşağıdaki maddeler tüm iyi niyete rağmen laftan anlamayan developer ‘larla çalışmak zorunda olanları kapsamamaktadır.)

Yeterince deneyimi olmayan çalışanlara (özellikle benim gibi işe yeni başlayanlara) bir araç yardımıyla “CODE POLICY” uygulamayanların payı olabilir mi?

Yada yazılan kodlara en azından developer belirli bir nokataya gelip alışana kadar KOD POLİSLİĞİ uygulamayanların , yada “şunu şöyle yaparsan daha iyi daha efektif olur” demeyenlerin payı olabilir mi?

Yada şirkette yeterince dökümantasyon,tutorial vs. olmamasının , olsa bile güncel olmayıp işin yapılış şeklini öven (Biz çok akıllıyız dünyanın bir numaralı aracını kullanıyoruz. ) yazılarla dolu olmasının payı olabilir mi?

Yada işi yap nasıl yaparsan yap , işi vaktinde bitirmeni sağlayan her yol mübahtır gibi bir zihniyete destek verenlerin payı olabilir mi? (Makul bir proje takvimi hazırlanamadığı durumlarda ortaya çıkan bir durum)

Yada proje için kodlama standartlarını koymayıp çalışanlara kopyala-yapıştır bir de şuradaki butona bas herşey çok güzel olacak diyenlerin payı olabilir mi?

Görüldüğü üzere gitgide soru işaretlerinin sayısı artıyor. Sanırım olaylara tek taraflı bakmak ve birilerini yaptığı hatalardan ötürü harcamak pek de doğru değil. Hele de bir kişinini yaptıklarını tüm projeye mal etmek hiç doğru değil. ( ff adlı arkdaş da bunun farkına varıp sonradan olayları toparlamaya çalışmış.)

Bu kadar şikayet sanırım yeterli . Çözüm ise iş yerlerinde yada projelerde abi-kardeş ,usta-çırak ilişkisini geliştirmek. Bizde genelde işi iyi bilen insanlar ya “şöyle yapın böyle yapın tarzından emirler yağdırırlar ” yada “üzerlerinde çok yük olduğu için kod polisliği gibi işlere zaman ayıramazlar” (Genelde bu tip işler angarya olarak görülmektedir.) İş verenlerin de deneyimi az kişileri ucuz iş gücü olarak görmeyi bırakıp, çalışanlarına yatırım yapmayı öğrenmesi gerekiyor. (Bu yatırımın en büyük geri dönüşü yine kendilerine olacaktır)

Bu blog yazısıyla deşarj olduğuma göre mutlu bir haftasonu geçirmeme hiçbir engel kalmadı. Bu yazıyı sabırla okuyan herkese mutlu haftasonları diliyorum…