Yaklaşık on yıl önce, “agile” kelimesini hareketli ve canlı bir hareket tarzını tanımlayan bir sıfattan başka bir şey için kullanmayı düşünmezdiniz. Ancak agile’ın 2001’deki tanıtımından bu yana proje yönetimi ve üretkenlik felsefelerinin yükselen yıldızı olduğunu artık biliyorsunuz. Agile metodolojisi sadece teknoloji alanında kullanılmıyor olup birçok sektörde yerini almaya başladı. Şirketler, yazılım dışındaki alanlarda çalışan ekipler için daha küçük bir ölçekte agile uygulamaları deneyerek ve liderlik eğitimi alarak agile metodolojisini iyice benimsemeye başladı.

2019 yılında yapılan KPMG Küresel Agile Anketine göre agile yaklaşımı tamamen benimseyen şirketlerin sayısı yakın gelecekte yüzde 32’ye yükselebilir. Bu bağlamda, yazılım dışı projeler için de agile yaklaşımla proje yönetimi mümkün gözükmektedir.

Agile Nedir?

Agile Nedir?

Agile Nedir?

Türkçesi çeviklik anlamına gelen agile, bir organizasyonun yeni koşullara uyum sağlayabilme ve yeni iş fırsatları yaratmak için yönünü değiştirebilme yeteneğidir.

Adından da anlaşılacağı gibi ekiplerin hızlı bir şekilde yön ve odak değiştirmek için daha donanımlı olmasını sağlar. Yazılım şirketleri ve pazarlama ajansları proje paydaşlarından haftadan haftaya değişiklik taleplerinin gelmesine özellikle alışıktır. Agile metodolojisi, ekiplerin yaptıkları işi yeniden değerlendirmesine, iş ve müşteri ortamı değiştikçe odak noktasının da ekip için değiştiğinden emin olmak adına belirli artışlarla ayarlama yapmasına olanak tanır.

Agile metodolojisi, bir projeyi birkaç aşamaya bölerek yönetmenin bir yoludur. Paydaşlarla sürekli iş birliğini ve her aşamada sürekli iyileştirmeyi içerir. Çalışma başladıktan sonra ekipler bir planlama, yürütme ve değerlendirme sürecinden geçerler. Hem ekip üyeleri hem de proje paydaşları ile sürekli iş birliği hayati önem taşımaktadır.

Agile Metodunun Tarihi

Agile metodu, 1957 yılında ortaya çıkmıştır. William Royce tarafından geliştirildiği düşünülen metodun temelleri IBM’de gerçekleşen yazılım geliştirme süreçlerinden gelir. Zaman içerisinde birçok farklı isim tarafından geliştirilmiştir. Bu isimlerden biri de E. A. Edmonds’dır. Bu metodu artırımlı yazılım geliştirme yöntemi olarak nitelemiştir. Edmonds 1974 yılında resmi olarak bir makale yayınlamış, bu metodu ve detaylarını herkes ile paylaşmıştır. Son dokunuşlar ise 2001 yılında yapılmış ve bunun için de yazılım dünyasında öne çıkan 17 isim bir araya gelmiştir. Birlikte agile metodolojisi üzerine 2 gün kapsamlı bir şekilde çalıştıktan sonra bir manifesto ve agile metodunun prensiplerini herkese duyurmuşlardır.

Agile Metodu Prensipleri

