Agile Consulting&Coaching

Yalın ve Çevik

Yazılım geliştirmede uyguladığımız çevik yaklaşımların arkasında yalın üretim, yalın üretimin arkasında da Toyota Üretim Sistemi (TÜS) bulunmaktadır. Çevik yaklaşımlardan beklenen faydayı sağlayabilmemiz için, Toyota’nın onlarca yıl süren yalın kültür yaratma çabalarının arkasındaki felsefeyi anlayabilmemiz ve yalın düşünmeyi özümsememiz gerekir. Yazılım geliştirmede çevik yaklaşımları ortaya koyan, çevik manifesto ve çevik prensiplerin altına imza atan isimlerin bunu başarıyla yaptıklarını rahatlıkla söyleyebiliriz.

Bizim bütün yaptığımız müşterinin bize siparişi verdiği andan parayı tahsil ettiğimiz ana kadar geçen zaman hattına yoğunlaşmaktır. Ve biz değer katma özelliği bulunmayan fireyi ortadan kaldırarak bu süreyi kısaltıyoruz. / Taiichi Ohno (Toyota Üretim Sistemi Kurucusu)

Yalın üretimin ortadan kaldırmaya çalıştığı sekiz fire yazılım geliştirme faaliyetleri için de geçerlidir:

Fazla Üretim

  • Kapsam oluşturma baskısı içinde, önceliği olmamasına rağmen detaylandırılan gereksinimler. Proje süresince birçoğu değişecek ve bir kısmı hiç geliştirilmeyecektir.
  • Müşteri tarafından kullanılmayacak olmasına rağmen geliştirilen özellikler. Birçok paket program hiç kullanılmayan fonksiyonlar içermektedir.

Bekleme

  • İşe devam edilebilmesi için süreç boyunca alınması gereken onaylarda geçen süreler ( Sözleşme onayı, proje başlangıç dokümanı onayı, analiz onayı).
  • Bu süreler değer üretilen süreden çok daha uzundur.
  • Direkt olmayan iletişim nedeniyle yaşanan zaman kayıpları.

Gereksiz Taşıma/Aktarma

  • İşe başlamadan önce büyük resmin algılanabimesi için, hazırlanan kapsamlı dokümanların gözden geçirilmesi.
  • Karşılaşılan problemlerin eskalasyonu sırasındaki bilgi aktarımı.
  • Daha öncelikli işlere zaman ayrılması gerektiği için, işin ortasında, yapılan işi başkasına aktarmak zorunda kalmak.
  • Aynı anda yürütülen başka işler nedeniyle, üzerinde çalışılacak işe her geri dönüşte hafızayı tazeleme ihtiyacı.

Fazla İşlem/ Yanlış İşlem Yapma

  • Gerekenden yüksek kalitede ürün geliştirmek.
  • Düzenli aralıklarla kod sınanmadığı için daha geniş bir aralıkta hata aramak ve gidermeye çalışmak.
  • Efor tahmininde işi yapana güvenmemek ve tekrar tahminlemek.

Fazla Stoklama

  • Projenin başında tüm gereksinimlerin belirlenmesi, detaylandırılması, analiz edilmesi.
  • Geliştirilen ürün özelliklerinin, sürüm için proje sonuna kadar bekletilmesi, müşteri için değer yaratılmasının geciktirilmesi.

Gereksiz Hareket

  • Farklı lokasyonlar arasında gidip gelen ekip üyeleri.
  • Geliştirme sırasında karşılaşılan sorunlarda, projenin başlangıç aşamasındaki adımlara geri dönmek.
  • Geliştirme, test ve üretim ortamları arasındaki taşımalarda yaşanılan hareketlilik.

Kusurlar

  • Ürün uygulamaya alındıktan sonra ortaya çıkan hatalar.

Çalışanların Yeteneklerini Kullanmamak

  • Sürekli iyileşme yolunda, çalışanların fikir ve önerilerini serbestçe ifade edebilmelerini sağlayacak güven ortamının eksikliği.
  • Geliştirme sürecinin başından sonuna kadar katkı sağlayacak tüm ekiplerin, büyük resimden değil sadece kendi çalışma alanlarından sorumlu tutulması ve büyük resmi görmelerine, öneri geliştirmelerine imkan sağlanmaması.

Değer katma özelliği bulunmayan fireyi ortadan kaldırmak Toyota Üretim Sistemi’nin kalbidir. Ancak bunu başarabilmek, uzun vadeli bir felsefeyi, zorlayıcı hedefleri, saygıya ve güvene dayalı ekip çalışmasını, sürekli iyileşmeyi mümkün kılacak öğrenme ve problem çözme yetkinliklerine sahip olmayı gerektirir. Yalın bir kültür yaratmak yerine, sadece süreç iyileştirmeye odaklanan pek çok kurum hedefledikleri başarıya maalesef ulaşamamıştır. Aynı şekilde, yazılım geliştirmede uyguladığımız çevik yaklaşımlar da, bir kültür değişimini sağlayacak çevik prensiplerin içselleştirilmesi durumunda kalıcı fayda sağlayacaktır.

Toyota Tarzı, Jeffrey K. Liker

Agile&Lean Influences- Where did Kanban, Scrum, Scrumban, and Lean Start-up come from?, Joseph Hurtado