Yazılımla Yeter Kutsal Savaşlar!
Devam edelim ve müşterilerimizi memnun edecek, hatta belki de memnun edecek çalışan yazılımlar sunma konusunda daha iyi olalım.
Görünen o ki, Hristiyanlar, Yahudiler ve Müslümanlar aynı tanrıya tapıyorlar. Anlaşmazlığa düştükleri nokta, o tanrının kahvaltıda ne yediği ve sakal ve resmi tatiller konusundaki politikasının ne olduğudur.
Görüyorsunuz ki, “yazılım ustaları”, “yazılım mühendisleri” ve “Çevik Yazılımcılar” da aynı tanrıya tapıyorlar. Tanrımızın bizden tam olarak aynı sonuçlara ulaşmamızı nasıl beklediğine dair daha ince ayrıntılar konusunda hemfikir değiliz.
Ortak tanrımızın birincil emrinin, Müşterinin İstemediği Yazılımları Yazmayacaksın olduğu konusunda hiçbir anlaşmazlık yok.
En yararlı, kullanılabilir yazılım üzerinde bir araya gelmek için tekrarlamamız gerekeceği konusunda da aynı fikirde değiliz.
Ayrıca, ağdan sızan hataları düzeltmek için zamanımızın çoğunu boşa harcamaktan kaçınmak istiyorsak, testin mümkün olduğunca erken ve mümkün olduğunca sık yapılması gerektiği konusunda hemfikiriz.
Aslında, her önemli konuda, her konuda hemfikiriz. (Eh, fikri önemli olan herkes aynı fikirde zaten.)
Anlaşmazlığa düştüğümüz noktalar, bunlara "kullanım senaryoları" mı yoksa "kullanıcı öyküleri" mi dememiz gerektiği ve önce testlerimizi mi yoksa koddan sonra mı yazmamız gerektiği veya bu becerileri kasıtlı olarak uygulamak için zaman ayırmamız mı gerektiği veya akredite bir meslek kuruluşuna katılmalı ve onlar hakkında sertifika almalıyız. Ve benzeri.
Ne yaptığımızın ve neden yaptığımızın temelinde yatan inançlar, onlarca yıldır değişmeden kaldı. Yazılım geliştirmeye ilişkin Eski Ahit, onu iyi yapan herkes arasında paylaşılan bir dini metindir.
Hatırlatma ihtiyacı duyarsanız, işte Yazılım Geliştirmenin On Emri:
- Müşterinizin İstemediği Bir Yazılım Yazmayacaksınız
- Gerekirse Çözümlerinizi Süresiz Olarak Yineleyeceksiniz
- Erken ve Sık Sık Test Yapacaksınız
- Tek Başına Çalışırken Bile Yazılımınızın Versiyonlarını ve Konfigürasyonlarını Yöneteceksiniz
- Tasarım Üzerinde Biraz Düşünmediyseniz Doğrudan Kod Yazmaya Geçemezsiniz
- Değiştirilmesi Zor Kod Yazmamalısınız
- Test Edilmemiş Kodu Entegre Etmeyecek veya Serbest Bırakmayacaksınız
- Kullanımı Zor Kullanıcı Arayüzleri Oluşturmamalısınız
- İşlevsel ve İşlevsel Olmayan Gereksinimlere Eşit Davranacaksınız
- Sıkça Tekrarlanan Görevleri Otomatikleştirecek ve Sıkça Tekrarlanan Kodu Paylaşacaksınız
Emirlerimizin her biri, kendi becerileri, kendi uygulamaları, kendi standartları ve kendi bilgi birikimi ile bir disiplini ima eder. Her bir emrin tam olarak nasıl yerine getirileceğine ilişkin ayrıntılar konusunda aynı fikirde olmayabiliriz, ancak temelde, hepsinin altında, hepimiz aynı tanrıya tapıyoruz.
Öyleyse Kutsal Savaşlar yeter! Devam edelim ve müşterilerimizi memnun edecek, hatta belki de memnun edecek çalışan yazılımlar sunma konusunda daha iyi olalım.