2001 yılında yazılım alanında önde gelen isimlerin yayınladığı agile metodolojisi prensipleri 12 maddeden oluşur. Bu metodoloji doğru kullanıldığında birçok avantajı da beraberinde getirdiğinden, bu prensipler yayınlanarak metodun doğru kullanımı amaçlanmıştır. Bu prensipler şunlardır:

  • Sadelik agile metodolojisinde oldukça önemli bir kavramdır ve her süreçte bu kavram desteklenir.
  • Yapılan işlerde ilerlemek için yazılımın tam anlamıyla çalışması esastır.
  • Etkili bir iletişim ve verimli bilgi alışverişi için yüz yüze iletişim sağlanmalıdır.
  • Yazılımcılar süreci tek başına yürütmemeli, yapılacak işlerin sahipleri de sürece dahil olmalıdır.
  • Agile metodolojisini uygularken müşteri memnuniyeti her şeyin önüne koyulmalıdır. Bu sebeple yazılımın tam vaktinde ya da daha erken teslim edilmesi önemli bir detaydır.
  • Yapılan yazılım süreç içerisinde belirli aralıklarla müşteriye sunulmalı ve geri bildirim alınmalıdır.
  • Bu metodolojiye göre değişimler doğru kullanıldığında rekabet avantajı sağlar, bu nedenle her değişim kabul edilmelidir.
  • Takımdaki bireylerin motivasyonu ve kendine güveni çok önemlidir. Motivasyonu yüksek kişiler bir arada çalışmalı, uygun ortam sağlanmalı ve gereken destek verilmelidir.
  • Özgüven tekniklerin mükemmelleşmesi ve tasarımın iyi olması için gereken bir niteliktir.
  • Birbirini örgütleyen ve destekleyen ekipler en iyi çalışmayı ortaya koyan ekiplerdir.
  • Bu metodolojide ekibin her bir bireyi daha verimli olmak için neye ihtiyaç duyduğunu düşünmeli ve kendini bu konuda geliştirmelidir.
  • Sürdürülebilirlik önemli ve gereklidir çünkü gelişmeyi ve büyümeyi de beraberinde getirir.

Agile’ı Yalnızca Yazılım Ekipleri mi Kullanabilir?

Agile metodolojisi başlangıçta yazılım geliştirme için tasarlanmış olsa da birçok proje türünü kapsayacak şekilde gelişmiştir.

Agile ilkeleri, hizmetlerden ziyade somut çıktılarla sonuçlanan projelere daha uygundur. Ancak agile, ürün geliştirmede yinelemeli ve artımlı bir yaklaşım kullandığından herhangi bir projeyi daha esnek ve değişikliklere uyarlanabilir olacak şekilde de yapılandırabilirsiniz.

Aşağıdaki proje türlerinden herhangi biri için agile metodolojisinden yararlanılabilir:

  • Hızlı değişen teslimatlara sahip projeler,
  • Gelişen veya başlangıçta net kapsam ve gereksinimleri olmayan projeler,
  • Sık müşteri etkileşimi ve dış taraflarla iş birliği gerektiren projeler,
  • Yenilik ve sürekli iyileştirme odaklı projeler,
  • Birbirine bağlı birçok görev ve birlikte çalışması gereken ekipler içeren projeler,
  • Nihai teslimattan önce bir prototip oluşturmayı gerektiren projeler,
  • Geliştirme sırasında geri bildirime göre hareket edebilmesi gereken projeler.

Agile Metodolojisini Nasıl Kullanabilirsiniz?

Peki, agile ile BT dışı bir ekibi nasıl tanıştırırsınız? Aşağıdaki ipuçları başlamanıza yardımcı olabilir:

Değerlendirin

Süreçlerin mevcut durumunu değerlendirin. BT dışı ekipler için agile metodolojisi, çalışma alanınızın özelliklerine bağlı olarak farklılık gösterebilir. Tüm ekipler, haftalık olarak sonuç veremez. İlk değerlendirme, agile çalışma yöntemleri için giriş noktalarının tespit edilmesine yardımcı olabilir. Ayrıca kuruluşunuzdaki durumun ilk denetimi, agile dünyasında yeniyseniz veya bir süredir bunu uyguluyor olsanız da ele alınabilecek sorunlu noktaları ve darboğazları belirleyecektir.

Yol Haritanızı Belirleyin

