Modern Yazılım Geliştirme Teknikleri

Modern yazılım ihtiyaçlarını karşılamak için atik, değişime cevap verebilen, yüksek performanslı, ölçeklenebilir, kalite kontrol mekanizmalarına sahip yazılım geliştirme teknikleri kullanıyoruz.

Atik Yazılım Geliştirme Manifestosu

(Agile Manifesto)


2001 yılında yazılım geliştirme ile ilgilenen 17 kişi bir araya gelerek yazılım geliştirme ile ilgili konvansiyonel yöntemleri bir adım ileri götürecek prensiplere ve bir felsefeye imza attılar: Atik (Çevik) Yazılım Geliştirme (Orijinal manifesto hakkında detaylı bilgi almak için tıklayın).

Çoğu kişinin zannettiği üzere konvansiyonel yöntemleri çöpe atan bir manifesto değil bu; planlama, dokümantasyon, kalite standartları, etkili araçlar ve süreç yönetimi yine mevcut ancak odaklanılan noktalar farklı.

2000'li yıllardan itibaren teknoloji ve dolayısıyla projeler çok hızlı gelişmeye ve değişmeye başladılar. Artan rekabet maliyetin düşürülmesi ve kullanıcı ihtiyaçlarındaki değişikliklere hızla adapte olma konusunda baskı yarattı. Bu baskıyı karşılayabilmenin yolu atiklikten geçiyor...

Alfatron ve Atik Geliştirme

Atik Manifestosunu kullanan birçok metod vardır: Extreme Programming, Scrum, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming ve diğerleri...

Bizler projenin doğasına uygun metodolojileri bir araya getirerek faydayı maksimize ediyoruz...

Süreç ve Araçlar yerine Bireyler ve Etkileşim

Kimin ne yapacağının en ince detayına kadar tanımlandığı süreçler, paranın alabileceği en sofistike geliştirme araçları, “sürükle bırak” ile otomatik program üreten iskeletler ve bu kurallara harfiyen uymaya programlanmış düşük kabiliyetli koca ve hantal bir ekip yerine, en verimli oldukları araçları kendileri seçen, projenin ve kişisel özelliklerine göre kendi kendine organize olan, küçük ama yüksek kabiliyetlere sahip bir ekibin çok daha kaliteli ve yaratıcı ürünler ortaya çıkartacağına inanıyoruz.

Süreç planlaması olmasın, kullanılan yazılım geliştirme araçları önemsizdir demiyoruz, tam tersine vazgeçilmez olduğunu düşünüyoruz ancak birbiriyle sürekli diyalog ve iletişim halinde bulunan, kendi süreçlerini kendileri planlayan esnek (atik) ekiplerin çok daha verimli olduğunu söylüyoruz...

Kapsamlı Sunum / Dokümantasyon yerine Çalışır Durumdaki Yazılım (Demo)

Size neler yapacağımızı uzun uzun dokümante edip sunmak yerine yazılımın kendisini adım adım göstermeyi tercih ediyoruz. Hızlı prototip üretme mantığı ile kısa periyodlarla demo yapıyoruz, böylece işleyişin nasıl olacağını gözünüzde canlandırmak için hayal gücünüzü zorlamanıza gerek kalmıyor.

Size ilk gösterdiğimiz demo şüphesiz estetik olarak çirkin, birçok detaydan yoksun ve eksik olacak ancak sistemin neye benzediğini ve nereye ulaşacağınızı anlamanız için yeterli olacaktır. Ayrıca gözünüze çarpan herhangi bir eksik ya da yanlış anlamaya proje çok ilerlemeden müdahale edebileceksiniz.

Dokümantasyon olmayacak demek değil bu, ancak sayfalarca bitmek bilmeyen detaylar yerine projenin amacı, neden yapıldığı ve çalışma prensiplerine yer verilmesi daha etkilidir.

Sözleşme Mutabakatı yerine Müşteri ile İşbirliği

Sadece siz müşterilerimiz tam olarak ne istediğinizi söyleyebilisiniz. Bunu söylerken sistemi en ince detayına kadar tanımlayacak boyutta teknik bilgiye sahip olmama ihtimaliniz çok yüksek. İlk yaptığınız tanımda bazı detayları mutlaka atlayacaksınız ve bazı noktalarda fikrinizi değiştirdiğiniz anlar olacak. Açıkçası bu nedenlerden dolayı piyasaya çalışmak zordur ancak işin doğasında bu sorunlar her zaman vardır.

Sözleşmeler iki tarafın sorumluluklarının netleştirilmesi anlamında önemlidir ve bir prensip olarak sözleşmesiz çalışmıyoruz.

Ancak sözleşme ve teknik şartnamaler müşteri ile güçlü iletişimin yerini tutamaz. İhtiyaçlarınızı bu kapsamda değerlendirerek belirli miktarda değişiklik olasılığını hesaba katıyoruz, proje boyunca güçlü iletişim ile istenene en uygun sonucu elde etmek için çalışıyoruz.

Bu anlamda gelen değişikliklerin bize olan maliyeti ile size olan faydası konusunda karşılıklı diyalog ve güvenle projelerimizi yürütüyoruz.

Plana Sadık Kalmak yerine Değişime Ayak Uydurmak

İnsanlar önceliklerini çeşitli nedenlerden dolayı değiştirirler. İşin detayları ortaya çıktıkça proje sponsoru (bu muhtemelen siz oluyorsunuz!) daha önce fark etmediği detayları fark etmeye başlar ve dolayısıyla da yapılan iş de değişmeye başlar.

İş ortamı değişir, müşterilerden (ya da kullanıcılardan) gelen geribeslemeler ihtiyaçların aslında daha farklı olduğunu ortaya çıkartır, teknoloji - her zaman olmasa da genelde iyi yönde - değişir. Değişim yazılım geliştirme sürecinin gözardı edilemeyecek bir parçasıdır ve değişmeyeceğini düşünmek bir hayalden ibarettir.