Çevik Metodoloji Adımları ve Aşamaları: Tam Açıklama [2022]

Yayınlanan: 2021-01-04

Google'ın uygulamalarını düzenli olarak güncellemediğini varsayalım. Ya favori mobil oyununuz herhangi bir güncelleme almadıysa? Bir uygulamanın yeni bir sürümünü almak için aylarca hatta yıllarca beklemeniz gerekse ne olur?

Oldukça rahatsız edici ve hayal kırıklığı yaratacaktır. Ancak, yazılım geliştirmenin Çevik metodolojisi sayesinde şirketler düzenli güncellemeler yayınlar, uygulamalarının hatalarını giderir ve siz kullanıcıyı mutlu eder.

“Çevik Metodoloji Nedir?” Diye merak edebilirsiniz. Bunu bu kılavuzda ayrıntılı olarak açıklayacağız. Öyleyse başlayalım.

İçindekiler

Çevik Metodoloji Nedir – Açıklamalı

Adından da anlaşılacağı gibi, çevik metodoloji, ürünleri sıklıkla piyasaya sürmeye ve değişikliklere uyum sağlamaya odaklanır. Oxford Sözlüğüne göre, 'çeviklik' terimi, hızlı veya hızlı hareket etme yeteneğini ifade eder. Çevik metodoloji, etkinliği ve sonuç odaklı yaklaşımı nedeniyle son birkaç yılda oldukça popüler hale geldi.

Geri bildirime ve artımlı değişikliklere dayanan bu tür yazılım geliştirmeye odaklanan bir proje yönetimi felsefesidir. Çevrenizdeki ortamı nasıl anladığınız ve ne tür belirsizliklerle karşılaştığınız, bu yaklaşımın önemli parçalarıdır.

Çevik geliştirme, üründen çok takıma odaklanır. Bu yaklaşımdaki çözümler, ekibinizin işbirliğine ve çapraz işlevlerine bağlıdır. Çevik bir ekip kendi kendini organize eden bir ekiptir.

Bu, yöneticilerin çevik geliştirmede gerekli olmadığı anlamına gelmez. Yöneticiler, her ekip üyesinin gerekli becerilere sahip olmasını sağlama sorumluluğuna sahiptir. Üyelere işlerinde başarılı olabilmeleri için harika bir ortam sağlamaktan sorumludurlar.

Okuyun: Çevik Metodoloji Mülakat Soruları

Çevik Gelişimin Tarihi

Çevik geliştirme popüler olmadan önce, Şelale yöntemi en popüler olanıydı. Şelale metodolojisi birkaç on yıldan önce yaygındı. Ancak 90'ların sonundaki yazılım geliştiricileri nesli bu metodolojiden memnun değildi. Daha esnek bir yaklaşım istiyorlardı.

Şelale yaklaşımı katıdır ve Çevik metodoloji esnektir. 2001 yılında 17 yazılım geliştiricisi Çevik Manifesto'yu oluşturdu. Ağır, belgeye dayalı yazılım geliştirme süreçlerine bir alternatif geliştirmek istediler. Çevik geliştirmenin dört temel değeri aşağıdaki gibidir:

  • Araçlar ve süreçler üzerinde insanlara ve etkileşimlerine öncelik vermelisiniz.
  • Ayrıntılı dokümantasyon yerine çalışan yazılıma öncelik vermelisiniz
  • Müşterilerin işbirliğine, sözleşmelerin müzakeresine öncelik vermelisiniz
  • Bir plana bağlı kalma yeteneğinizi değiştirmek için yanıt verme yeteneğinize öncelik vermelisiniz.

Bu, belgeleri ve son teslim tarihlerini göz ardı etmeniz gerektiği anlamına gelmez. Bu, yinelemeye, prototiplere, insanlara ve işbirliğine daha fazla odaklanmanız gerektiği anlamına gelir.

Çevik Zihniyet

