Yalın Yazılım Geliştirmede 7 İsraf ve Bunların Önlenmesi

Yayınlanan: 2022-04-18

Yalın Süreç düşüncesi, atık derlemesini ortadan kaldırmaya ve azaltmaya öncelik verir. Büyük şirketler tarafından benimsenen “yalın” yaklaşıma rağmen, bazı standart “israf” uygulamaları “bariz yapıları” nedeniyle varlığını sürdürmektedir. İnsan ve örgütsel uygulamalara derinden kazınmış olan doğa, katı bir yaklaşım benimsenene kadar inatçıdır.

Atık nedir?

Kaynak/zaman veya çaba gerektiren ancak performans veya gelir oluşumuyla ilgili sonuçlar vermeyen her şey “Atık” olarak adlandırılır.

Sonuç olarak, "atık azaltma" prosedürü, ekip üretkenliğini ve sonuçlarını artırmak için tasarlanır ve yönlendirilir.

Ancak, artık Yalın yazılım geliştirme çevikliğin öncüsü olduğuna göre, etkin ürünler ve hizmetler üretmek, maliyetleri düşürmek ve daha hızlı ürün piyasaya sürme süresi sağlamak için yazılım mühendisliği ve geliştirme konusundaki bu yedi atık azaltma ilkesini benimseyebiliriz.

1. Kısmen Yapılan İş

Önceki çalışma asla yeniden başlatılmazsa, bu çaba boşa gitmiştir.

Bitirilene/tamamlanana kadar herhangi bir iş, müşterinin değer önerisine katkıda bulunmaz; bu nedenle, beklemeye alınırsa kodun korunmasını zorlaştırır ve zaman kaybeder.

Çağdaş bir örnek, bir müşterinin bir üründe değişiklik veya ekstra özellikler gerektirmesidir. İş, bunları acilen bitirmeye kararlıdır; geliştirme ekibi devam eden çalışmayı durdurmalı ve gereksinimlere göre hareket etmelidir. Aynı sayfada, önceki çalışma asla yeniden başlatılmazsa, bu bir çaba kaybıdır.

veya

Kodlanmamış belgeler: Gereksinimler ayrıntılı olarak açıklanır ancak hiçbir zaman uygulanmaz.

Bu atık nasıl azaltılır?

  • Odak noktası sadece bir projeyi “başlatmak” değil, “bitirmek” olmalıdır.
  • Devam eden çalışma sürelerini azaltın.
  • Ekip çabaları uygulamaya hazır olana kadar her gereksinim için ayrıntılı spesifikasyonu beklemekten vazgeçin (o zaman bu kayıp bir neden olmayacak).

2. Ekstra İşlemler

Pratik değeri ifade etmeyen ve ürün pazarının zamanlamasını veya başarısını gereksiz yere uzatan herhangi bir ek süreç veya okunmamış belge israftır.

Bununla birlikte, iş politikaları genellikle bu tür belgeleri zorunlu kılar ve önemli evrak işleri ancak asla okunmaz. Bu çabalar abartılı.

Tipik örnekler:

  • Belgelerin gereksiz detaylandırılması.
  • Yürütme olmadan ek yönetim veya planlama.

Nasıl azaltılır?

Kuruluşlar neyin kaybedilen bir neden/çaba ile masaya değer katan arasında ayrım yapabilir, odak anlamlı sonuçlar üretmeye ve “nicelik” işini sınırlayarak daha “kaliteli” iş yapma çabalarını kanalize etmeye odaklanmalıdır.

3. Ekstra Özellikler

Müşteri için/müşteri tarafından eklenen, ancak talep edilmeyen/gelir artışına katkı sağlamayan herhangi bir özellik veya düşük değerli özellikler, emek kaybıdır.

İşletmeler, fazla kullanılmayacak veya kullanılmayacak özellikler eklediklerinde bu geliştirme hatasını yaparlar; bu yeni özellik gerçekten de boşta kalıyor ve uygulamanın karmaşıklığını artırıyor.

Yazılım 80/20 kuralı önemli bir rol oynar - kullanıcıların %80'i özelliklerinin yalnızca %20'sini kullanır. Bu nedenle, mevcut kullanıcıları elde tutmak için bu %20'lik özellikleri birinci sınıf hale getirmeye odaklanılmalıdır.