Kilometre taşları içeren bir agile metodolojisi dönüşüm yol haritası oluşturun. İlk değerlendirmeden sonra agile geçişiniz için bir SMART planı oluşturabilmelisiniz. Specific, measurable, achievable, relevant ve time-bound sözcüklerinin ilk harflerinin bir araya gelmesiyle oluşan SMART planını inceleyelim:

  • Spesific (Spesifik): Hedefiniz net ve spesifik olmalıdır, aksi takdirde çabalarınıza odaklanamaz ve bunu gerçekleştirmek için gerçekten motive olamazsınız.
  • Measurable (Ölçülebilir): Ölçülebilir hedefleriniz olması önemlidir. Bu sayede ilerlemenizi takip edebilir ve motivasyonunuzu koruyabilirsiniz.
  • Achievable(Ulaşılabilir): Hedefinizin gerçekçi olması ve elde edilebilir olabilmesi gerekir. Başka bir deyişle; hedefleriniz yeteneklerinizi zorlamalı fakat yine de mümkün olmalıdır.
  • Relevant (İlgili): Bu adım, amacınızın sizin için neyin önemli olduğundan emin olmak içindir. Hedeflerimize ulaşmada hepimizin destek ve yardıma ihtiyacı vardır ancak bunlar üzerinde kontrolümüzün devam etmesi önemlidir.
  • Time-Bound (Zaman Sınırlı): Odaklanacak bir son tarihinizin olması gerekir. SMART hedef kriterlerinin bu kısmı, günlük görevlerinizin uzun vadeli hedeflerinize göre öncelik vermesini önlemeye yardımcı olur.

SMART planı gerektiği kadar ayrıntılı olabilir. Başlarken atılması gereken adımları sağlar, dikkat edilmesi gereken engelleri ve ulaşılması gereken kilometre taşlarını tanımlar. Tüm bunlar, dönüşümünüzü sorunsuz ve stressiz hale getirmenize yardımcı olacaktır.

Temelinizi Oluşturun

Gelecekte başvurmak için yol haritasında bir temel oluşturun. Dönüşümünüzde daha da ilerledikten sonra nasıl ilerlediğinizi ve herhangi bir ayarlamanın gerekli olup olmadığını görmek için ara sıra geriye bakma ihtiyacı duyabilirsiniz. Bu, ekiplerin süreçlerin daha önce nasıl çalıştığını hatırlamalarına ve yeni agile metodolojisi yaklaşımıyla hüsrana uğramamalarına yardımcı olur.

Kullanacağınız Metodu Seçin

Agile metodolojisinde kullanılan birçok metot vardır. Doğru metodu seçmek, sizi başarıya ulaştıracak şey olabilir. Scrum, Kanban ve Scrumban bunların arasında en çok bilinenleridir. Scrum’ın odağında müşteri vardır. Müşterinin ihtiyacını karşılamak için tüm kurgusunu takım ve ürün olgusu çevresinde şekillendirir. Kanban da yine aynı şekilde odağına müşterisini koyar ama bunu yaparken sunduğu hizmeti temel alır. Scrum ve Kanban pratiklerinin bazılarının bir arada uygulandığı metot ise ScrumBan olarak adlandırılır.

Başlangıç için Scrum tercih edilebilir. Kanban, daha olgun ekiplere ve çok değişkenli çalışma doğası nedeniyle yineleme yaklaşımının uygulanamadığı ekiplere uyacaktır. Bu tür takımlar, 4, 3, 2 ve hatta bir hafta boyunca bir zaman aralığını bloke etme lüksünü göze alamazlar. Scrumban, iki ana çerçeveyi deneyen ve ihtiyaçlarını en iyi şekilde karşılayan bir süreç kombinasyonu oluşturabilen daha deneyimli agile metodolojisi kullanıcıları için geçerli olacaktır.

Sprint Uzunluğunuza Karar Verin