Özünde, Çevik bir zihniyettir. Çevik Manifesto'nun yaratıcıları, daha iyi açıklamak için Çevik yazılım geliştirmenin 12 ilkesini ortaya koydu:

  1. Ürünlerin sürekli ve erken teslimatı ile müşterilerinizi memnun etmek en büyük önceliğiniz olmalıdır.
  2. Proje gereksinimleriniz geliştirmenin sonraki aşamalarında bile değişirse, onları memnuniyetle karşılamalısınız.
  3. Birkaç hafta veya ay içinde piyasaya sürseniz de, çalışan bir ürünü (yazılımı) sıklıkla teslim etmelisiniz.
  4. Projenin paydaşları ve geliştiriciler arasındaki günlük işbirliği bir zorunluluktur.
  5. Projeniz motive olmuş insanlar etrafında inşa edilmelidir. Onlara ihtiyaç duydukları ortamı ve desteği vermeli ve işi tamamlayacaklarına güvenmelisiniz.
  6. Yüz yüze görüşme, geliştirme ekibinize ve ekibinize bilgi aktarmanın en etkili ve verimli yöntemidir.
  7. Çalışan ürün (yazılım), ilerlemenizin kritik ölçüsüdür.
  8. Sürdürülebilir kalkınmayı teşvik etmelisiniz. Ekibiniz, paydaşlar, kullanıcılar ve geliştiriciler, herhangi bir engel olmaksızın istikrarlı bir akışı sürdürebilmelidir.
  9. Teknik mükemmelliğe sürekli dikkat etmelisiniz ve iyi tasarım çevikliği artırır
  10. Yapmanız gereken işi azaltmak gibi süreçleri basit tutmak çok önemlidir.
  11. Kendi kendini organize eden ekipler en iyi tasarımları, gereksinimleri ve mimarileri oluşturur.
  12. Ekibiniz daha aktif olmayı düşünmeli ve ardından davranışını buna göre ayarlamalıdır.

Çevik geliştirmenin temel ilkelerinin en çok kullanıcı memnuniyetine odaklandığını fark edeceksiniz. Çalışan bir ürünü sık sık piyasaya sürmekten iyi bir tasarıma sahip olmaya kadar, bu yaklaşımın tüm temel değerleri, kullanıcıları mutlu etmeye odaklanmıştır.

Okuyun: DevOps v Çevik

Ve bu doğru. Kullanıcılarınız (veya müşterileriniz) yazılım belgelerinizi veya gelecekteki stratejilerinizi umursamıyor. Ürünü ne kadar çabuk alacaklarını, hata düzeltmelerini ne kadar hızlı alacaklarını ve ürünlerin kendilerine ne kadar değer kattığını umursarlar.

Çevik ve Şelale Arasındaki Farklar

Biliyorsunuz ki Çevik geliştirmenin yükselişinden önce, Şelale modeli en popüler olanıydı. Şelale modeli popülaritesini kaybetti, ancak bu eski olduğu anlamına gelmiyor. Birçok takım hala bu yöntemi kullanıyor. Bu iki yaklaşım arasında onları farklı kılan birçok fark vardır.

  • Çevik model, yazılım geliştirmeye yinelemeli ve artımlı bir yaklaşıma odaklanırken, Şelale modelinde yazılım geliştirmeniz baştan sona sırayla gerçekleşir.
  • Çevik bir projeyi bireysel modellere ayırmanız gerekir. Ancak bunu Şelale yaklaşımında yapmanız gerekmeyecek.
  • Çevik yaklaşımla müşterileriniz çalışan ürününüze erken ve sık erişim sağlar. Size buna göre geri bildirimde bulunabilirler ve gelecekteki iş planınızı değiştirmenize izin verebilirler. Öte yandan, Şelale yaklaşımını izlerseniz müşterileriniz ürüne ancak bittiğinde erişebilir.
  • Çevik model yapılandırılmamışken, Şelale modeli yapılandırılmıştır ve bu nedenle çoğu kişi daha güvenli olduğunu düşünür.
  • Çevik geliştirme, hızlı bir şekilde tamamlayabileceğiniz için küçük projeler için mükemmeldir. Şelale yöntemi büyük projeler için harikadır çünkü daha doğru tahminler yapabilir ve planı buna göre tamamlayabilirsiniz.
  • Çevik geliştirmede Şelale geliştirmeye kıyasla daha az planlama vardır.
  • Çevik bir yaklaşım izlediğinizde, birkaç haftalık yinelemeler halinde bir geliştirme süreci yürütürsünüz. Öte yandan, Şelale yaklaşımıyla, geliştirme sürecini aşamalar halinde tamamlarsınız ve bir aşama bir yinelemeden daha büyüktür.
  • Çevik bir yaklaşımla, sıklıkla geri bildirim aldığınız için sürecin ortasındaki hataları düzeltebilirsiniz. Şelale yaklaşımıyla, nihai ürünü en sonunda ve bundan önce asla test etmeyeceksiniz. Son üründe bir hata bulursanız, projeyi en baştan yeniden başlatmanız gerekir.
  • Çevik geliştirmede dokümantasyon, Şelale geliştirmeye kıyasla daha az önceliğe sahiptir. Aslında, ikincisinde, belgeleri personelinizi eğitmek için de kullanabilirsiniz.
  • Çevik geliştirmede bir yineleme sona erdiğinde, gönderilebilir özellikleri doğrudan müşterilerinize gönderirsiniz. Müşteriler bu özellikleri aldıktan hemen sonra kullanabilirler. Şelale yaklaşımında, fazdan sonra projeyi bitirdiğinizde ürününüzün tüm özelliklerini bir arada gönderirsiniz.
  • Çevik yaklaşımda, testçiler ve geliştiriciler işbirliği yaparken, Şelale yaklaşımında yapmazlar.
  • Agile'da her sprint sonunda kullanıcı kabulü gerçekleştirirsiniz. Şelale yönteminde projenizin sonunda kullanıcı kabulü gerçekleştirirsiniz.
  • Çevik geliştirme, geliştiricilerin planlama ve analiz için yakın ve düzenli olarak iletişim kurmasını gerektirir. Şelale geliştirmede, geliştiriciler planlama sürecinde yer almazlar ve yalnızca kodlama aşamasıyla ilgilenirler.

Çevik Metodoloji Adımları

Çevik metodolojiler birçok çeşittir. Bunlardan en öne çıkanlarından kısaca bahsedeceğiz. Bir metodolojiye, ekibinizin takip etmeyi seçtiği belirli bir kurallar dizisi olarak başvurabilirsiniz. Farklı ekiplerinizin farklı metodolojileri olabilir. Çevik metodolojiler, daha önce tartıştığımız Çevik geliştirmenin temel değerlerini ve ilkelerini izleyenlerdir. Aşağıdaki Çevik metodolojiler vardır:

  • Scrum
  • kanban
  • DSDM (Dinamik Yazılım Geliştirme Yöntemi)
  • Kristal Metodolojiler
  • FDD (Özellik Odaklı Geliştirme)
  • XP (eXtreme Programlama)

Aşağıda birincil olanları tartışalım:

Metodoloji 1: SCRUM

SCRUM, ekiplerin birlikte çalışması için yetkilendirmeye odaklanan bir çerçevedir. Bu bir buluşsaldır. Değişen faktörlere uyum sağlamaya ve sürekli öğrenmeye odaklanır. Bir ekibin görevin başında her şeyi bilmesi gerekmediğini anlar. Scrum, ragbi takımlarının stratejilerine dayanmaktadır.

Tıpkı bir ragbi takımının yaptığı gibi, bir takımdaki işbirliğini daha küçük olanlara bölerek geliştirmeye odaklanır. Bir ragbi takımının belirli sorumlulukları olan farklı oyuncu grupları vardır. Scrum'da ekibiniz ayrıca daha küçük gruplara ayrılır.

Scrum'ın bir artım, bir sprint biriktirme listesi ve bir ürün biriktirme listesi olmak üzere üç temel yapısı vardır. Scrum'ı daha iyi anlamak için her birini kısaca tartışalım:

Ürün İş Listesi

Ürün biriktirme listesi, ekibinizin gerçekleştirmesi gereken görevlerin birincil listesini ifade eder. Bu listeyi koruma sorumluluğu ürün yöneticisine veya ürün sahibine aittir. Bir sonraki yapı, sprint biriktirme listesi için girdi olan gereksinimleri, düzeltmeleri, geliştirmeleri ve özellikleri içerdiğinden, grubun yapılacaklar listesidir.

Sprint İş Listesi

Bu yapı, geliştirme ekiplerinizin belirli sprint döngüsü için seçtiği hata düzeltmelerinin ve öğelerin bir listesini içerir. Ancak, bir sprint biriktirme listesi oldukça esnektir ve gerekirse sprint sırasında değiştirme seçeneğiniz vardır.

artış

Bir artış için başka bir isim sprint hedefidir. Bir sprintten elde ettiğiniz son ürünü ifade eder. Sprint hedefi, geliştirme ekibinizin nihai sonucudur. Ve ancak tüm süreci tamamladığınızda bu hedefe ulaştığınızı söyleyebilirsiniz.

