Kanban “görsel işaret” veya “kart” anlamında kullanılan Japonca bir kelimedir. Ne üreteceğinizi, ne zaman üreteceğinizi ve ne kadar üreteceğinizi gösteren, Agile'i uygulamak için kullanılan görsel bir çerçevedir. Mevcut sisteminizdeki küçük, artımlı değişiklikleri teşvik eder ve belirli bir kurulum veya prosedür gerektirmez (yani Kanban'ı mevcut diğer iş akışlarının üzerine yerleştirebilirsiniz).
Kanban, Toyota Üretim Sistemi ve Yalın (Lean) Üretim'den ilham almıştır. 1940'larda Toyota, süpermarketlerin rafları nasıl stokladıklarını gördükten sonra modelleyerek kendi mühendislik sürecini geliştirdi. Mühendis Taiichi Ohno, süpermarket ve müşteri arasındaki akışı optimize etmek için süpermarketlerin stok talebini karşılayacak kadar ürün stokladığını fark etti. Envanter sadece rafta boş alan olduğunda (görsel bir işaret) yeniden dolduruluyordu. Envanter tüketim ile eşleştiği için, süpermarketler envanter yönetiminde verimliliği artırdı.
Toyota aynı prensipleri fabrika katlarına getirdi. Farklı takımlar, ekstra kapasiteye sahip olduklarını ve daha fazla malzeme çekmeye hazır olduklarını bildiren bir kart (veya Kanban) kullanmaya başladılar. Tüm parça talepleri siparişten çekildiği için Kanban'a bazen “çekme sistemi” de denmektedir.
Aynı fikirler günümüzde yazılım ekipleri ve BT projeleri için de geçerlidir. Bu bağlamda, geliştirme çalışmaları çalışmaya devam ettikleri işler envanter üzerinde gözüküyor ve ekibin işi tamamlandığında yeni bir proje ekibin görsel Kanban panosunda “boş alan” olduğunda eklenebiliyor. Kanban esneklik, şeffaflık ve çıktıyı artırarak üzerinde çalışılan işlerin (work-in-progress WIP) miktarını takımın kapasitesine eşleştirir.
Kanban son derece verimli bir şekilde yazılım geliştirme sürecini yönetmek için kullanılan bir tekniktir. Kanban, Toyota'nın “tam zamanında” (Just-in-time JIT) ürün sistemini destekliyor. Her ne kadar yazılım üretmek yaratıcı bir faaliyet de olsa ve dolayısıyla kitlesel üretim araçlarına göre farklı da olsa, üretim hattını yönetmek için temel mekanizmalar hala uygulanabilir durumdadır.
Kanban ve Agile' ı karşılaştıracak olursak, Kanban'ın Çevik'in bir lezzeti olduğunu hatırlamak önemlidir. Agile yazılım geliştirmeyi uygulamak için kullanılan birçok çerçeveden birisidir Kanban.
Kanban tahtası, projeler için Kanban yöntemini uygulamak için kullanılan bir araçtır. Geleneksel olarak, bu araç iş öğelerini temsil etmek için bir beyaz tahta üzerinde mıknatıslar, plastik çipler veya yapışkan notlar (post-it) yapıştırılarak kullanılan fiziksel bir tahta olmuştur. Ancak, son yıllarda, giderek daha fazla proje yönetimi yazılımı araçları ile online Kanban panoları oluşturulmaya başlandı.
Bir Kanban tahtası, ister fiziksel ister çevrimiçi olsun, farklı şeritlerden veya sütunlardan oluşur. En basit tahtaların üç sütunu vardır: Yapılacaklar (TODO), devam edenler (IN-PROGRESS) ve tamamlananlar (DONE). Bir yazılım geliştirme projesinin sütunları, birikmiş, hazır, kodlama, test, onay ve tamamlanmış gibi sütunlardan da oluşabilir.
Kanban kartları (post-it' ler gibi) işi temsil eder ve her kart bu işin durumunu temsil eden şeritte tahtaya yerleştirilir. Bu kartlar bir bakışta durumu bildirir. Farklı ayrıntıları göstermek için farklı renk kartları da kullanabilirsiniz. Örneğin, yeşil kartlar bir özelliği temsil edebilir ve turuncu kartlar bir görevi temsil edebilir.
Kanban'ın görsel doğası, Agile'ı uygularken eşsiz bir avantaj sunuyor. Kanban tahtası öğrenmesi ve anlaması kolaydır, iş akışını iyileştirir ve döngü süresini en aza indirir.
Kanban'ın belli başlı avantajları şunlardır:
Kanban ile ilgili dezavantajların birçoğu Kanban yönetim kurulunun yanlış kullanımı veya eksik kullanımı ile ortaya çıkar. Güncel olmayan veya aşırı karmaşık bir tahta karışıklığa, yanlışlığa veya yanlış iletişime neden olabilir.
İşte Kanban'ın dezavantajları:
Her Kanban projesi bu temel ilkeleri takip etmelidir:
Ekipteki bir kişi, toplantıları takvimlere yollamak ve sohbetin yolunda gitmesini sağlamak için inisiyatif almalıdır. Scrum Master olmadan bile bu yapılabilir, normalde çok büyük bir sorun değildir.
Kanban tahtası toplantı sırasında odaklanmaya yardımcı olur. Toplantı sırasında, tahtadan soldan sağa gidebilir ve son toplantıdan bu yana taşınmamış hikayeleri arayabilirsiniz. Başarılar hakkında konuşmak yerine, tahtadaki kartlara bakabilirsiniz. Bir toplantı sırasında sormanız gereken tek soru, bir öğenin bitmesine engel olan engelleyiciler veya zorluklarla ilgilidir.
Kaizen toplantısını da deneyebilirsiniz, burada sadece görevle ilgili çalışan kişileri davet edebilirsiniz. Her kişi sorunları ve zorlukları ve işinin nasıl daha verimli bir şekilde yapılabileceğini tartışır. Daha sonra, bütün grup bu sorunlara çözümler bulmak için konuşur.
Kaizen ayrıca, ekibi kritik konuları açık bir şekilde tartışmaya teşvik eden bir kaizen kolaylaştırıcısı (facilitator) da içerebilir.
Kanban bir dereceye kadar, verimlilik için öngörülebilirlik içerir. Zaman çizelgesi kısıtlamaları veya planlaması yoktur, ancak bir takım iş akışını optimize ettikten ve belirli görevlerin ne kadar sürdüğünü anlayabildiğinde, bir miktar öngörülebilirlik söz konusu olacaktır.
Yönetimin daha önceden tanımlanmış öngörülebilirliğe (Kanban yaklaşımı değil) ihtiyacı varsa, beklentileri yönetmeye çalışmanız gerekebilir. Geleneksel bir modelde, öngörülebilir bir teslim tarihiniz vardır, ancak gerçekte, henüz tamamlanmamışsa, kimse o tarihe kadar bir ürünü yayınlamayacaktır. Yönetim ekibi, orijinal tarih ayarına bakılmaksızın her zaman ürünün tamamlanmasını bekler. Kanban modelinde, beklenti, ürünün hazır ve eksiksiz olduğu zaman teslim edilmesine odaklanmak için ayarlanmalıdır.
Kanban modelinde kesin bir teslim tarihini (deadline) ele alabileceğiniz birkaç farklı yol var. Son teslim tarihlerini Kanban kartlarına yazıp, son teslim tarihlerinin zorlu ve hızlı tarihler yerine kurallar olarak hareket etmesini sağlayın. Kanban'da, zamanlama için kaliteden asla ödün vermemelisiniz.
Siz ve ekibinizin bu son tarihlere nasıl yaklaştığını da değiştirebilirsiniz. Kanban'ın en doğru haliyle, onlara gerek yoktur. Kanban sistemi, tüm görevlerin mümkün olan en kısa sürede tamamlanmasını sağlayacak, böylece bir son tarih gerekli olmayacaktır.
Evet, Kanban süreç sonuçlarını iyileştirebilir, üretim sürelerini kısaltabilir ve neredeyse her sektörde iş akışını yönetmeye yardımcı olabilir. Örneğin, oyun geliştirme sektöründe, Kanban video süreci zaman çizelgesini kısaltmaya ve israfı azaltmaya yardımcı oluyor. Gayrimenkulde, çeşitli sözleşmeleri, beklentileri ve listeleri takip ederek daha fazla verimlilik getirir. Ve finansta, Kanban darboğazları hızlı bir şekilde tespit edebilir ve pazara çıkma hızını artırabilir.
Evet. üzerinde çalışılan işlerin limitlerini ayarlarken, ekibinizde kaç kişinin bulunduğuna ve aynı zamanda üzerinde çalışacak kaç görev olduğuna bakmanız gerekir.
Doğru limitleri ayarlamak için bir formül yoktur. Başlangıçta kullanılan sınırların yanlış olması çok yaygındır, ancak ekibin proje ilerledikçe bunları ayarlaması gerekir. Başlamak için iyi bir yer, mevcut her bir kaynak için 1,5'tir, ancak bu sayıyı sürekli olarak tekrar gözden geçirmeli ve gerekli değişiklikleri yapmalısınız.