Ekibiniz Scrum çerçevesiyle başlamayı seçerse doğru sprint uzunluğuna karar vermek son derece önemli olacaktır. Döngüyü yinelemelere bölmek, kafa karıştırıcı ve biraz korkutucu olabilir. Gerçekçi ve yönetilebilir ekibiniz için en uygun sprint uzunluğuna karar verin. Genellikle bir aydan uzun süren sprintlerin yapılması tavsiye edilmez. Ancak tüm olağan iş yükünün bu zaman dilimi içinde baştan sona teslim edilebildiğinden emin olun.

Toplantılarda Kararlaştırın

Günlük stand-up’lardan geriye dönük toplantılara kadar, iş süreçlerinize uygulayabileceğiniz ve daha verimli planlayabileceğiniz çok çeşitli agile metodolojisi yaklaşımları vardır. İş akışlarınızda en iyi neyin işe yaracağına en başından karar verin. Planlama, günlük idare, gözden geçirme, geçmişe bakış ve gerekirse iyileştirme gibi standart yaklaşımlarla başlamanız şiddetle tavsiye edilir. Ekip, çalışma rutinlerinizi yansıtacak toplantılar için en uygun zaman konusunda demokratik olarak anlaşabilir. Birkaç hafta veya birkaç ay sonra gerekirse bu anlaşmaları tartışabilir ve değiştirebilirsiniz.

Rollere Karar Verin

Tipik agile ekip yapısı ürün sahibi, scrum master ve geliştiricilerden oluşur. Geliştirme dışı ekiplere agile uygularken uygun sorumlulukların temsil edilmesini sağlamak için ekip kompozisyonunuzu ayarlamanız gerekebilir. Görevleri tam olarak takip ettiğinizden emin olacak ürün sahibinizi seçin. Bir scrum master, ekibin çalışmalarında agile metodolojisi ilkelerine bağlı kalmasını sağlayacaktır.

“Geliştiriciler” kelimesi yazılım geliştiriciler anlamına gelse de bu sorumluluğu başka bir adla yeniden adlandırabilirsiniz. Yeni Scrum kılavuzuna göre rolün kendisi artık o kadar önemli değil. En önemli şey, bu sorumlulukları Scrum takımı içinde dağıtmaktır. Örneğin bir ürün biriktirme listesi oluşturmak ve onu önceliklendirmek için net bir akış olmalıdır. Tüm çalışmalar etkin hale getirilmeleri için uygun şekilde planlanmalı ve kolaylaştırılmalıdır.

Yapınızı Agile’a Uygun Hale Getirin

Bir geliştirme ekibinde olduğu gibi her şey kelimesi kelimesine tercüme edilemeyeceği için her kelimenin bir eş değeri mevcut olmayabilir. Dolayısıyla bu terimleri mümkün olan en iyi şekilde kendinize göre ayarlamaya çalışın. Örneğin hikaye noktalarında tahmin uygulamak, kültürel bir zihniyet değişimi olduğu için biraz zaman alacaktır. Bu durumda, “çeviride kaybolma” sürecini yumuşatmak için saatlerden hikaye noktalarına yavaş yavaş geçiş yapmaya başlayabilirsiniz. Bununla birlikte ekip yeni sistemle rahat olur olmaz bu saatleri resimden kaldırın. Öncelikle önerilen tüm yeni terimler sağduyulu olmalı ve ekip üyeleri değişikliğin değerini anlamalıdır

Bir agile uzmanı ile çalışmak, iyi bir seçenektir. Ayrıca dönüşümünüzün ilk adımlarında size ve ekibinize rehberlik etmesi için bir Scrum Master veya bir agile koç davet edebilir, eksikliklerinizi tespit edebilir ve süreçleri, işinizin teknoloji dışı doğası tarafından belirlenen özel ihtiyaçlarınıza göre ayarlamanıza yardımcı olabilirsiniz.

Yazılım Geliştirme Süreçleri

