Son tarih değişmiyor, kıdemli geliştiriciniz altıncı haftada %140 oranında rezerve edilmiş durumda ve tasarımcının öncesindeki iki haftalık dönemi şüphe uyandıracak kadar sakin. Kaynak yumuşatma, bitiş tarihine dokunmadan bu tabloyu düzeltmenin yoludur.
Bu kılavuzda yumuşatmanın ne olduğunu, seviyelendirmeden nasıl farklılaştığını ve adım adım nasıl uygulanacağını ele alıyoruz. Ayrıca ne zaman doğru tercih olduğunu ve ne zaman olmadığını da açıklıyoruz.
Kaynak Yumuşatma Nedir?
Kaynak yumuşatma, kritik olmayan görevleri esneklik payları içinde kaydırarak kaynak talebindeki tepe ve düşüşleri dengeleyen bir zamanlama tekniğidir. Kritik yolu veya projenin bitiş tarihini hiçbir zaman değiştirmez.
Basitçe söylemek gerekirse, üzerinde oynama payı bulunan görevleri değiştirerek kimsenin bu payı olmayan görevlerde aynı anda birden fazla işe atanmasını önlersiniz. Son tarih, herkesin haftasını kusursuz biçimde dengede tutmaktan daha önemli olduğunda bu yönteme başvurmayı bekleyin.
Kaynak Yumuşatmanın Temel Bileşenleri
Yumuşatma dört fikre dayanır. Bunlardan birini gözden kaçırırsanız ya farkında olmadan seviyelendirme yaparsınız ya da Gantt şemasını sadece eğlence olsun diye yeniden düzenlersiniz.
- Esneklik payının kullanımı: Esneklik payı (veya gecikme payı), bir görevin sorun yaratmadan ne kadar gecikebileceğini gösterir. Serbest esneklik payı, bir sonraki görevi geciktirmeden ne kadar kaydırılabileceğini ifade eder. Toplam esneklik payı ise projeyi geciktirmeden ne kadar kaydırılabileceğini gösterir. Yumuşatma, işi aşırı yüklenmiş haftaların dışına taşımak için bu esneklik payını kullanır. Esneklik payı bittiğinde, yumuşatma alanınız da kalmaz.
- Kritik olmayan yola odaklanma: Yalnızca kritik yolun dışındaki görevler taşınır. Kritik görevlerin tanım gereği esneklik payı sıfırdır; dolayısıyla onlara dokunmak bitiş tarihine dokunmak anlamına gelir.
- Kaynak optimizasyonu: Amaç herkesi tam olarak %100 meşgul etmek değil, talep tepe noktalarını düzleştirmektir. Kaynak histogramındaki ani yükselişleri azaltarak bir kişinin 60 saatlik haftasını, başka birini üç hafta boş bırakmadan iki adet 40 saatlik haftaya dönüştürürsünüz. Bu, kaynak optimizasyonunun dar kapsamlı ve zamanlamayla sınırlı bir biçimidir.
- Kısıtlara uyma: Bitiş tarihi, bağımlılıklar ve sabit kilometre taşları değişmeden kalır. Yumuşatma bunlardan herhangi birini ihlal edecekse durun. Yumuşatmanın yapabileceklerinin sınırına ulaştınız ve farklı bir çözüme ihtiyacınız var.
Kaynak Seviyelendirme ve Kaynak Yumuşatma
Tek cümlelik özet: Kaynak seviyelendirme çalışanlarınızı korur ve son tarihi değiştirebilir; yumuşatma ise son tarihi korur ve esneklik payının izin verdiği ölçüde çalışanlarınıza yardımcı olur.
Kaynak seviyelendirme ile kaynak yumuşatma arasındaki farklar şunlardır:
| Kaynak Seviyelendirme | Kaynak Yumuşatma | |
|---|---|---|
| Sabit olan | Kaynak sınırları (kişiler kapasitelerini aşamaz) | Bitiş tarihi ve kritik yol |
| Değişebilecek olan | Görev tarihleri, kritik yol ve projenin bitiş tarihi | Yalnızca esneklik payları içindeki kritik olmayan görev tarihleri |
| Ana amaç | Aşırı kaynak tahsisini tamamen ortadan kaldırmak | Talep tepe noktalarını esneklik payının izin verdiği ölçüde azaltmak |
| Sonrasındaki aşırı tahsis | Çözülmüş | Azaltılmış, ancak bir miktar kalabilir |
| Tipik tetikleyici | Paylaşılan bir uzman veya küçük bir ekip, mevcut süre içinde işi fiziksel olarak tamamlayamıyor | Yoğun iş yüklerinin bulunduğu sabit bir lansman, sözleşme veya etkinlik tarihi |
| Kullanım sırası | Uygulanabilir bir zamanlama oluşturmak için genellikle önce | Seviyelendirmenin ardından veya tarih değiştirilemiyorsa tek başına |
| Risk | Geç teslimat | Bazı kişilerin hâlâ aşırı yoğun çalışması |
Uygulamada, bir planın gerçekten mümkün olup olmadığını anlamak için seviyelendirmeyi kullanırım. Zaten mümkün olan bir planın uygulanmasını daha az zahmetli hâle getirmek içinse yumuşatmayı kullanırım.
Kaynak Yumuşatmanın Faydaları
- Son tarih yine son tarihtir: Müşteriye lansmanın ertelendiğini söylemek zorunda kalmadan daha insancıl bir zamanlama elde edersiniz.
- Daha az yoğun çalışma haftası: Tepe noktalarını düzleştirmek, kilometre taşlarından önceki 60 saatlik çalışma dönemlerini azaltır. Hatalar, yeniden işler ve sessizce gerçekleşen istifalar bu dönemlerde ortaya çıkar.
- Düşük yoğunluk dönemlerinde daha az boş zaman: Esnek işleri sakin haftalara çekmek, bir sonraki iş devrini beklemek yerine insanların üretken kalmasını sağlar.
- Gerçek sorunlar için daha erken uyarı: Esneklik payı kalmadığı için bir tepe noktasını yumuşatamıyorsanız planın göründüğünden daha sıkı olduğunu öğrenmiş olursunuz; üstelik bunu sorun ortaya çıkmadan haftalar önce fark edersiniz.
- Bir sonraki sefer daha iyi tahminler: Talebin nerelerde kümelendiğini görmek, ekibinizin hangi aşamalarda sürekli olarak yetersiz kaynakla çalıştığını gösterir.
Kaynak Yumuşatmanın Dezavantajları
- Gerçek bir zaman çizelgesine ihtiyaç duyar: Bağımlılık ve tahmin yoksa boşluk payı da yoktur; boşluk payı yoksa yumuşatılacak hiçbir şey olmaz. Yalnızca görev panosuyla çalışan ekipler bunu gerektiği gibi yapmakta zorlanır.
- Güvenlik payınızı harcar: Bir yoğunluğu yumuşatmak için kullandığınız her boşluk payı günü, görev geciktiğinde artık elinizde olmayan bir gündür. Yumuşatılmış bir zaman çizelgesi daha kırılgan bir zaman çizelgesidir.
- Her şeyi çözmez: Aşırı yük kritik yoldaysa yumuşatma buna dokunamaz. Bazı aşırı tahsisler olduğu gibi kalabilir.
- Bir araç olmadan yönetim yükü fazladır: Elle yumuşatma 30 görevli bir projede işe yarar. 300 görevli bir projede ise kısa sürede yorucu ve hataya açık hâle gelir.
Kaynak Yumuşatma Ne Zaman Kullanılır?
Tarih sabit olduğunda ve aşırı yük bir miktar esnekliğe sahip işlerde bulunduğunda yumuşatma işe yarar. Ben bunu şöyle değerlendiriyorum.
| Durum | Yumuşatma kullanılsın mı? | Neden? |
|---|---|---|
| Sabit lansman tarihi ve kritik olmayan görevlerde aşırı yüklenmiş bir uzman | Evet | Bu, ders kitaplarındaki örnektir. Esnek işlerini daha hafif haftalara taşıyın. |
| Aşama öncesi yoğunluk (her şey UAT'den önceki iki haftaya yığılıyor) | Evet | Kritik olmayan hazırlık işlerini projenin daha önceki sakin haftalarına çekin. |
| Birkaç proje arasında paylaşılan bir QA veya kıdemli geliştirici | Evet, proje başına | Her zamanlamayı bu kişinin yoğunluklarına göre yumuşatın. Ardından projeler arasındaki birleşik yükü kontrol edin; sorun genellikle burada ortaya çıkar. |
| Sabit aylık kapasiteye sahip ajans sözleşmesi | Evet | Esnek teslimatları son haftaya yığılmalarına izin vermek yerine ay geneline yayın. Yönettiğim neredeyse her sözleşmede bunu yaptım. |
| Sıkı bir canlıya geçiş tarihine sahip pazarlama kampanyası | Evet | İçerik, tasarım ve kurulum görevlerinin genellikle boşluk payı vardır. Tasarımcının lansman haftasında her varlığı hazırlamasını önlemek için bunu kullanın. |
| Aşırı yüklenmiş görevler kritik yoldadır | Hayır | Yumuşatma bu görevleri taşıyamaz. İnsan ekleyin, kapsamı daraltın veya dengeleme yapıp daha geç bir tarihi kabul edin. |
| Planın hiçbir yerinde boşluk payı yoktur | Hayır | Yumuşatılacak hiçbir şey yoktur. Planın düzenlenmesi değil, yeniden müzakere edilmesi gerekir. |
| Bitiş tarihi değişebilir ve insanların refahı daha önemlidir | Hayır, dengeleme kullanın | Dengeleme, zaman pahasına aşırı tahsisi tamamen ortadan kaldırır. |
Kaynak Yumuşatma Nasıl Yapılır?
Başlamadan önce üç şeye ihtiyacınız var: görev tahminleri, bağımlılıklar ve kime neyin atandığı. Bunlar olmadan üzerinde çalışabileceğiniz bir boşluk payı yoktur; yalnızca daha şık bir yazı tipiyle tahmin yürütürsünüz.
1. Bağımlılıkları Haritalayın ve Kritik Yolu Bulun
Her görevi bağlı olduğu göreve bağlayın, ardından birbirine bağımlı görevlerden oluşan en uzun zinciri belirleyin. Bu zincir kritik yolunuzdur ve yumuşatma için sınırların dışındadır. Bağımlılık haritalama gösterişsiz kısımdır, ancak sonraki her adım buna bağlıdır. Eksik bir bağımlılık gerçekte var olmayan bir boşluk payı oluşturur; "yumuşatılmış" bir planın sessizce bozulmasının nedeni de budur.
2. Kritik Olmayan Her Görev İçin Boşluk Payını Hesaplayın
Kritik yolun dışındaki her görev için hem serbest boşluk payını hem de toplam boşluk payını not edin. Çoğu zamanlama aracı bunları otomatik olarak hesaplar. Bir elektronik tabloda ise her görev için erken ve geç başlama tarihlerine ihtiyacınız olacaktır.
Önereceğim bir alışkanlık şu: boşluk payını görev sahiplerine değil, kendinize görünür tutun. Birine bir görevde iki haftalık esneklik payı olduğunu söylerseniz iş genellikle mümkün olan son günde başlar ve bu da size yumuşatma yapacak hiçbir şey bırakmaz.
3. Yoğunlukları Bulun
Her kişinin atanan saatlerini haftalara göre gösterin (kaynak histogramı) ve talebin kapasiteyi aştığı her haftayı işaretleyin. Yumuşatacağınız sıçramalar bunlardır. Çukurlara da bakın; çünkü işler oraya taşınacaktır.
4. Kritik Olmayan Görevleri Bolluk Süreleri İçinde Kaydırın
En büyük tepe noktasıyla başlayın. Bu tepeye neden olan esnek görevleri, her görevin bolluk süresi içinde kalarak, yakındaki kullanılabilir kapasitesi olan haftalara taşıyın. Uyguladığım iki kural var:
- Toplam bolluktan önce serbest bolluğu kullanın: Bir görevi serbest bolluk süresi içinde taşımak başka hiçbir şeyi etkilemez. Toplam bolluk süresine girmek, görevin ardından gelen görevleri öteleyerek onların bolluk sürelerini de tüketir; böylece bir tepe noktasını düzeltirken iki hafta sonra başka bir tepe oluşturabilirsiniz.
- Mümkün olan yerlerde görevleri bölün: 40 saatlik bir görevin tek bir haftada gerçekleşmesi gerekmez. İki adet 20 saatlik parça, tek bir bloğun sığmayacağı yerlere çoğu zaman sığar.
5. Takvimi Yeniden Kontrol Edin ve Dengesini Koruyun
Her değişiklik turundan sonra bitiş tarihinin, kritik yolun ve sabit kilometre taşlarınızın değişmediğini doğrulayın. Ardından gerçekleşen veriler geldikçe histogramı haftalık olarak yeniden kontrol edin. Dengeleme tek seferlik değildir: geciken tek bir görev, düz bir planı yeniden düzensiz hâle getirebilir.
Görevleri taşırken insanlara neyin ve neden değiştiğini bildirin. "API belgeleriniz entegrasyon çalışmasıyla aynı anda uğraşmamanız için 8. haftaya taşındı" ifadesi, açıklama yapılmadan ortaya çıkan bir takvim bloğundan çok daha iyi karşılanır. Dengelemeden sonra insanlar hâlâ aşırı yoğun çalışıyorsa gerçek kaynak kullanımını kontrol edin. Tahminlerde hata varken plan doğru olabilir.
Kaynak Yumuşatma SSS
Kaynak yumuşatmayla ilgili en sık sorulan soruların bazı yanıtlarını burada bulabilirsiniz.
Kaynak Yumuşatma Projenin Bitiş Tarihini Hiç Değiştirir mi?
Hayır. Bir değişiklik bitiş tarihini ileriye atacaksa bu artık yumuşatma değildir. Bu, dengelemedir. İkisini birbirinden ayırmanın en net testi budur.
Serbest Esneklik ile Toplam Esneklik Arasındaki Fark Nedir?
Serbest esneklik, bir görevin sonraki görevi geciktirmeden ne kadar sarkabileceğini gösterir. Toplam esneklik ise projenin tamamını geciktirmeden ne kadar sarkabileceğini gösterir. Serbest esnekliği kullanmak başka hiçbir şeyi etkilemezken toplam esnekliği kullanmak, onu takip eden görevlerin esnekliğini azaltır.
Bir Tepe Noktasını Yumuşatmak İçin Yeterli Esneklik Yoksa Ne Yapmalıyım?
Dört seçeneğiniz var ve bunların hiçbiri “daha fazla yumuşatın” değil. Kapasite ekleyebilir (bir yüklenici veya başka bir ekipten geçici olarak alınan bir ekip arkadaşı), kapsamı daraltabilir, daha geç bir tarihi kabul edip bunun yerine dengeleme yapabilir ya da üzerinde anlaşılmış bir bitiş noktasıyla kısa süreli fazla mesaiyi onaylayabilirsiniz. Aşırı yükün kendiliğinden çözülmesini beklemek yerine bilinçli bir seçim yapın. Genellikle kendi kendine çözülürken birilerinin tükenmesine yol açar.
Çevik Projelerde Kaynak Yumuşatma Kullanabilir misiniz?
Kısmen. Sprint kapasite planlaması, her kişinin üstlenebileceği iş miktarını zaten sınırlar; bu nedenle günlük tepe noktaları daha az görülür. Yumuşatma, sprint ritminin dışında kalan ancak sabit bir tarihi olan; örneğin sprintlerin katkı sağladığı bir sürüm, geçiş penceresi veya pazarlama lansmanı gibi işler için hâlâ faydalıdır.
Kaynak Yumuşatma İçin Yazılıma İhtiyacım Var mı?
Küçük bir proje için hayır. Yukarıdaki pivot tablo yaklaşımı birkaç düzine görevi kolayca yönetir. Birden fazla projeyle veya ortak uzmanlarla ilgilenmeye başladığınızda, esnekliği hesaplayan ve projeler arası iş yükünü gösteren özel bir kaynak yönetimi yazılımı her hafta saatler kazandırır.
Doğru Kaynak Yönetimi Yazılımını Seçme
Üç proje arasında ortak uzmanları yönetmeniz ve güncellemesi takip ettiği işten daha uzun süren bir elektronik tabloyla uğraşmanız gerekene kadar elle yumuşatma gayet iyi çalışır. Bu noktada kaynak yönetimi yazılımının nasıl seçileceğini bilmek, yalnızca angarya işleri başka bir yere taşıyan bir araç satın almanızı önler. Her şeyden önce otomatik esneklik hesaplamalarını, projeler arası iş yükü görünümlerini ve yalnızca mevcut boş kapasiteyle sınırlayabileceğiniz dengeleme özelliğini arayın.
