mobile menu
Download (9) (1)
Çevik Öldü, Çeviklik Yeniden Doğuyor: Agile’den Agile 2.0’a Evriliş

Yazılım geliştirme sektörü, sürekli değişen ihtiyaçlar ve hızlı tempolu yeniliklerle karşı karşıya kalmaktadır. Bu derece dinamik bir ortamda geliştirici takımların piyasadaki rekabet gücünü koruyabilmesi veya arttırabilmesi için etkin ve esnek olması beklenmektedir. 2001 yılında ortaya çıkan Agile (Çevik) Manifesto ve beraberindeki; Scrum, Kanban, Lean, Extreme Programming gibi destekleyici metodolojiler, iş akışının verimliliğini artırmayı ve ürünü hızlı bir şekilde pazara sürmeyi hedeflemektedir. Teknoloji ve iş dünyasında oldukça popüler olan bu anlayışın derinlerine inecek olduğumuz yazımıza öncelikle temel çevik anlayışlarını açıklayarak başlayacağız. Başlıkta iddia ettiğimiz; 'Çevik'in ölmesinin ne demek olduğu, buna nelerin neden olduğu, akabinde doğan 'Çeviklik' kavramının detayları ve önemi ile devam edeceğiz. Yazının ilerleyen bölümlerinde 'Çevik' ile 'Çeviklik' arasındaki temel farklara değineceğiz. Değişimin temel noktası olan Çevik 2.0'ın anlamını açıkladıktan sonra yazılım geliştirme süreçlerinde neden başlıkta belirtilen bir evrimin gerekli olduğunu ele alarak yazımızı noktalayacağız.

Temel Çevik Anlayışları:

 


Resim 1: Agile “Umbrella”


Çevik: Yazılım geliştirme üzerine yapılandırılmış bir dizi metodoloji ve prensipleri tarif etmektedir. Temel amacı, kısa döngülerde (iterasyon) ve sürekli müşteri geri bildirimleri yoluyla ürünün hızla piyasaya sürülmesini sağlamaktır. İçinde barındırdığı metodolojiler arasında işleri yönetmek için zaman sınırlı sprintler kullanan Scrum veya sürekli akışı benimseyen Kanban bulunmaktadır.

Scrum: Genellikle 2-4 haftalık olan belli zaman dilimlerinde (sprint) yazılımın parçalarını üretmeye odaklanan bir yöntemdir. Takımın çevikliğini koruma şapkasını üstlenmiş Scrum Master ve ürünün vizyonundan sorumlu Product Owner rollerini içerir.

Kanban: Görevlerin durumunu görselleştiren, genellikle bir tahta üzerinde To Do (Yapılacaklar), In Progress (Yapılıyor) ve Done (Tamamlandı) sütunları barındıran bir yöntemdir. Çalışmanın akışını iyileştirmek için kullanılır.

Yalın (Lean): İsrafı azaltmayı ve değer yaratmayı odağına alan bir yaklaşımdır. Yazılım geliştirmedeki amaç, müşteriye maksimum değeri minimum kaynak kullanarak sunmaktır.

Extreme Programming - XP: Yazılım geliştirmede kaliteyi artırmak ve değişen müşteri taleplerine hızlı yanıt vermek için kullanılan bir yaklaşımdır. Sık sık yayınlanan kısa geliştirme döngüleri, sürekli geri bildirim, sürekli iyileştirme, teknik mükemmeliyet ve iyi tasarlanmış bir ekip çalışmasına vurgu yapmaktadır. Değişen gereksinimlere çabuk uyum sağlaması, müşteri ihtiyaçlarını dikkate alması ve yüksek kaliteli yazılım üretme hedefiyle özellikle zorlayıcı projelerde etkisini göstermektedir.

Hayatımıza 'Ritüel' adı verilen toplantılar, 'Kullanıcı Hikayeleri' (User Story) ve sprintler ile giriş yapan çevik yaklaşım, ekiplerin daha düzenli ve verimli çalışmasını amaçlamaktadır. Yazılım geliştirmede uygulanan bir yönetim ve ürün geliştirme yaklaşımını tanımlayan 'Çevik' kelimesi, zamanla belirli kurallar ve kalıplar ile özdeşleşmiş, bu da ortaya çıkış amaçlarından önemli bir parametresi olan esnekliği sınırlamıştır. Her projenin ve takım dinamiklerinin farklılığı, metodolojinin takip edilmesi zorunluluğundan dolayı sürdürülen projenin gerçek ihtiyaçlarının göz ardı edildiği zamanla daha belirgin hale gelmiştir. Bu yaklaşımın prensiplerine sıkı sıkıya bağlı olması, ortaya koyduğu ilkelerinin hiçbirinin değiştirilemeyeceğine veya değiştirilmemesi gerektiğine dair katı yorumları ve yanlış uygulamaları, takımların kendi süreçlerini sürekli gözden geçirmesini ve kendilerine en uygun yöntemi bulmasına dikkat çeken 'Çeviklik' (Agility) kavramının ihtiyacını doğurmuştur. Çeviklik, tüm bu terimlerin ötesine geçerek takımların ezberlenmiş veya birebir kopyalanmış çalışma yöntemleri yerine kendi çalışma şekillerini yaratmalarını teşvik etmektedir.

Duyulduğu ilk anda aynı gibi görünen, kendi içlerinde bir farklılık çağrıştırmayan 'Çevik' ve 'Çeviklik' kavramları, genel olarak esneklik, hızlı uyum sağlama ve hızlı hareket etme yeteneği ile ilişkili olup bu bağlamda birbirinden ayrışmaktadır.

'Çevik' kelimesi, bir varlığın belirli bir özelliğini tanımlamak için kullanılır. Bu, genellikle hızlı hareket edebilme ve reaksiyon gösterebilme kapasitesine sahip olmayı ifade etmektedir.

'Çeviklik' ise genellikle bir işletmenin, takımın veya bireyin kabiliyeti ya da özelliği olarak görülür. Hızlı değişen koşullara uyum sağlayabilme, verimli çalışma yeteneğini ifade eder. Özellikle yazılım geliştirme özelinde 'Çeviklik' kavramı, zamanı belirsiz olup sürekli değişen gereksinimlere hızlı ve esnek bir şekilde yanıt verebilme kültürünü ifade etmektedir.

'Çevik' ile 'Çeviklik' arasındaki temel fark, birinin ortaya koyduğu sıkı kurallar ve süreçler bütününe olan bağlılığını, diğerinin ise bu kuralların ötesinde projenin asıl hedeflerine yönelik uyarlanabilen daha esnek ve kişiselleştirilmiş bir anlayışı temsil etmesidir.


Resim 2: Agile vs. Agility

İki kavramın incelenmesi hususunda vurgulanması gereken en önemli maddeler şu şekilde sıralanabilir;

- Çevik, bir ilkeler ve kurallar setidir. Çeviklik ise, süreçlere ve durumlara hızlı bir şekilde adapte olma yeteneğidir.
- Çevik yöntemler, ilkelerin tamamen bağlı kalınarak uygulanmasını savunurken çeviklik, takımın ve projenin ihtiyaçlarına göre hareket etmeyi gerektirir.
- Çeviklik, daha yüksek düzeyde bir anlayış olup önceden belirlenmiş kurallardan ziyade sürekli değişimi ve iyileştirmeyi destekler.
- Çeviklik, daha çok iş stratejilerinin ve operasyonlarının müşteri ihtiyaçlarına ve pazar değişikliklerine hızla adapte olabilmesi anlamında kullanılmaktadır.
- Çeviklik, organizasyonların sürekli değişen rekabet ortamında başarılı olmalarına yardımcı olan bir yaklaşım olarak kabul edilmektedir.
- Her takım ve proje benzersizdir. Çevik metodolojiler, bu gerçeği yansıtmak için çeviklik ilkelerince uyarlanmalıdır.
- Temel amaç, iş akışını en iyi hale getirmek ve müşteri tatminini en üst seviyede tutmaktır.

Özetle; ‘Çevik’, bir özelliği ifade ederken ‘Çeviklik’, bu özelliğin uygulandığı daha geniş bir durum veya yaklaşımı ifade etmektedir.

