Kanban ve Scrum Nedir?
Kanban Nedir?
Kanban, kelime anlamı olarak etiket anlamına gelen ve yalın konseptte bilgi iletiminde kullanılan bir araç olarak karşımıza çıkmaktadır. Çekme sisteminde, malzemenin hareket görmesini veya üretimin başlamasını tetiklemeyi amaçlayan bilgi iletiminde kullanılan araçtır.Kanban, bir çekme sisteminde malzemelerin üretilmesi veya çekilmesi için yetki ve talimat veren uyarı aracı olarak bilinir. Tam zamanında üretim sistemi içinde olan kanban, küçük stok parçalarının üretim merkezlerine dağıtımında büyük bir çekme gücüne sahip bulunmaktadır.
Kanbanlar daima üretim akışına tersi olacak yönde, ancak, fiziksel birimlerle birlikte sondan başa doğru hareket ederek üretim aşamalarını düzenli şekilde birbirine bağlarlar. Bu sistem, geriye giderek ilerleme olarak da bilinir.
Kanban sistemi üretimini sıkı takip etmek adına basit kartlar kullanır. Buradaki basit mantık şu şekildedir: Hiçbir iş istasyonunun kendisini takip eden istasyondan talep edilmedikçe ürün üretmesine izin verilmez yani her istasyon kendinden önceki istasyonun müşterisi konumundadır. Bu basit görüş birikmiş envanterle çalışmayı engeller. Bilgisayar kullanımına hiç gerek duyulmaz.
Scrum Nedir?
Zaman içerisinde projelerin daha büyük oranda karmaşık bir hal alması, bununla birlikte müşterinin büyük resmi göremeyip gereksinimlerini tam olarak ortaya çıkartamaması, teknolojinin çok hızlı değişmesi ile beraber gereksinimlerin çabuk değişmesi ve bunu projelere doğru şekilde entegre edemeyişimiz gibi problemlerden dolayı çoğu proje başarısızlık ile sonuçlanmaya başladı. Böylece proje sürecinin yönetilmesi konusu önemli bir konu haline geldi ve “Çevik (Agile) Yazılım Geliştirme Manifestosu” ortaya atıldı.Çevik (Agile) Yazılım Geliştirme Manifestosu; Süreçten çok bireylerin daha etkileşimli olmalarına, kapsamlı dökümantasyonlardan ziyade çalışan yazılıma, sözleşme pazarlığından ziyade müşteri ile işbirliği durumuna, bir plana bağlı kalmaktan ziyade değişime karşılık vermeye dayanır. Bu sayede değişen gereksinimler projenin son aşamasında bile kabul edilebilir şekli alarak, daha kısa süreli bildirimler ile hata payı az hale getirildi ve çalışan yazılım müşteriye sunuldu, iş sahibi ve yazılımcılar sürecin tamamı boyunca birlikte çalıştı, böylece yüz yüze iletişime dayandığı için bilgi alışverişi sağlandı.
Peki Scrum nedir? Scrum; Agile proje yönetim metodolojilerinden biri olarak biilinir. Kompleks yazılım süreçlerinin yönetilmesi amacıyla kullanılır. Bunu yaparken bütünü parçalayan; tekrara dayalı bir yöntemi izler. Düzenli geri bildirim ve planlamalarla hedefe ulaşmayı amaçlar. Bu anlamda ihtiyaca yönelik ve esnek bir yapıya sahiptir. Müşteri ihtiyacına göre düzenlenip şekkillendiği için müşterinin geri bildirimine göre yapılanmayı sağlar. İletişim ve takım çalışması oldukça önemlidir. Scrum, 3 temel prensip üzerine kurulmuştur;
● Şeffaflık; Projenin ilerleyişi, sorunlar,gelişmeler herkes tarafından görülebilir şekilde olmalıdır.
● Denetleme; Projenin ilerleyişi düzenli olacak şekilde kontrol edilir.
● Uyarlama; Proje, yapılabilecek değişikliklere kesinlikle uyum sağlayabilmelidir.
Scrum ve Kanban Arasındaki Benzerlikler Nelerdir?
● İkisininde özünde Çeviklik ve Yalınlık içerir.● İşler emir komuta ile değil iş çekme prensibine dayalı şekilde tamamlanır.
● İkiside aynı anda geliştirilen işleri sınırlamayı önerir
● İkiside sürecin iyileştirilmesi adına şeffaflığı kullanır.
● İkiside deneycilik sistemine dayanır.
● İkiside olabildiğince erken ve sık yazılım teslimatı yapmayı hedefler.
● İkisinde de geliştirme takımları kendi kendini yönetir.
● İkisinde de büyük işlerin küçük parçalara ayrılması tavsiye edilir.
Scrum ve Kanban Farkları Nelerdir?
Her şeyden önce hangi metodun daha iyi olduğundan çok işin durumuna hangisinin daha uygun olduğuna karar verilmesi gerekir. Scrum oldukça planlı bir süreç devamlılığı ister fakat Kanban daha esnek bir süreç olarak işler. Scrum’da başlangıç ve bitiş süreleri belirlenmiş bir biçimde sağlanır. Kanban’da ise bu durum adına işin bitimi için belli bir süre belirlenmez. Scrum’da her kişinin bir görev rolü bulunur ancak Kanban’da bu roller bulunmaz.İkisi de eş zamanlı olarak yapılan işleri sınırlamayı önerir. Scrum’da bu Sprit süresi boyunca geliştirilecek iş sayısı ile yapılırken Kanban’da WIP miktarı limitlenerek yapılır. Kanbanda da Scrumda da şeffaf, deneyci, hızlı anlayışlar benimsenmiştir. Scrum’da geliştirme takımlarının çapraz fonksiyonel olması zorunlu bir kural durumundayken Kanban’da opsiyonel olup uzmanlığın ön planda olduğu takımlar oluşturulabilir. Scrum’da düzenlenen sprite yeni işler eklemek imkânsız durumdayken Kanban’da iş durumu uygunsa eklemek oldukça mümkünüdür.
Scrum’un özelliklerini biraz daha inceleyecek olursak: İş listeleri belli takımlar tarafından sahiplenilmiştir, ürün sahibi, geliştirme takımı, scrum master gibi bazı roller belirlenmiştir ve bunun hedefi, bir iş temposu yakalayıp bunu geliştirmektir. Ekiplerin uygulayabilmesi adına pek çok bilgiyi öğrenmeleri gerekmektedir. Bu gibi durumlarda öğrenme süreleri biraz uzun zaman alabilir. Öğrenmenin arkasından ekiplerden gelişip kod kalitesini daha da artırmaları ve daha fazla sorumluluk sahibi olmaları beklenir.
Kanban’ın özellilerine tekrardan bakacak olursak, iş listesinde önceliklendirme opsiyoneldir, işler akış mantığı ile ilerler ve kısa vadeli hedefler yerine işin sürekli olarak akması hedeflenir. Kanban’ın şartı olan kural ise WIP (Work In Progress) limitlemedir. Bununla birlikte süreçlerin daha hızlı ve düzenli ilerlemesine olanak sağlar. Burada Scrum’da olduğu gibi roller bulunmayıp yalnızca bir Kanban koçundan destek alınabilir. Destek alınan şirket dışından bir uzman olabilir.
Kanban Metodunun Sağladığı Avantajlar
Kanban metodu bir süreç içinde olan projelerde kullanılan görsel bir sisteme verilen isimdir. Bu sistem işletmelerin belirli avantajlardan yararlanmasına olanak sağlar.● Kanban metodunu kullanmak iş akışını daha kolay hale getirir.
● Kanban tekniği iş sürecinin görselleştirilmesine olanak sağlar.
● Süreç içerisinde bulunan darboğazların belirlemesini kolaylaştırır.
● Darboğazların düzeltilmesine yardım eder.
● Kanban sistemi sayesinde işletmeler işlerini düzenli ve hızlı bir şekilde ortaya koyabilir.
● Kanban metodu optimum hızda hareket etmenize olanak sağlar.
● Kanban yöntemi proje yönetiminde ekip çalışanlarının verimliliğini yükseltir.
● Kanban ekibinizin elinden gelen en iyi şeyi yapmasını kolay hale getirir.
Aslına bakıldığında kısacası kanban yönteminin hem proje sürecini yönetmeyi kolaylaştırdığını hem de ekipte bulunan kişilerin verimliliğini yükselttiğini söylemek mümkündür. Bu avantajlardan yararlanmak ve proje yönetimini daha başarılı bir şekilde yürütmek isteyen kişilerin ise kanban ilkelerine uygun bir şekilde hareket etmesi gerekir.