Kanban nedir?
Kanban , çevik yazılım geliştirme metodolojisinde geliştirme için çok popüler bir çerçevedir. Bir ekibin görevlerini ve çalışma kapasitesini görselleştirmenin şeffaf bir yolunu sağlar. Ekip üyelerinin üzerinde çalıştıkları projenin mevcut durumunu görselleştirmelerini sağlamak için ağırlıklı olarak fiziksel ve dijital panolar kullanır.
Kanban, 1940'larda Toyota'da ortaya çıktı. Kanban'ın Japonca'daki anlamı "reklam panoları" dır. Kanban panosunda sütunlar ve hikaye kartları vardır. Sütunlar hiçbir şey değildir, ancak iş akışı durumları ve kartlar, bir ekip üyesinin gerçekleştirdiği gerçek görevin bir göstergesinden başka bir şey değildir.
Bu Kanban eğitiminde şunları öğreneceksiniz:
- Kanban nedir?
- Kanban ne zaman kullanılır?
- Kanban Kartları
- Kanban Kurulu
- Kanban İş Akışı
- Kanban'ın Dört İlkesi
- Altı Kanban Temel Uygulaması
- Çekme Tabanlı Sistem
- Teslim Süresi ve Döngü Süresi
- Kümülatif Akış Şeması (CFD)
- Devam Eden Çalışma Sınırlaması (Devam Eden Çalışma)
- Scrum Vs. Kanban
Kanban ne zaman kullanılır?
Kanban geliştirme yöntemini kullanmanın nedenleri şunlardır:
- Kanban, herhangi bir alanda kullanılabilir ve yazılım geliştirmede çok etkin bir şekilde kullanılabilir. Kanban proje yönetimi, ekibin verimliliğini artırmaya yardımcı olur.
- Çekme tabanlı bir sistemdir. Bir kişi serbest kalır kalmaz görevler geri çekiliyor.
- Çalışmanızı istediğiniz zaman yayınlamak istediğinizde Kanban kullanılmalıdır. Git dallanma gerektirir, ancak yapılabilir.
- Öncelikleri anında değiştirmek istediğinizde Kanban kullanılmalıdır. Bunun için tek yapmanız gereken bu hikayeyi yapılacaklar sırasının en üstüne koymak.
- Çalışmanızı görselleştirmek istediğinizde ve görevlerinizin ilerlemesini görsel olarak görmek istediğinizde kullanılmalıdır.
Kanban Kartları
Kanban sistemi, işin görselleştirilmesini önerir. Fiziksel ve dijital kartın kullanılmasını önerir.
Kanban kartları, ekibin üzerinde çalıştığı işi temsil ettiği için Kanban panosundaki önemli parçalardır. Bu kartlarda
- Öncelik
- Sahip
- Tür
- Bitiş tarihi
Kanban panosundaki bir sütun çalışma aşamasını temsil eder ve sütuna Devam Eden Çalışma (Devam Eden Çalışma) sınırı koyabilirsiniz. Devam Eden Çalışma sınırı, o sütunda kalabilecek maksimum kart sayısı anlamına gelir .
Kanban proje yönetimi çekme tabanlı bir sistem kullandığından, bir geliştirici özgür olduğunda ve bu durumda, yapılacaklar sütunundan geliştirme sütununa bir kart çekebilir.
Kanban Kurulu
Kanban Board , projeleri kişisel ve ticari amaçlarla yönetmek için Kanaban'ın uygulanmasına yardımcı olan çevik bir proje yönetim aracıdır. Takımların çalışmalarını farklı aşamalarda ve süreçlerde görselleştirmelerine yardımcı olmak için tasarlanmış fiziksel veya dijital (JIRA) bir panodur. Ayrıca, kartları kullanarak sütunlarla çalışmanın aşamalarını temsil etmeye yardımcı olur.
İşin durumunu temsil eden sütunları var
- Yapmak,
- Dev
- Test yapmak
- Bitti.
Bu sütunların her birinde kartlar <= Devam Eden Çalışma sınırı olabilir. Kartlar gerçek çalışmayı temsil ediyor.
Devam eden çalışmayı sınırlandırmak için pozitif sayılar kullanabilirsiniz ve bu sınır numarası hem fiziksel hem de dijital Kanban panolarında sütunların üstüne yerleştirilebilir. Ekibin herhangi bir üyesi kartının durumunu yönetebilir ve tüm ekip iş akışını görselleştirebilir. Bu Kanban eğitiminde bir sonraki adımda Kanban İş Akışı hakkında bilgi edineceğiz.
Kanban İş Akışı
Kanban İş Akışı , ekiplerin Kanaban'da açık politika ve ilkeler tanımlamasına yardımcı olan bir dizi adımdır. Geliştirme ve teslimat döngülerinin çeşitli aşamalarında çalışma devam ederken kuralları ve prosedürleri temsil eder. Kanban iş akışı, belirli bir görevin başlatılması ve teslimi arasındaki adım adım süreçlerden oluşur.
Kanban'ın izlediği temel prensip, "başlatmayı durdur, bitirmeye başla" dır . Devam Eden Çalışma sınırlarının yardımıyla, daha fazla iş yapılır. JIRA gibi herhangi bir modern araçta bulunan özelleştirilebilir Kanban iş akışları ve durumları vardır.
Aşağıda, birçok yazılım ekibinin iş akışı yönetimi için izlediği temel durumlar bulunmaktadır.
Eyaletler | Görevlerin anlaşılması |
Yapmak | Görevler bu durumda ilk kez buraya gelir. |
Analiz için hazır | Görevi analiz edin ve gereksinimleri tamamen ekleyin. |
Geliştirme için hazır | Analiz tamamlandı ve geliştirme başlayabilir. |
Geliştirme aşamasında | Görevler geliştiriliyor. |
Teste hazır | Geliştirme tamamlandı ve şimdi test başlayabilir. |
Testte | Görevler test ediliyor. |
Serbest bırakılmaya hazır | Test tamamlandı; serbest bırakma gerçekleşebilir. |
Yayınlandı / Bitti | Yayınlandı. |
Kanban'ın Dört İlkesi
Aşağıda Kanban'ın ana Dört temel ilkesi bulunmaktadır:
- Şimdi sahip olduğunuz şeyle başlayın : Kanban sistemi, aşamalı olarak çalışmayı ve şu anda sahip olduğunuz şeyle başlamayı önerir. Uygulamalarından biri sürekli iyileştirmek olduğu için sistemi kademeli olarak iyileştirmelisiniz.
- Artımlı, Evrimsel Değişimin Peşinde Olun: Kanban, süreçte kademeli bir değişiklik yapılmasını önerir ve süreçte tek seferde büyük bir değişiklik yapmamalısınız.
- Mevcut Süreç, Rol ve Sorumluluklara Saygı Gösterin: Bir kez daha, şimdi sahip olduğunuz şeyle başlayın ve süreci, rolü ve sorumlulukları aşamalı bir şekilde değiştirin.
- Tüm Düzeylerde Liderlik Eylemlerini Teşvik Edin : Her birey bir lider olarak hareket edebilir ve genel Kanban sisteminin verimliliğini artırmak için fikirler sağlayabilir. Bunun yönetim düzeyinde bir etkinlik olduğunu düşünmemelisiniz ve ekibin en genç üyesi bile lider olarak hareket edebilir.
Altı Kanban Temel Uygulaması
Kanban'ın temel Altı temel uygulaması aşağıdadır:
- İş akışını görselleştirin : Bu ilke , iş akışını görselleştirmek için bir Kanban panosuna (fiziksel veya dijital) sahip olmayı önerir. Bir takımın her bir ferdi kendi kartını ve diğer takım üyelerinin kartlarını görmelidir. Kartlarınızı yukarıdaki görsele göre farklı sütunlarda taşıyabilirsiniz. Ekip içinde çok fazla şeffaflık sağlar ve ayrıca engelleyicileri çözmeyi kolaylaştırır
- Devam eden işi sınırlayın : Kanban, çekme tabanlı bir sistemdir ve devam eden işi sınırlamak ve ekip tarafından verilen zaman çerçevesinde tamamlanabilen görevlere sahip olmak için bir ekibin verimliliğini artırır. Bu Devam Eden Çalışma sınırı, iş akışının başından sonuna kadar geçerlidir. Sınırı, pozitif bir tamsayı kullanarak sütunun üstüne uygulayabilirsiniz.
- Akışa odaklanın: Bu ilke akışa ve herhangi bir kesintiye odaklanır. Kesintiler veya engelleyiciler varsa, bunlar kalıcı olarak düzeltilmelidir.
- Açık Politikalar : Yeniden çalışmayı azaltmak ve dikkat gerektiren veya daha etkili olan alanlara odaklanmak için bir ekip içinde politikalar oluşturulabilir.
- Geri Bildirim Döngüsü : Geri bildirim döngüleri Kanban'da çok önemlidir. Sadece ekip içinde değil, birden fazla ekip, antrenör vb. Arasındadır. Bu, Kanban sisteminin genel sağlığının iyileştirilmesine yardımcı olur.
- Sürekli İyileştirme : Bu, Kanban sisteminin temel ilkesidir. Süreci her zaman iyileştirebileceğinizi ve bunun daha iyi verimlilikle sonuçlanacağını belirtir.
Çekme Tabanlı Sistem
Kanban, görevlerin itilmek yerine çekildiği çekme tabanlı bir yöntemdir. Mevcut kartınızı tamamlar tamamlamaz, Kanban panosunun önceki sütunundan yeni bir kart çekebilirsiniz.
Devam Eden Çalışma sınırı ile Kanban, Teslim Süresi ve Döngü Süresinin iyileştirilmesine yardımcı olur. Bu iki zamanlama arasında mümkün olan en az boşluk olmalıdır. Örneğin, 5 geliştiricimiz ve sadece 1 kullanıcımız var; bu durumda ne olacak? Her zaman test gerektiren birçok kart olacak ve boşta oturup bekliyor olacaklar.
Yukarıda belirtilen sorunların üstesinden gelmek ve verimliliği artırmak için Kanban, sınırlı sayıda kartın çekileceği Devam Eden Çalışma limitleri ile çekme tabanlı yaklaşımı izler.
Bu nedenle, bir test uzmanı elindeki mevcut görevini tamamladığında "test için hazır olma" aşamasından bir görevi çekecektir. Kanban sütunlarındaki Devam Eden Çalışma sınırı (geliştirme aşamaları) ile Kanban iş akışında çok sayıda katılımsız kartınız olmayacaktır.
Çekme tabanlı sistem ayrıca takım için doğru hızı bulmaya yardımcı olur. Doğru hız sağlandığında ekip daha iyi performans gösterecektir.
Teslim Süresi ve Döngü Süresi
Kanban yönteminde, teslim süresi ve döngü süresi yaygın olarak kullanılmaktadır, ikisi arasında bir fark vardır ve karışıklığı önlemek için bunu anlamak önemlidir.
Teslim süresi | Devir süresi |
Teslim süresi, görevin iş akışınıza gelmesi ile iş akışından ayrılması arasında geçen süre olarak ölçülür, yani serbest bırakılmıştır. | Döngü süresi, görevin "devam ediyor" durumuna gelmesi ile görevin "serbest bırakılmaya hazır" durumuna gelmesi arasındaki süre olarak ölçülür. |
Burada, yayın için hazır olma ile gerçek sürüm arasında geçen sürenin dahil edilmemesi de önemlidir.
Döngü Süresi = Devam Eden İş / Verimlilik
İdeal senaryoda, teslim süresi ile döngü süresi arasındaki boşluk minimum olmalıdır ve Kanban, müşteri adayı ve döngü süresi geçmiş verilerini ölçmek için kümülatif bir akış diyagramı (CFD) kullanır.
Kümülatif Akış Şeması (CFD)
CFD, JIRA gibi tüm önde gelen iş akışı yönetim araçlarında bulunan bir grafiktir. Bu grafik, iş akışına giren ve tamamlanan kartları / görevleri zaman içinde biriktiren toplam çalışma kartı / görev miktarını ölçer.
Önceden belirlenmiş süre için ortalama teslim süresi ve döngü süresi tahminine sahip olmanıza yardımcı olur.
CFD diyagramı size düzeltilecek göstergeler veya sorunlu alanlar verecektir. Size net bir resim sağlayacak ve bu şemaya göre. Ekibinizin teslim süresini ve döngü süresini düzeltebilirsiniz.
- Teslim Süresi : Yeni bir kartın iş akışınıza gelmesi ile iş akışından nihai ayrılışı arasındaki süredir.
- Çevrim Süresi : Kartın çalışma durumuna gelmesi ile kartın serbest bırakılmaya hazır hale gelmesi arasında geçen süredir.
- WIP : Devam eden çalışma (WIP), iş akışının farklı aşamalarındaki maksimum iş öğesi miktarını sınırlar.
- Çıktı : Gerçek performanstır ve belirli bir zaman diliminde teslim edilen gerçek kart sayısını söyler.
Çıktı = Devam Eden Çalışma / Döngü Süresi
Devam Eden Çalışma Sınırlaması (Devam Eden Çalışma)
Kanban geliştirme metodolojisinde, Devam Eden Çalışma, bir ekip üyesi veya tamamı tarafından tek seferde üzerinde çalışılabilecek görevlerin / kartların sayısını sınırlar.
Devam Eden Çalışma sınırları, ekibin çalışmalarını stabilize etmesini sağlar ve çekme tabanlı sistemde gerekli olan öngörücü doğayı artırır. Genellikle Devam Eden Çalışma sınırı kararı takımın kendisi tarafından alınır.
Devam Eden Çalışma Sınırlarını ayarlama nedeni:
Devam Eden Çalışma Sınırlarını belirlemenin nedenleri şunlardır:
- Bir kişi bir seferde tek bir göreve odaklanırken, işleri halletmeye odaklanır.
- Ekiplerin kapasitelerini anlamalarına yardımcı olur.
- Üretkenliği ve döngü süresini iyileştirir.
- Yığma görevlerinden kaçınmaya yardımcı olur (bekleme modunda).
- İş akışının hareketine yardımcı olur ve görevler ilerlemeye devam eder.
- Ayrıca, bir birey farklı görevler arasında geçiş yapmadığı için engelleyicileri çözmeye yardımcı olur.
Scrum Vs. Kanban
Scrum ile Scrum arasındaki önemli farklar şunlardır. Kanban
Scrum | Kanban |
Scrum , planlamaya vurgu yapar . Sprint planlamasıyla başlar ve sprint retrospektifiyle sona erer.Takımın sonraki adımlar, öncelikler ve önceki sprintlerden öğrenilenlerle uyumlu olmasını sağlamaya yardımcı olan birçok toplantı düzenlenir. | Kanban, hareket halindeyken değişiklik yapmaya açıktır. Daha az sertlik olduğu ve işlerin sık sık değişebileceği anlamına gelir . |
Sprintler sırasında yapılan zaman ölçümlerinin toplanmasını önerir. | Kanban , ekibin zaman içindeki ilerlemesine genel bir bakış için grafikler önerir . |
Scrum artık takımlardan taahhüt istemiyor. Bunun yerine, sprint hedefleri ve tahminleriyle ilgilidir. | Kanban, zaman sınırlamasına ve tahminlere dayanır . |
Planlamaya vurgu yapar ve bu nedenle tahmin, Scrum'da çok önemli bir role sahiptir . | Kanban'ın tahmin için zorunlu gereksinimleri yoktur . |
Her bireyin kendi rolü ve sorumlulukları vardır. | Belirlenmiş roller yok , bireysel sorumluluklar açısından esneklik . |
Yinelemeler / Sprintlerin süresi sabittir. Bu süre 2 haftadan 1 aya kadar değişmektedir. | Kanban süreye dayalı değildir . Bu şey, Döngü sürelerine göre ölçülür. |
Takımların belirli bir miktar iş yapmaları gerekir . | Bağlılık gerekli değildir, ekipler için isteğe bağlıdır. |
Bu yöntemde, işlevler arası ekipler , yazılım geliştirmede darboğaza neden olabilecek herhangi bir kesintiyle başa çıkabildikleri için önemlidir. | Uzman bir ekibe sahip olmak önemlidir. |
Öyle öğeler eklemek mümkün değildir süregelen tekrarlamalar için. | Ek kapasite mevcutsa, yeni öğeler kolayca eklenebilir . |
Bir sprint iş yığını yalnızca tek bir takıma aittir . | Birden fazla takım Kanban panosunu paylaşabilir. |
Teslim edilecekler , bir dizi çalışmanın tamamlanması ve incelemeye hazır olması gereken sprintlerle belirlenir . | Ürünler ve süreçler ihtiyaç duyulan temelde sürekli olarak teslim edilir . Yani test etme ve gözden geçirme süreci aynı anda devam ediyor. |
Scrum yazılım geliştirme yöntemi , biriktirme listesine odaklanır . | Kanban yöntemi tamamen işlem panosuna odaklanır . |
Her takım üyesinin, Scrum master karar zaman çizelgelerinde belirli bir rolü vardır, ürün sahibi hedefler ve hedefler belirler ve takım üyeleri geliştirme çalışmasını yürütür. | Bir takım için önceden tanımlanmış roller yoktur. Ancak yine de bir Proje Yöneticisi olabilir; Ekip işbirliği yapmaya teşvik edilir ve birlikte çalışır. |
Değişen önceliklere sahip projeler için en iyisi . | Zaman içinde değişmesi muhtemel olmayan sabit önceliklere sahip ekipler için idealdir . |
Sprintler aracılığıyla hızı kullanarak üretimi ölçer . | Döngü süresini veya bir projenin tam bir parçasını tamamlamak için gereken tam zamanı kullanarak üretimi ölçer . |
Scrum , geleneksel modelden projenin uygulanacağı Çevik Scrum modeline tam bir geçiş gerektirir . | Kanban , projede ciddi değişikliklere izin vermez . |
Büyük ölçüde değişen önceliklere sahip projeler için ideal bir yöntemdir . | Sabit önceliklere sahip ekipler için en uygun olanı . |
Scrum'da, tüm süreç işbirliği yapmaya ve kaliteli geliştirme çalışması sağlamak için görevi tamamlamaya odaklanır . | Ekipler, hedeflere ulaşmak ve tüm süreci tamamlamak için gereken zamanı azaltmak için çalışır. Dolayısıyla, zaman döngüsündeki azalma buradaki başarının en büyük göstergesidir. |
Scrum , programlarına vurgu yapar ; devam eden yinelemelere yeni öğeler eklenemez. | Kanban, belirli zaman dilimlerine sahip olmadığı için doğası gereği daha yinelemelidir . Böylece, ek kapasite mevcut olduğunda sürekli olarak yeni öğeler eklenebilir. |
Toplam iş, partiler / Sprintler halinde yapılır . | Tüm proje, tek iş parçacıklı iş öğesi akışlarının hareketi üzerinde gerçekleştirilir . |
Scrum master , bir problem çözücü olarak hareket eder. | Kanban, her ekip üyesinin bir lider olmasını ve hepsi arasında sorumluluk paylaşmasını teşvik eder . |
Scrum, zaman kutulu yinelemeler belirler . | Kanban, bireysel yineleme için farklı bir süre planlamaya odaklanır . |
Scrum, firmaların zamandan ve paradan tasarruf etmesine yardımcı olur . | Kanban yöntemi , sürekli iyileştirme , üretkenlik ve verimliliğe odaklanır . |
Her seviyede istikrarlı ve tutarlı performans iletişimi sağlayın . | Kanban panolarının görsel yapısı nedeniyle ekip üyelerinin hedeflerine çok daha kolay ulaşmaları daha olasıdır . |
Sprint incelemesi sırasında proje kodlanır ve test edilir | Kanban panolarının görsel yapısı nedeniyle ekip üyelerinin hedeflerine çok daha kolay ulaşmaları daha olasıdır . |
Öyle sürekli değişikliklere uyum sağlamak daha kolay çünkü kısa sprintler ve düzenli geribildirim. | Bu edilir düzenli, istikrarlı çıkışı için tasarlanmış , müşteri talebindeki büyük değişiklikler Kanban başarısız yapabilirsiniz. |
Projenin toplam maliyeti minimumdur, bu da daha hızlı ve daha ucuz sonuçlara yol açabilir . | Bir görev doğru tahmin edilmezse, toplam proje maliyeti asla doğru olmayacaktır . Bu gibi durumlarda, görev birkaç sprint'e yayılabilir. |
Bu metodoloji yalnızca deneyimli ekip üyeleri gerektirir . Yani ekip uzman olmayan kişilerden oluşuyorsa proje zamanında tamamlanamaz. | Hiçbir belirli zaman dilimleri ekip üyeleri onlar her aşamasında alabilir ne kadar zaman fikir edinmek asla, her aşaması ile ayrılır. |
Bu Çevik Scrum yönteminde, kaliteli bir ürünü planlanmış bir zamanda teslim etmek daha kolaydır . | Düzenli, istikrarlı bir çıktı için tasarlanmıştır , müşteri talebindeki büyük değişiklikler Kanban'ın düşmesine neden olabilir. |
Proje planı rahatsız asla hatta bir ekip üyesi yaprakları eğer takımı. | Ekip üyelerinden herhangi birinin geliştirme sırasında çıkması proje geliştirmeye zarar verebilir . |
Günlük toplantılar bazen ekip üyelerini hayal kırıklığına uğratır. | Eski Kanban panosu , geliştirme sürecinde sorunlara yol açabilir. |
Büyük projeler, kolayca yönetilebilir sprintlere kolayca bölünebilir . |
Özet:
- Kanban tanımı: Kanban, yazılım, otomobil, mal, ilaç, ayakkabı veya başka herhangi bir üretim işi geliştirmek için çevik bir geliştirme yöntemi olarak tanımlanır.
- Kanban, çalışmayı görselleştirmek için Kanban panosunu kullanır. Sütunları aşamalar (yapılacak iş, geliştirme, test vb.) Ve iş öğesi olarak kartları kullanır.
- Kanban metodolojisi, görselleştirme için fiziksel ve dijital panoyu destekler.
- Kanban çekme tabanlı bir sistemdir ve kartlar önceki aşamadan mevcut aşamalara ekip üyeleri tarafından çekilir.
- Kanban yöntemi, ekibin teslim süresini ve döngü süresini anlamak için CFD diyagramını kullanır. Bu tablo, ekiplerin bu iki zamanlama arasındaki boşluğu gidermelerine ve verimliliği artırmalarına yardımcı olur.
- Kanban geliştirme metodolojisi, Devam Eden Çalışma, bir ekip üyesi veya tamamı tarafından tek seferde üzerinde çalışılabilecek görevlerin / kartların sayısını sınırlar.
- Devam Eden Çalışma sınırları, bir kişi bir seferde tek bir göreve odaklanırken işleri halletmeye odaklanır.