Çevik kavramının temelinde bulunan kurallarına bağlılığı ile her bir takımın benzersizliğini yeterince yorumlamadığı karşımıza çıkmaktadır. Bu eksik yorum, yaklaşımın gerçek amacı olan adaptasyonun ve müşteri odaklı yaklaşımın gözden kaçmasına sebep olmaktadır. Öte yandan çeviklik, bu kuralların ve ortaya konan metodolojilerin sadece araçlar olduğunu ve asıl hedefin her projenin benzersiz ihtiyaçlarına uyum sağlayarak en uygun yaklaşımı bulmak olduğunu vurgulamaktadır. Dar kalıplara katı bir şekilde bağlı kalmak yerine sürekli iyileştirme, kendini değerlendirme, gerekirse geliştirme ve müşteri merkezli olma kavramlarını benimsemektedir. Bu, belirlenmiş metodolojilerden ziyade ekip üyelerinin kişisel kabiliyetlerinden yararlanarak iş birliği içinde çalışmaları ile proje hedefleri üzerinden esnek ve dinamik kararlar almasını gerektirmektedir. Süreçleri sert kurallara göre değil, duruma göre şekillendirme yeteneğini temsil etmektedir.

'Çevik'in öldüğüne dair başlıktaki iddialı ifadenin ana fikri, her projenin ve takımın benzersiz olması ve bu yüzden her birinin kendi çevik yolunu yaratması gerektiğinin vurgulanması ile sadece belirli kural setlerine veya prensiplere sıkışmak yerine sürekli ilkeler ve değerler gözetilerek kendi en iyi pratiklerini geliştirmeleri gerektiğidir. Bu geliştirmeler, kısıtlamaları aşan, takım ihtiyaçlarına uyum sağlamaya odaklanmış yeni bir anlayış olan 'Çeviklik'in doğuşunu simgelemektedir. Ortaya çıkan bu düşünce tarzı, takımlara rehberlik eden ilkeler yerine takımların kendilerine en uygun yöntemleri geliştirmelerine izin vermektedir. Gerçek başarının anahtarı, esnek olmayan metodolojilere değil yere ve duruma göre hareket edebilme kabiliyetine ve sürekli iyileştirmeye olan bağlılığa dayanmaktadır. Bu kavram, organizasyonun ve takımların sürekli değişim rüzgarlarında nasıl sağlam durabileceklerine dair düşünüp karar vermeleri için bir çağrı niteliğindedir.

Özetle, ‘Çevik’ yöntemlerin ötesinde ‘Çeviklik’, iş dünyasının sürekli değişen taleplerine bir durumu etkileme veya kontrol etme amacıyla önceden belirlenmiş veya planlanmış eylemler ile yanıt verme kabiliyetini ifade etmektedir. ‘Çevik Öldü, Çeviklik Yeniden Doğuyor’ sözü ise, yazılım geliştirmede yaşayan veya benimsenen bir felsefenin, her daim gelişmekte olduğunu ve buna adapte olmak gerektiğini hatırlatmaktadır.


Resim 3: “Agile is dead”

Doğru anlamda çevikliğin uygulanabilmesi ile değişen proje, piyasa dinamiklerine hızla uyum sağlayabilme ve kullanıcı ihtiyaçlarını önceliklendirebilme yeteneği, metodolojiden öte bir kültür ve zihniyet meselesi haline gelmektedir. Çevik yöntemlerinin temelinde yatan Scrum, Kanban, Lean ve XP gibi çerçeveler, iş birliğine dayalı, esnek ve hızlı adaptasyonu teşvik etmesine karşın zamanla metodolojinin katı uygulamaları, takımların yaratıcı potansiyellerinin önüne geçmesine sebep olmaktadır. Karşılaşılan bu sınırlılıkların üstesinden gelmek için ortaya koyulan ve henüz tazeliğini koruyan ‘Çevik 2.0’ kavramı karşımıza çıkmaktadır. Bu yenilikçi yaklaşım, katı Agile uygulamalarının ötesine geçerek teorikten ziyade gerçek dünya senaryolarında pratik iyileştirmeler ve kullanıcı merkezli çözümler sunmayı hedeflemektedir. Çevik 2.0, her bir takımın kendilerine en uygun süreçleri bulabilmeleri için esnemiş yapılar ve sürekli iyileştirme üzerine kurulu olduğunu vurgulamaktadır. Bu sayede takımlara artık sadece sabit bir çerçeveye bağlı kalmak yerine, sürdürdükleri projeye en uygun metodolojiyi özelleştirme ve kendi stratejilerine uygun, esnek ve yenilikçi yöntemlere yönelmesinde bir kılavuz niteliği taşımaktadır.