Agile metodolojisi bir yazılım geliştirme yaklaşımıdır, dolayısıyla birçok farklı süreçten meydana gelir. Bu süreçler yazılım geliştirme döngüsü olarak adlandırılır ve bu döngüdeki her başlığın büyük bir önemi vardır. Amaç kısa zamanda yüksek değere sahip olan bir yazılım üretmektir. Agile metodolojisinin de bir parçası olduğu bu döngünün 6 aşaması şu şekildedir:

1. Planlama

Planlama aşaması adından da anlaşılacağı üzere planlamanın ve analizin yapıldığı aşamadır. Proje yöneticileri ve proje ile yakından ilgili olanlar bu aşamada aktif rol alır. Yapılacak iş ile ilgili bir dizi soru sorulur ve her birine yanıt alınır. Örneğin potansiyel kullanıcıların kim olduğu, nerede ve nasıl kullanılacağı, sonucunda ne elde edilmek istendiği gibi spesifik sorular sorulur. Bu süreçlerin sonunda elde edilen bilgiler ise projenin ilerleyen aşamalarında yol gösterici niteliğinde kullanılır.

2. Dizayn

Dizayn sürecinde gerekli görülen ve talep edilen her türlü tasarım yapılır. Özellikle sistem mimarisi açısından oldukça gerekli bir süreçtir ve yazılım ve donanım süreçlerinin planlanmasına destek olur.

3. Kodlama

Kodlama, her türlü uygulamanın hayata geçirildiği ana süreçtir. Agile metodu bu döngüde müşterinin isteklerini anlamak ve işi zamanında hatta zamanından önce teslim etmek için bir yönerge niteliğindedir.

4. Test

Bu aşamada yapılan kodlamanın ve diğer değişimlerin doğru işleyip işlemediği test edilir. Bu testler fonksiyonellik, integrasyon, sistem ve onay testlerinden oluşur.

5. Uygulama

Uygulama aşamasında yapılan sistem tam anlamıyla geliştirilmiş olur ve gerçek hayata geçirilir.

6. Bakım

Bakım aşaması ise probleme dayalı olarak ya da talebe dayalı olarak gelişir. Gerektiğinde yapılan bakım işlemi sistemin daha hızlı ve eksiksiz işlemesini sağlar.

Agile Metodunun Avantajları

Agile metodu çok yönlü bir yaklaşımdır ve birçok avantaj sağlar. Bu avantajlar başlıca sürdürülebilirlik, şeffaflık, iş birliği, iletişim ve profesyonellik başlıkları altında toplanabilir.

Agile metodolojisine bakıldığında yapılan işin sürdürülebilir olması çok önemlidir, bu sebeple de sürdürülebilirliği destekleyen bir anlayış hakimdir. Sürece dahil olan yazılımcılar ve müşteriler gibi tüm paydaşlar agile metodu ile sürdürülebilirliğe katkıda bulunur.

Bu metodolojinin prensipleri arasında müşteriye belirli aralıklarla yapılan işi sunmak yer alır. Müşteri sürece dahil edildiği için hem şeffaflık hem de müşteri memnuniyeti sağlanmış olur.

İş birliği tüm iş stillerinde önemlidir ve agile metodolojisinin de en önemli prensiplerinden biridir. Bu metot aracılığı ile çalışanlar birbirleri ile açık iletişim kurar, etkili bilgi alışverişi yapar ve birbirlerinin motivasyonunu artırır. Ekip içinde verimliliği de artırdığı için bu metot büyük bir avantaj sağlar.

Agile metodunda iletişime büyük bir önem verilir, bu sayede de gerek müşteriler gerekse çalışanlar birlikte uyum içinde sürece dahil olur. Bu metot projenin ekip çalışması olduğunu kabul eder ve bu doğrultuda da tüm paydaşlarla etkili iletişim için gereken ortamı sağlar.

Son olarak, bu metodoloji oldukça profesyonel bir yaklaşım olduğundan ötürü sonuçlara da yansır. Süreç profesyonel ve standart bir şekilde yürütüldüğü için müşterilerin memnuniyeti sağlanmış olur.

İlgili Bloglarımız

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir