• mu$teriyi tatmin etmek icin uzun vadeli kati planlama ve geli$tirme surecleri yerine degi$en ko$ullara hizla adapte olup cok kisa araliklarla yeni surumler cikarmayi one cikaran bir yazilim geli$tirme disiplini.

    geli$tirme adimlarini raporlar yerine yeni yazilim surumleriyle takip etmesine olanak verdiginden kullanici tabanini memnun etse de, degi$ime acik yapisi hem mu$teri hem de geli$tirme ekibi tarafindan yapilan degi$ikliklerle deadline kaymalarina sebep olabilir bu yuzden buyuk planlarin parcasi olarak tercih ederken bu tarafini da du$unmek gerekir.

    buna kar$in agile, surecle ilgili degi$en planlarin doguracagi sikintiyi minimize etmek icin bireyler arasi ileti$ime agirlik verir. takimlari kucuk tutup onlarin kendi kendilerini organize etmelerini bekler.

    extreme programming ve scrum gibi metodolojiler bu disiplinin catisi altindadir.
  • uygulamak için önce inanmak gerekir:
    http://agilemanifesto.org/principles.html
  • ismine aldanmamak gerekir. alacaginiz verim agile metodolojiyi ne kadar disiplinle uygulayabildiginizle dogru orantili olacaktir.
  • bana marketing bulshitten ibaret gozuken hede.
  • hali hazırda elinizdeki sisteme tepeden inme bir şekilde entegre etmeye çalıştığınızda, elinizde patlayacak olan disiplindir. başlı başına kendine özgü bir süreç izlemesi gerekir ki vaadedilen ile üretilen birbirine benzesin. etkileşimde olduğu diğer süreçler, eğer scrum mantığına ters ise hiç bulaşmamak, ya da yönetilebileceğine inanılıyorsa özel durumların tanımlanması gerekir.
  • türkiye'de uygulanan modeli için: (bkz: ne zaman biter)
  • acik konusalim, saglikli bir software architecture'in onundeki en buyuk dusmanlardan biridir.
  • 3 temel sıkıntısı vardır:

    1 - maliyet ve süre hesaplamasında sapmalar

    en başta yapılan detaylı bir analiz ve bunun üzerine kurulan bir maliyet/süre hesabı bulunmaz. analiz süreci sürekli olarak ve her defasında yeniden güncellendiğinden, başta sorunsuz gibi görünen detay konular zamanla ortaya çıkar. bu tür durumlar müşteriye vaad edilen sürenin uzamasına ve maliyetin bazen feci şekilde artmasına sebep olabilir.

    2 - zayıf dökümantasyon

    uzun soluklu bir projede, projede yer alan isimlerin değişmesi sonucu bilginin aktarımı sorunu ortaya çıkar. ayrıca projenin bakım sürecinde mevzuya tam olarak hakim olmayan ama o sırada hata yapmak da istemeyen bir yazılımcı için dökümantasyon sıkıntısı da mevcuttur. zira proje boyunca dökümantasyon minimum seviyededir.

    3 - fonksiyonel olmayan ihtiyaçların yok sayılması

    agile temelde kullanıcı ihtiyaçlarına ve bu ihtiyaçların adım adım karşılanmasına dayalı bir süreç izler. kullanıcılar ise genel olarak sistem güvenliği, performans, gerçekleştirilebilirlik gibi konuları dikkate almaz. proje ekibinin özen göstermemesi durumunda, proje giderek hantallaşan, güvenlik ve performans konuları düşünülmemiş, kullanım kolaylığından uzak bir hal alabilir.
  • konuya ve kullanılan teknolojiye tam olarak hakim ve göreceli olarak sayıca az bir ekiple yürütülmesi gereken yazılım geliştirme disiplini.

    türkiye'de işe bodoslama atlayan, kodları silip silip yeniden yazan ekipler bu yöntemi uyguladıklarını iddia ederler.
  • her taktik gibi uygulanabileceği ve uygulanamayacağı yerler vardır.

    misal, müşteriniz askerdir. ne istediğini ve ne zaman istediğini biliyordur. gelir ve "bana iki yıl içinde şunu şunu şunu" yapın der. siz de iş gücünü, maliyeti hesaplar, "şu kadar istiyorum" dersiniz, iki yıl için detaylı bir plan yaparsınız. o iş iki yılı bir gün geçemez. bu projede agile kullanmak abesle iştigaldir.

    misal, müşteriniz iç müşteridir (patron/ürün geliştirme). canlı bir sisteminiz vardır ve pazar ihtiyaçlarına göre sürekli tepenize yeni işler getirmektedir. bugün yaptığınız bir işi yarın değiştirmektedir. bu iş için, uzun soluklu planlama yapamazsınız, yapsanız bile o plana sadık kalamazsınız. değişen pazara uymazsanız para ve belki sonunda işinizi kaybedeceğinizi bilirsiniz. bu projede agile yöntemleri kullanmazsanız, bitirme projesi yapar gibi proje geliştirir, güvenliği, kaliteyi önemsemez, fonksiyonel geliştirmeyi ön plana alır ve en sonunda kodu elinize alırsınız.

    agile yöntemi aslında eski bir yöntem, temeli toyota'nın 1940'larda oluşturmaya başladığı üretim yönetimi prensiplerine dayanıyor. toyota şu anda dünyada en çok araç üreten marka.
hesabın var mı? giriş yap