Ekibinizin Play Store'da bir uygulama yayınlaması gerektiğini varsayalım. Bu durumda yayınla düğmesine bastığınızda sprint hedefine ulaştığınızı söyleyebilirsiniz.

Daha önce de belirttiğimiz gibi, Scrum ekibinizi daha küçük bölümlere ayırır. İlk bölüm, sprint toplantılarının ekip kurulumunu ve yönetimini tamamlama sorumluluğuna sahip olan Scrum Master olacaktır. İkincisi, ürün biriktirme listesini oluşturması ve her yinelemenin sonunda teslimatı denetlemesi gereken Ürün Sahibidir.

Sonuncusu, sprint döngüsü üzerinde çalışan Scrum Takımıdır.

Metodoloji 2: Kanban

Kanban, yazılımı tek bir uzun döngüde geliştirmeye odaklanır. Daha önce tartıştığımız çevik yöntem olan SCRUM'dan oldukça farklıdır. Kanban süreçlerinde, tüm süreç boyunca dolaşan kartları kullanırsınız. Kanban artımlı ama yinelemeli değil. Yineleme olmadığından, bir Kanban projesinin belirli bir başlangıç ​​ve bitiş noktası yoktur.

Projelerinin 'Work in Progress' limitleri vardır. Ekibinizin bir seferde görevin küçük bir bölümüne odaklanmasına yardımcı olurlar. Yalnızca öncekini tamamladığınızda döngüye yeni işlevler eklersiniz. Kanban, yazılım geliştirme yaşam döngüsünün birden çok aşaması aracılığıyla oluşturma sürecinin çeşitli aşamalarını temsil eder. Özellikleri Kanban kartları ile temsil eder ve girilen özellik sayısı tamamlanan fonksiyon sayısı kadar olacak şekilde akışını yönetirsiniz.

Metodoloji 3: Özellik Odaklı Geliştirme (FDD)

Özellik Odaklı Geliştirme, özellikleri oluşturmaya ve tasarlamaya odaklanır. FDD'de ekibiniz, oldukça spesifik olan ve bir öğe üzerinde çalışmaya odaklanan kısa aşamalarda çalışır. Tasarım incelemesi, etki alanı incelemesi, kod incelemesi ve bina promosyonu buna bazı örneklerdir. Basit bir deyişle, FDD, özelliğe özel geliştirmeye odaklanır.

Bileşen sahipliği, etki alanı nesne modelleme, düzenli derlemeler, incelemeler ve özellik ekipleri üzerinde çalışmanız gerekir. Sonuçların uygun görünürlüğünü ve projenin mevcut ilerlemesini de sağlamalısınız.

Metodoloji 4: Yalın Geliştirme

Çevikliğin yinelemeli geliştirme metodolojisi, Yalın yazılım geliştirme ilkeleriyle eşleşir. Yalın, akışı yönetmek için süreçteki iş miktarını azaltmayı amaçlar. Bu, teslimat hızını artırmaya yardımcı olur. Yalın ekipler “Tam Zamanında” sistemler olarak işlev görür. Bu, karar vermek için gerekli olan son ana kadar beklemeleri gerektiği anlamına gelir.

Yalın, atıkların ortadan kaldırılmasına odaklanır. Yalın ilkelere göre, müşterinin ödemeyeceği her şey israftır. Ayrıca, tekrarlanabilir ve insan hatalarına son derece yatkın olan süreçleri otomatikleştirmeye odaklanır.

Dünyanın En İyi Üniversitelerinden Yazılım Geliştirme Kursu Alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Son düşünceler

Çevik metodoloji geniş bir konudur. Ne kadar karmaşık olduğunu görebilirsiniz. Modern toplum üzerindeki etkisi her yerde görülebilir.

Genel olarak, Çevik uygulamalar/yöntemler, gereksinimlerin sürekli olarak geliştiği ve değiştiği ortamlar oluşturmaya yardımcı olur. Disiplinli bir proje yönetimi yaklaşımıyla Agile metodolojisi, müşteri ihtiyaçları ile uyumlu yüksek kaliteli yazılımların teslimini teşvik eder ve zorlar. Çevik yazılım geliştirme hakkında daha fazlasını keşfedin, Full Stack Yazılım Geliştirme Kursunda upGrad'ın Yönetici PG Programına göz atın.

Tam Yığın Geliştirici Olun

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur