Project Description
alameensoft Agile
Agile nedir?
Agile Yazılım Geliştirme popülerlik kazanıyor. Ancak, Agile olmak ne demektir? Scrum’dan sonra birim test mi, sürekli entegrasyon mu kullanıyor?
Ekiplerin çoğu Agile olduklarına inanıyorlar çünkü günlük toplantı, sprint planlama toplantısı veya geçmişe dönük toplantı gibi önceden tanımlanmış bir dizi uygulamayı takip ediyorlar.
Ekiplerin çoğu, Agile uygulamalarla dini ayin olarak muamele etme eğiliminde olan bir hata yapıyorlar, bu nedenle bu uygulamanın yaratılma amacından yararlanmaları için uygulamayı doğru kullanmaya değil, adeta ritüel yapmaya odaklanıyorlar.
Agile olmak, yazılım çalıştırmak için uygulama ve teknikleri uygulamaktan veya benimsemekten çok daha fazlasıdır, ekipler değerlere, ilkelere odaklanmalı ve ardından uygulamaların yaratılma amacını anlamalarına dayanarak doğru uygulamaları seçmeli ve uygulamalıdır.
Bu nedenle, Agile olmak, ustalaşılabilecek bir sihirli değnek süreci olmamakla birlikte, başarı için bir yöntem ya da reçete de değildir. Fakat zihniyet ve amaç Agile değerlerden ve ilkelerden gelir, daima ona ulaşmak için çalışmak zorundadır.
Agile Manifestosu
Şubat 2001’de, farklı Agile yöntemlerden on yedi temsilci görüşlerini daha iyi tanıtmak için Agile Bir İttifak kurmaya karar verdi ve ortaya çıkan Agile ‘Yazılım Geliştirme’ Manifestosu idi.
Agile olmayı destekleyenler tarafından onurlandırılan değerler, Agile İttifak olarak da bilinen bir grup Agile destekçi tarafından geliştirilen ve imzalanan bir belge olan Agile yazılım geliştirme için Manifesto’da sunulmaktadır.
“Bunu yaparak ve başkalarına yardım ederek yazılım geliştirmenin daha iyi yollarını keşfediyoruz. Bu çalışma sayesinde aşağıdaki değere ulaştık:
- Bireyler ve süreçler ve araçlar üzerinde etkileşimler.
- Kapsamlı dokümantasyon üzerinden çalışan yazılım.
- Sözleşme müzakere konusunda müşteri işbirliği.
- Gelecek planı değiştirmeye yönelik cevap
Bu, sağdaki maddelerde değer varken; soldaki maddelerde daha çok değer veriyoruz. ”
Agile İlkeleri
Agile Manifestosu sitesinde belirtildiği gibi, Agile yöntemlerin özellikleri, Agile Manifestosu’nun arkasındaki on iki ilkede ayrıntılı olarak tanımlanmıştır:
- En yüksek önceliğimiz, değerli yazılımların erken ve sürekli teslimatı yoluyla müşteriyi memnun etmektir.
- Gelişmekte gecikseniz bile, değişen gereksinimleri karşılayın. Agile süreçler, müşterinin rekabet avantajı için donanım değişimini sağlar.
- Çalışma yazılımını, daha kısa zaman ölçeğini tercih ederek birkaç haftadan birkaç aya kadar sık sık gönderin.
- İş adamları ve geliştiriciler, proje boyunca günlük olarak birlikte çalışmalıdır.
- Motive olmuş bireyler etrafında projeler oluşturun. Onlara ihtiyaç duydukları ortamı ve desteği verin ve yaptıkları işte onlara güvenin.
- Bir geliştirme ekibine bilgi aktarmanın en etkili ve verimli yöntemi yüz yüze konuşmadır.
- Çalışan yazılım, ilerlemenin birincil ölçüsüdür.
- Agile süreçler sürdürülebilir kalkınmayı teşvik eder. Sponsorlar, geliştiriciler ve kullanıcılar, süresiz olarak sabit bir hızda kalabilmelidir.
- Teknik mükemmellik ve iyi tasarım konusunda sürekli dikkat, Agile olmayı artırır.
- Yapılmayan iş miktarını maksimize etme sanatı sadelik, esastır.
- En iyi mimariler, gereksinimler ve tasarımlar kendi kendini organize eden ekipten doğar
- Düzenli aralıklarla, ekip nasıl daha etkili olacağına karar verir, sonra davranışını buna göre uydurur ve ayarlar.
Agile yöntemler, programcıları ağır işlem zincirlerini düşürmeye, değişimi kucaklamaya ve Agile olma girişiminde bulunmaya teşvik eder. Savunulan metotlar kısa döngü sürelerine, yakın müşteri katılımına ve öngörülü zihniyete göre uyarlayıcılara sahiptir.
Agile Metod Uygulamaları
Agile uygulamaların kullanımının ana nedenlerinden biri esnekliklerini ve diğer alameensoft’un değişikliklere cevap verme yeteneğini arttırma yetenekleri olmuştur. Her Agile yöntem, bu yöntemin benimsenmesi sırasında kullanılan bazı uygulamalara sahiptir, bu uygulamaların bazıları benzerdir, bazıları farklı düzene ancak aynı amaca sahip olabilir, diğerleri tamamen farklıdır.
Tüm Agile uygulamaların bir listesini belirlemek için bir yaklaşım izledik. Yaklaşım, mevcut Agile geliştirme yöntemleri tarafından kullanılan tüm Agile uygulamaları toplamaktı, toplama işlemi ağırlığı, benzer uygulamaları bir araya getirmeyi içeriyordu ve sonuç, 40 farklı Agile uygulamadan oluşuyordu. Bu toplama bir başlangıç noktası sağlar, ancak Agile uygulamaları yalnızca bu listeyle sınırlamaz. Aşağıda bu 40’ın en yaygın uygulamalarından bazıları listelenmiştir:
- Kendi kendini organize eden ekip.
- Sık yoğun iletişim.
- Test Odaklı Geliştirme.
- Çift Programlama.
- Yeniden Yapılandırma ve Sürekli iyileştirme.
- En önde büyük tasarım yok (BDUF).
- Birim Testleri.
- Kodlama standartları
- Sürekli entegrasyon.
- Daha küçük ve daha sık sürümler.
- Müşteri hemen erişilebilir (Yerinde Müşteri).
- Ortak ekipler ve Güçlendirilmiş ve motive ekipler.
- Ortak planlama.
- Günlük ilerleme izleme toplantıları
- Kullanıcı Hikayeleri.
- Yazılım konfigürasyon yönetimi.
- Müşteri odaklı yineleme.
- Sürekli müşteri memnuniyeti geribildirimi.
Yazılım geliştirmede kullanıldığında bu uygulamaların her biri bizi Agile olmak için bir adım ileriye götürüyor.
Agile Uygulamasının Kazanılmış Faydaları
CMMI uygulamasının faydalarını ortaya koyduğumuzda, burada ayrıca alameensoft’un süreç iyileştirmede Agile uygulamaları seçmesini sağlayan bazı faydaları da sunuyoruz:
- İş ihtiyaçlarına ve önceliklere odaklanma.
- Müşterilere, aldıkları ürün ve hizmetlerde daha fazla ses sağlama.
- Yerleşik müşteriyle birlikte küçük konumlandırmak için iyi çalışan hafif ve kanıtlanmış yaklaşımlar.
- Anlaması ve uyarlaması kolaydır.
- Uygulayıcılara kullandıkları süreçte daha fazla ses sağlama.
- Kısa ve pratik planlama yaklaşımı.
- Zaten iyi yapılanları yakalayın.
- Küçük yinelemeler geribildirim ve iyileştirme önerilerini teşvik eder, değerlendirir ve uygular.
- Yineleme ölçüsü ve geri bildirimin faydaları.
Böylece, Agile metodolojilere ilişkin alameensoft, metodolojiler ve bunların yazılım geliştirme endüstrisi üzerindeki etkileri ve yönleri ile ilgili vizyonla 2012 yılında yeniden başlamıştır. Bu nedenle, alameensoft müşterilerinin ihtiyaç duyduğu her türlü değişikliğe cevap verebilme yeteneği sağlayan geliştirme projelerimizde son zamanlarda Scrum adı verilen Agile bir yaklaşım uygulamaya başladık. Tüm proje süresi boyunca, her geçen gün siz değerli müşterilerimize katılarak teslimat süresini sağladık.