Bulunduğumuz zaman itibarıyla teknoloji ve iş dünyasına hakim olan geleneksel Agile, vadettiği; pratikleri, esnekliği ve sürekli gelişim vaatlerini tam olarak yerine getirememesi ile iş dünyasında devrim niteliğinde bir değişim yaşanmasının ortamını hazırlamaktadır. Çevik 2.0, bir önceki basamağı olan Agile'in getirdiği değişim ve başarı hikayelerini bir sonraki aşamaya taşıma görevini üstlenmekte ve organizasyonlar açısından hayati önem taşımaktadır. Bu, öğrenilmiş dersler ve edinilmiş tecrübelerle sürekli iyileştirme ve müşteri odaklılığı teşvik eden, daha kapsamlı ve esnek bir yaklaşımı ifade etmektedir. Değindiği noktalar ile bir önceki halinin eksikliklerini olabildiğince kapatan ve sektör ayırt etmeksizin uygulanacağı her alanda kalıcı bir etki yaratmaya hazır olduğu görülmektedir. Takım motivasyonunu olumsuz anlamda etkileyen, bugüne kadar göz ardı edilmiş en büyük eksikliklerden biri olan takımlar kadar takımları oluşturan bireylerin de önemli olduğunu savunması ile bu yeni yaklaşım; sağlam, müşteri odaklı ve uyumlu ürünler geliştirme konusunda endüstrinin ön saflarında yer almanın temel taşı olmayı taahhüt etmektedir.

Çevik 2.0'a ihtiyaç duyulmasının temel nedeni, orijinal Agile yaklaşımlarının zamanla kendilerinden beklenen esnekliği ve sürekli gelişimi sağlamada yetersiz kalmasıdır. Çevik 2.0, çevikliği temel alarak bireyleri göz ardı etmeden projelerde sağlamlığın, uyarlanabilirliğin ve kullanıcı odaklılığın korunması gerektiğini ileri sürmekte ve bireylerin, etkileşimlerin süreçler ve araçlar üzerinde daha fazla önem kazanmasını sağlamakta olduğunu desteklemektedir. Agile'nin katı uygulamaları ve takımın dinamiklerine, endüstriyel yeniliklere ve proje bazlı uyum sağlama noktasında eksiklikleri, Çevik 2.0 kavramını ortaya çıkarmıştır. Bu yeni anlayış, uygulanmakta olan Çevik metodolojilerinin ötesine geçerek kullanıcı ihtiyaçlarını merkeze almayı, takım çalışmasını ve sürekli iyileştirmeyi öne çıkarmaktadır. Kısacası Çevik 2.0, Agile manifestosunun temel ilkelerine sadık kalırken geleneksel Agile uygulamalarının karşılaştığı sıkıntıları aşmak, sürekli gelişim ve değişim gösteren bir dünyada proje yönetimini daha anlamlı ve etkili kılmak için geliştirilmiştir.

Sonuç olarak, Çevik 2.0 ve temelinde barındırdığı çeviklik anlayışı, gerek yazılım gerek diğer sektörlerin başlangıcından itibaren süregelen değişimlere başarıyla ayak uydurmak isteyen her organizasyonun, takımın ve bireyin benimsemesi gereken prensipleri öne sürmektedir. Bu, çevikliğin gerçek anlamını vurgulamaktadır. ‘Bilgi Çağı’ olarak nitelendirebileceğimiz bu dönemde faaliyet göstermekte olduğumuz yazılım geliştirme sektöründe başarıyı yakalamanın ve istediğimiz noktaya ulaşmanın yolu; dogmalardan sıyrılarak esnek, değişimlere açık, kullanıcı deneyimini ve ürün kalitesini merkeze alan, müşteri odaklı çözümler ve süreklilik arz eden gelişme anlayışından geçmektedir.

Kaynakça:

Yasir Akyüz
Şubat 14 , 2025
Diğer Blog İçerikleri