Agile nedir?
Yazılım geliştirmede, Agile nerede konumlanır?
Neden Agile?
Teknoloji, beklentiler, istekler her dakika değişiyor ve bu değişim hayatımızın her noktasını etkiliyor. Değişime ayak uydurmak, kendimizi güncel tutmak ve hayatta kalmak için büyük önem arz ediyor. Özellikle teknoloji ile iç içeysek ve yazılım yapıyorsak, istekleri zamanında teslim etmenin yanında, teknolojiye de yön vermemiz gerekiyor.
Yazılım nedir?
Yazılım, bilgisayarları çalıştırmak ve belirli görevleri yerine getirmek için kullanılan bir dizi talimat, veri, program ve dokümantasyondur.
Başarılı bir yazılımın öznitelikleri nelerdir?
Yazılım gerekli fonksiyonalitesi ve perfomansıyla; geliştirilebilir, güvenli ve kullanışlı olarak zamanında teslim edilmiş ise başarılı olarak kabul edilir.
Yazılım, süreçler bütünüdür; ihtiyaçların toplandığı, analizinin yapıldığı, geliştirildiği, test edildiği ve bakımının yapıldığı. Bu süreçler tek bir kişi tarafından yapılabildiği gibi, sektörde takım çalışması ile gerçekleştirilir. Analistler, yazılım geliştiriciler, DevOps ekibi, test ekibi, proje müdürleri, paydaşlar bu takımın elemanlarıdır. Yazılım süreçlerinin başarılı bir şekilde ilerlemesi ve sonucunda başarılı yazılımın çıkabilmesi için belirli standartlarda, belirli bir kültürde çalışmak gerekir. İşte Agile yazılıma bu noktada dokunur.
Agile nedir?
Agile bir kültürdür, felsefedir, yaklaşımdır. Değişime hızlı ve verimli bir biçimde adapte olmayı sağlayan esnekliktir.
2001 yılında Amerikada 17 yazılım gurusunun açıkladığı Agile Manifesto ile hayatımıza giriş yapmıştır.
Agile Manifesto der ki:
“Bizler uygulayarak ve başkalarının da uygulamasına yardım ederek daha iyi yazılım geliştirme yollarını ortaya çıkarıyoruz. Bu çalışmaların sonucunda:
- Süreçler ve araçlardan ziyade bireyler ve etkileşimlere
- Kapsamlı dokümantasyondan ziyade çalışan yazılıma
- Sözleşme pazarlıklarından ziyade müşteri ile iş birliğine
- Herhangi bir plana bağlı kalmaktan ziyade değişime cevap vermeye
kanaat getirdik.
Özetle, sol taraftaki maddelerin değerini kabul etmekle birlikte,
sağ taraftaki maddeleri daha değerli bulmaktayız.”
Agile, süreçleri ve sonucu başarı ile tamamlanmış yazılımı teslim etmek için temel alınmış bir hedef kültürdür. Kültür, ekip içerisinde kişilerin davranışları ve yaklaşımlarıdır. Dolayısıyla bir kültüre alışmak, ona ayak uydurmak zaman isteyen bir eylemdir ve her zaman başarı ile sonuçlanmaz. Agile olmak için, Agile dönüşümlerini geçirmek gerekir. Çünkü uygulanacak kurallar bütününün aksine, Agile bir düşünce yapısıdır.
Agile:
- Sürekli sonuçların elde edildiği(iterasyon)
- Her şeyin açık ve net takip edildiği
- Müşteri memnuniyeti odaklı
- Güven temelli
- Sabit plana değil değişen koşullara göre şekil alan
- Her bir kişiye saygı duyulan ve onlarla olan etkileşime değer verilen bir çalışma şeklidir.
Sonuç olarak, Agile kültürüne sahip olan ekipler ya da kişiler kendilerine verilen değeri hissettikleri için mutlu çalışırlar. Birbirlerine karşı saygı çerçevesinde açıktırlar. Dolayısıyla, birbirlerine güvenirler. Değişimin üstesinden beraber gelirler. Tüm bunlar sayesinde sürekli ve kaliteli iş çıkarırlar ve müşteri de sonuçtan memnun kalır.
Herkese hatasız kodlar diliyorum.