Kimyasal & Malzeme Mühendisliği
Mühendislik Yazılım Geliştirme Yaşam döngüsü için Kanban nasıl kullanılır
Table of Contents
Mühendislik yazılım geliştirme yaşam döngüsünü yönetmek genellikle Toyota'nın üretim zemininden gelen bir juggling eylemidir ve açık bir iş akışı olmadan, işler sıkıştırma, tarihler kaybolup iletişim molaları alır. ”ŞUygunlukT:0)Kanban), başlangıçta Toyota'nın üretim zemininden gelen görsel iş akış yönetimi yöntemi, Kanbanlı yazılım geliştirme uygulamalarınıza uygun şekilde uygulamanız için güçlü bir araç haline gelir.
Kanban Nedir?
Kanban (Japonda “miyye” veya “milli”), 1940'larda Toyota Production System'den ortaya çıktı[Dönetici zaman envanter kontrolü yöntemi olarak). Daha sonra, özellikle David J. Anderson'un 2000'lerin başında çalışmasıyla ilgili olarak, Kanban bir sistem) tarafından satın alındı: İş eşyaları her aşamaya sadece takım kapasiteye sahip olduğunda, aşırı yükleniyor ve şişeleri önlemek.
Tipik Kanban kurulu, bir iş akışını temsil eden sütunlardan oluşur - örneğin, [[Şeref:0)Relog, To Do, In Progress, Review, Done) ilerlemeleri için soldan hareket eder.
Kanban vs. Scrum
Kanban genellikle Scrum ile karşılaştırılabilir, başka popüler bir Çevik çerçeve. Her ikisi de iteratif teslimat ve işbirliği vurgularken, önemli farklılıklar vardır:
- [FONT:0)Cadence:[[Dönder: 1) Scrum sabit uzunlukta iterasyonlarda çalışır (sprints), Kanban, reçetesiz zaman kutuları olmadan sürekli bir akışta çalışır.
- [FONT:0)Roles:[DÜDÜDÜT:1) Scrum belirli roller (Scrum Master, Ürün Sahibi, Geliştirme Ekibi), Kanban, takım kendini katı rol tanımları olmadan örgütselleştirmeyi teşvik eder.
- [FONT:0)Per-work taahhütleri: [Dönetici: [Dönetici:0]) Scrum, yeni çalışma yapmadan önce çalışmayı bitirmeye taahhüt eder (WIP sınırları ile).
- [FONT=0)Değişim esnekliği:[Dönetici:[Dönetici:0) Kanban, herhangi bir zamanda rerioritizasyona izin verir, çünkü yeni öğeler sadece arkaloga girer; Scrum, sprint kapsamını bir kez sprint başlar.
Birçok takım her iki (Scrumban) elementlerini birleştirir, ancak saf Kanban öngörülemeyen iş, destek talepleri veya sık öncelik değişimleri ile ilgilenen mühendislik takımları için eşsiz avantajlar sunar.
Kanban Prensipleri
Alt ilkeleri anlamak, yöntemi etkili bir şekilde uygulamanıza yardımcı olur:
- [FONT:0) İş akışını genişletin.[DÜDÜT:1] Bu yüzden görev gizli değildir.
- [FONT:0)Limit Workin-Progress (WIP)[Dönetici:0) Cap her iş akışı aşamasında multitasking ve döngü süresini önlemek için izin verilen öğelerin sayısı.
- [FONT:0]Manage akışı[Dönetici:0) Aktif olarak, işlerin aşamalar üzerinden nasıl hareket ettiğini ve bağlantı kurmasını izleyin.
- [FONT:0) Politikalar açık bir şekilde açıklanır.[DÜDÜT:1) Kartların nasıl hareket ettiği için açık kuralları tanımlar (örneğin, kartı, kaliteli kapıları ilerletebilir “Done” tanımı.
- [FONTNT:0] Geri bildirim döngülerini uygular.[[Dönetici:0) Sistemi incelemek ve iyileştirme yapmak için düzenli incelemeler kullanın.
- [FONT:0] İşbirliğine dayalı olarak, deneysel olarak evrimleşir.[ Verileri kullanın (köne zaman, zaman) değişiklikleri test etmek ve süreci sürekli olarak geliştirmek.
Kanban'ı Yazılım Geliştirmede Uygulamayın
Kanban'ı mühendislik SDLC'ye getirmek büyük bir kızdırıcı gerektirmez. Mevcut iş akışınızla başlayın, görsel olarak haritalayın ve sonra onu rafine edin.
1. İş Akış Aşamalarınızı Tanımlayın
Her aşama bir iş öğesi hareket eder, konseptten dağıtıma. Yazılım mühendisliği için ortak aşamalar şunlardır:
- [FONT:0)Backlog: [Döneticiler, özellikler, bug raporları ve teknik borç öğeleri henüz öncelik vermedi.
- [FONT:0)Ready / Öncelik:[Dönemli, tahmin edilen ve çekilmeye hazır olan Maddeler.
- [FONT:0)In Development:[Dönetici:[Dönetici:0) Aktif kodlama, birim testleri ve geliştirici inceleme.
- [FONT=0)Kod İnceleme: [Dönetici: 0,0) Peer inceleme veya otomatik çekme-request kontrolleri.
- [[Düzücü/S:0)Testing / QA: [DüzgT:1] Fonksiyonel, entegrasyon veya regresyon testleri.
- [FONT:0)Stating / UAT:[Dönetici:[Dönetici:0) Kullanıcı kabul testi veya serbest adayı geçerlilik.
- [Üye:0)Done (Ürün): [Dönetici: [Dönetici:0) başarılı bir şekilde dağıtılır ve takip edilir.
sütunlarınız gerçek sürecinizi yansıtmalıdır - yanlış sınırları eklemek. Örneğin, ayrı bir QA aşamasına sahip değilseniz, onu gelişim veya inceleme içine birleştirir.
2. Kanban Board'ı oluşturun
Fiziksel bir beyaz tahta ve yapışkan notlarla başlayabilirsiniz, ancak dijital araçlar daha iyi takip, analitik ve uzaktan işbirliği sunar. Popüler seçimler şunları içerir:
- [FONT=0)Jira Software[[Dönemli: 1) Kanban şablonu ile) – Atlassian ekosistemini zaten kullanan büyük işletme takımları için güçlü.
- [FONT:0]Trello[[[Dönetici: 1) Basit, görsel, küçük takımlar için harika.
- [FONT:0) Azure DevOps Boards[[Dönetici: 1 ) – Microsoft araç ve CI /CD boru hatlarıyla bütünleşiyor.
- [FONT:0)Linear – modern, hızlı, mühendislik takımları için tasarlanmıştır.
- [FONT:0)Directus[[DÜT:1) - açık kaynak kafasız CMS, özel Kanban tarzı panolar oluşturmak için uzatılabilir, uygun iş akışlarına veya veri entegrasyonlarına ihtiyacınız varsa ideal.
Aracın ne olursa olsun, her takım üyesinin gerçek zamanlı olarak tahtayı erişebileceği ve güncellemesini sağlayın.
3. İşitin-Progress (WIP) Limitleri
WIP sınırları Kanban'ın kalbidir. Yeni görevler başlamadan önce mevcut çalışmayı bitirmek için takımı aşırı yüklemeyi ve zorlamayı önlerler.
- Kaba bir kuralla başlayın: “In Development” gibi bir sütun için, geliştiricilerin sayısına eşit bir sınır oluşturun (örneğin, 4 geliştirici → WIP limiti 4).
- Bir hafta sonra tahtayı koru. Kartlar bir sütunda (bottleneck) yığılırsa, WIP'i biraz arttırır veya bu aşamayı boarm etmeye karar verir.
- Çok yüksek sınırları koymayın; anlamsız hale gelirler. Hedef, onları hemen düzeltmek değil, yüzey şişeleri yüzeye çıkarmaktır.
Pro ipucu: Ayrıca global bir WIP limiti (Eklog dışında gemide izin verilen toplam kart sayısı) kurdu. Bu, aynı anda çok fazla inisiyatif başlatmaktan takıma engel oluyor.
4. Görselleştir ve Populate Kartları
Her kart ayrı ayrı ayrı, değerli bir çalışma parçası temsil etmelidir:
- [FONT:0]Title ve açıklama[Dönetici: 1 ) - açık ve koncise.
- [FONT:0]Priority[[Dönetici: 1 ) - yüksek / orta veya bir rütbe.
- [FONT:0)Assigned owner[[Dönetici: 1) Kanban kendini tayin eder.
- [FONT:0]Due tarihi[Dönemli bir anlaşma (SLA) ilgiliyse.
- [FONT:0)Dependencies - diğer kartlar veya dış görevlerle bağlantılı.
- [FONT:0)Checklist[[Dönetici:0) veya alt-tasks kartların içinde ilerlemeyi takip etmek için.
Kart tipini göstermek için renk kodlaması veya etiketler kullanın (feature, bug, teknoloji borcu, artış) böylece tahta bir bakışta iletişim kurar.
5. Pull Politikaları Oluşturun
Bir kart bir sütundan diğerine hareket ettiğinde açık kurallar tanımlayın. Örneğin:
- Bir kart sadece geliştiricinin kapasiteye sahip olduğu zaman “In Development” girebilir ve kart açıkça tanımlanır.
- “Komi İnceleme” en az bir onay gerektirir ve tüm otomatik çekler geçer.
- "Done", kritik hataları olmayan en az 1 saat boyunca üretime ve doğrulanan anlamına gelir.
Bu politikaları fiziksel yönetim kurulunuza veya dijital tahtadan bağlantılı bir wiki sayfasında yazın.
6. İzleme ve Sürekli Geliştir
Kanban, normal incelemeler tutun “set-itand-for-it” yöntemi değildir:
- [FONT:0]Daily stand-up:[Dönetici] ([Dönetici) Kurula, blokerleri tespit edin ve iş hareket ettirilmesini sağlar.
- [FONT:0)Replenishment toplantısı:[Dönetici:0)[Dönetici:0)Dönlendirme toplantısı:[Dönetici:0)Dönlendirme toplantısı:[Dönetici:[Dönetici:0)Dönetici:0)
- [FONT:0]Hizmet teslimi incelemesi:[Dönem:[Dönem: 0:0) Aylık, döngü zamanı, transkript ve sınıfsal akışlar gibi analizler, iyileştirmelere rehberlik etmek için.
Bu ölçümleri veriye dayalı değişiklikler yapmak için kullanın. Örneğin, döngü zamanı yükselirse, hangi sütunun gecikmelere neden olduğunu ve farklı WIP limitleri veya süreç iyileştirmeleriyle deneydiğini inceleyin.
Kanban'ı Yazılım Geliştirmede Kullanımının Faydaları
Kanban'ı kabul eden mühendislik takımları sürekli olarak ölçülebilir gelişmeler rapor ediyor. İşte gerçek dünya etkileri olan temel faydalar.
- [FONT:0]Enhanced Viability ve Transparency.[[Dönetici] Her takım üyesi, hisse sahibi ve yönetici tam olarak ne üzerinde çalışıldığını görebilir ve ne zaman yapılırsa, bu durum güncel toplantılar ve güven yaratır.
- [FONT:0] Geliştirilmiş Akış ve Yükselen Lisans Zamanını Azalmış (Dönetici) WIP'i sınırlayarak, takımların daha hızlı görevleri bitirdiğini -% 30-50 oranında kesme döngüsü zamanını kesmelerini sağlayan bir çalışma, LeanKit (şimdi Planview) Kanban'ı kullanan ekipler ortalama %37 oranında azalttı.
- [FONT:0]Büyük Flexability.[[DÜDÜT:1] Çünkü Kanban hızlanır ve sabit sprintler gerektirmez, takımlar iş ihtiyaçlarını değiştirebilir. kritik bir boğa arkalogun üst kısmından hareket edebilir ve hemen çekilir, tüm sprintleri bozmadan.
- [FONT:0]Kontinuous Delivery.[[Dönergeli bir akışla], takımlar haftada daha sık daha küçük artışlar sağlayabilirler. Birçok Kanban takımı günde birden fazla kez – veya CI/CD ile bir araya geldiğinde.
- [FONT:0)Redük Multitasking ve Burnout WIP sınırları güç odak noktası değildir. Geliştiriciler artık beş kısmen tamamlanmamış görev; bir tane daha başlamadan önce bitiriyorlar.Bu daha düşük bilişsel yük ve iş memnuniyeti geliştirirler.
- [FONT:0)Better İşbirliği ve Hesaplanabilirlik.[DÜDÜDÜ] Kurul, takımın kendi kendine örgütlenmesini teşvik eder. Bir sütun tam olduğunda, takım üyeleri engellenme veya inceleme çalışmasına yardımcı olmak için adım atır.Bekle-zaman görünürlük bir hesap verebilir.
Kanban'ın mühendislik verimliliğini nasıl artıracağına daha derin bir bakış için, TANban Bölgesi'nden (FLT:1)Kanban metrikleri bakınız.
Kanban Başarısı için En İyi Uygulamalar
Başarılı Kanban uygulaması, uzun vadeli gelişmeleri sürdürmek için bu en iyi uygulamaları kapsar.
Küçük başlayın ve Iterate
Tüm mühendislik sürecini günde bir kez daha fazla incelemeye çalışmayın.Bir takım veya bir proje seçin, birkaç sütunla basit bir yönetim oluşturun ve iki hafta boyunca kullanın. Ne işe yaramıyor ve ne olursa olsun, o zaman evrimleşir.
Tüm Takımları Etkiliyor
Kanban bir takım sporudur. Her üyeyi sağlayın - Geliştirmeciler, QA, ürün sahipleri, teknoloji yol açar - yöntemi anlamak ve yönetim ve politikalar üzerinde bir çalıştay yapın.Mevcut iş akışını birlikte haritalamak için bir çalıştay yapın.Takaslının onu takip etmesi ve önerileri daha muhtemel olduğunda.
Metrikleri kullanın, Sadece Gut Feel
En azından bu üç metrikleri baştan takip edin:
- [FONT:0)Cycle zamanı: [Dönetici: [Dönetici:0]İş başladığından itibaren zaman:[Döneticiler) “In Progress” olarak başlayana kadar “Done” olarak adlandırılır.
- [FONT:0)Lead zamanı:[[Dönetici:0)İşin geri dönüştüğü zaman zaman zaman zaman:[Dönetici).
- [FONT:0)Throughput:[Dönetici: [Dönetici: 1 ) Haftaya kadar tamamlanmış olan ürün sayısı.
Bir kontrol grafiğinde değişim görmek ve teslimat tarihleri tahmin etmek için zaman ayırın. Jira ve Azure DevOps gibi kollar bu otomatik olarak üretir veya bunları manuel olarak oluşturabilirsiniz.
Bir Komün olarak WIP Limits koruyun, Öneri Değil
Bir sütun WIP limitine çarptığında, kart hareket edene kadar yeni kartlar çekilir. Bu disiplin, takımın açık çalışmalarda boğulmasını engeller. Limit defalarca vurulduğunda, şişenck'ı araştırır - takım kod inceleme hızını veya otomat testlerini geliştirmeli.
Süreçte Düzenli Retrospectives tutun
Günlük standlara ek olarak, sisteme odaklanmış aylık bir “Kanban retrospektif” programı kendi başına yoğunlaşıyor. Soru: WIP limitlerimiz hala uygun mu? Politika kurallarımızı güncellememiz gerekiyor mu?Gücretsiz kullanın:0)Kanban kata[Dönerli bir rutin) ayda bir hipotez test etmek için.
CI/CD ve DevOps Uygulamaları ile Bütünleştirin
Kanban, otomasyonla birlikte en iyi şekilde çalışır. Örneğin, otomatik olarak bir çek talebi açıldığında “Testing” veya “Done” bir dağıtım başarılı olduğunda, bu manuel güncellemeler azaltır ve tahtanın doğru kalmasını sağlar.
Modern DevOps aracı ile otomatik Kanban tahtaları kurmak için pratik bir kılavuz için, [FONTT:0]Atlassian Kanban rehberi[Dön 1: 1).
Kurul'u Context'inize Adapt the Board to Your Context
İki mühendislik ekibi aynı değildir. Ekibiniz acil sıcak ekleri idare ederse, sütunların üzerinde bir “Critical” şerit ekleyin veya olay yanıtı için ayrı bir yönetim kurulu.Uzun süreli araştırma aksanınız varsa, kendi WIP limitiyle bir “Spike” sütunu oluşturun.
Ortak Pitfalls ve Them'dan Nasıl Kaçırmak
- [FONT:0]Too birçok sütunu:[Dönetici:[Dönetici:0) Mikro-taraflardaki takımı burying.Keep it to 5–7 columns maximum.
- [FONT:0] Açık politikalar yok:[Döneticiler sınırsız hareket eder, karışıklıklara yol açar.
- [FONT:0) WIP sınırlarını çok yüksek tutuyor: Limitler anlamsız hale gelir. Sadece gerekliyse katı ve gevşek başlayın.
- [FONT:0) Kurulu güncellemek için:[Dönetici: 0,8|Dönetici, gerçekliği yansıtmıyorsa sadece kullanışlıdır.Eğer takım kartları hareket etmeyi unutursa, yönetim kurulu her gün rutinin bir kısmını güncellemektedir.
- [FONT:0] metrikleri görmezden gelin:[Dönetici olmadan, objektif olarak geliştirilemezsiniz.
- [FONT:0) Paydaşları dahil etme:[Döneticiler ve liderlik kurulunu anlamıyorsa, onları atlayabilir ve kaos yaratabilirler. Kanban'ın ihtiyaçlarını nasıl ele aldığını (bilite, tahmin edilebilirlik) öğrenin.
Başlayın: İlk 30 Gün
Kanban'ı mühendislik SDLC'de uygulamaya hazır mısın? Bu yol haritasını takip edin:
- 5. Hafta 1. Haftaya göre:[Dönetici:0) 1. Haftaya göre, mevcut iş akışınızı haritalayın ve her aşaması bir görevin içinden geçer.
- 2. Hafta 2:[Dönetici:0) Dijital bir araç (veya fiziksel tahta) seçin ve sütunları inşa edin. Tüm mevcut aktif iş öğelerini kart olarak ekleyin.
- 3. Hafta 3. Hafta[Dönetici:0) 3. Haftaya göre ilk WIP sınırları takım büyüklüğüne göre ve şişeleri gözlemleyerek yeni sistemi kullanarak çalışmaya başlayın.
- 5. Hafta 4:[Dönetici:0))Rezersiz bir şekilde tutun. İntediğiniz şeye dayanarak sütunlar, sınırlar veya politikalar.
İlk aydan sonra, bir temel çizgisine sahip olacaksınız. Deneye devam et -Kanban sürekli bir gelişme için bir sistemdir, bir zaman kurulum değil.
Kanban'ı yazılım mühendisliğinde okumak için, kontrol edin.ENFLT:0)InfoQ'nun Kanban'ın yazılım takımlarında etkileri ).
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Kanban, mühendislik yazılım geliştirme hayatını kaotik bir gerici bir işletmeden uzaklaştırır, düzgün, öngörülebilir bir akışa dönüştürür ve sistemi sürekli olarak adapte eder, ekipler teslim hızınızı azaltır ve işbirliğinizi geliştirir ve küçük bir başlangıç veya büyük bir işletme yaparsanız Kanban’ın ilkeleri, bağlantınızı uygun hale getirmek için yeterince esnektir.