Ek kodların dezavantajları vardır:

  • Uygulamanın karmaşıklığını artırır.
  • Potansiyel bir uygulama kilitlenme noktası oluşturabilir.
  • Ürün yaşam döngüsü boyunca izleme ve bakım için gereksiz çaba gerektirir.

Bu atık nasıl azaltılır?
Yinelemeli geliştirmeye odaklanın; bu, ilk ürün sürümü sırasında uygulamanızın USP'sini tanımlayan sağlam birincil özellikler oluşturmanız anlamına gelir.

Ürünü işlevsel hale getirmeye odaklanın ve ürünün sürekli gelişimini öğrenmeyi doğrulayın. Ayrıca, pazar analizinize, tüketici davranışınıza ve geri bildiriminize göre uygun özellikler oluşturmaya devam edin.

4. Görev Değiştirme

İnsanları rahat olmadıklarında ve mevcut süreçlerini engellediğinde birden fazla göreve atamak, günlerinin büyük bir kısmını alabilir. Belirli bir veya iki görevi bitirmenin en etkili yolu, birer birer bitirmektir.

Görevler arasında geçiş yaparken, mevcut olanı kapatmak ve diğerinde ivme kazanmak için küçük bir zaman maliyeti vardır, buna bağlam anahtarı denir ve birinden diğerine sürekli geçiş bekliyorsanız, bu içerik anahtarları birikir ve bu da işlemi geciktirir. "sonuç" veya "teslim süresi".

Nasıl azaltılır?

Basit-Bir seferde bir şey.

  • İçerik geçişini azaltın.
  • Kesintileri veya dikkat dağıtıcı unsurları en aza indirin.
  • Önemsiz olanları erteleyin.
  • Kaynakları bir seferde bir proje olarak tahsis edin.

5. Bekleme/Gecikmeler

Onay bağımlılıkları, öncelikle ürün yol haritası sırasında zamanlanmalıdır; belirli bir zaman aralığı tahsis edilmemişse, gecikmiş yanıtlara ve geri bildirimlere hazır olun. Gecikmeler, tüketicinin ürünün gerçek değerini anlamasını da engeller. Ancak geliştiriciler veya tasarımcılar olarak yapılan iş için onay beklemek zorundasınız; bu nedenle, hızlandırılmış durumdan tamamen kaçınamazsınız.

Bunu azaltmak için ne yapabilirsiniz?

  • Mevcut geri bildirimi beklerken bir şey seçin/atayın.
  • Giriş ve inceleme için zaman ayırın.
  • Değişiklikleri e-postayla göndermek yerine hızlı aramaları, yüz yüze görüşmeleri düşünün.
  • Düzenli geribildirim.

6. Hareket

Geliştirme veya araştırma ekipleri, elde edilen bilgilerle dağıldıysa ve bunları uygun şekilde işaretlemediyse/etiketlemediyse, karışıklığın ortadan kaldırılması ve devreye girmesi sonsuza kadar sürebilir. Bir teslimat her teslim edildiğinde bilgi yanlış yerleştirilmişse; sonuçları büyük ölçüde engelleyecektir.

Nasıl azaltılır?

  • Etiket atamaları veya edinilen kaynaklar.
  • Geri bildirim zamanlamasını azaltın.
  • Yüz yüze işbirlikleri.

7. Kusur

Kusurdan kaynaklanan atık miktarı = (Kusurun etkisi) x (Tespit edilemediği süre)

Karmaşıklığı nedeniyle, yazılım geliştirme kaçınılmaz kusurlara neden olur, ancak sorun, yürütme ve sabitleme süresi uzadığında veya sabitleme veya yeniden çalışma etkisinde ortaya çıkan maliyet olduğunda ortaya çıkar. Ek olarak, büyük kod hataları ve hataları, potansiyel olarak tüm ürün yaşam döngüsünü etkileyebilir ve engelleyebilir ve onu güvenlik tehditlerine karşı savunmasız bırakarak milyonlarca gelir kaybına neden olabilir.

Bunu azaltmak için ne yapabilirsiniz?

  • Anında test.
  • Sabit entegrasyon.
  • Ürün testi ve en kısa sürede piyasaya sürüldü.