Search
  • Dinçer Özturan

Öncelik Belirleme Oyunu

Updated: Sep 23, 2019


"Çevik yöntemlerin hayatımıza girmesiyle, yazılım geliştirme ekiplerinin üzerinde çalışacağı talepler ve gereksinimler için doğru önceliklendirme yapmak daha da önemli hale geldi. Aslında her zaman önemliydi, ancak hem müşteriler hem de yöneticiler öncelik belirlemekten - seçim yapmaktan - sürekli kaçınıyordu. Genel beklenti, tüm taleplerin bir an önce tamamlanmasıydı. Halbuki kısıtlı kaynaklarla yapılan her çalışmada olduğu gibi, önceliklendirme kaçınılmaz bir gereksinimdi. Önceliklendirme yapmamak, bir nevi deve kuşunun kafasını kuma gömmesi ile eşdeğerdi. Neyse ki, çevik yöntemlerin yaygınlaşmasıyla birlikte, talepler ve gereksinimler arasında önceliklendirme yapmak, yazılım geliştirme çalışmalarını planlamanın doğal bir parçası haline geldi.

O Bir Vazgeçilmez!

Kurumlar için gerçekleştirdiğimiz kurumsal çevik dönüşüm projelerinde, müşteri konumundaki iş birimlerinin alışmakta zorlandıkları konuların başında, önceliklendirme çalışmaları geliyor. İş birimlerimiz, onlarca (bazen yüzlerce) kritik talep arasında seçim yapmakta güçlük çekebiliyorlar. Zira, herbir talebin arkasında, ya yasal uyum zorunluluğu, ya rekabette avantaj sağlama, ya da operasyonel verimliliği artırma gibi önemli bir iş ihtiyacı yatıyor. İşte bu makalemde, talep ve gereksinimlerin önceliklerinin belirlenmesi sürecinde, iş birimlerimizin farklı durumlarda dikkate alabilecekleri farklı kriterlerin neler olabileceğini ve bu çalışmalarda uygulanabilecek teknikleri sizlerle paylaşmak istedim.

Hangi Kriterleri Dikkate Almalı?

Önceliklerin belirlenmesi sürecinde iş birimlerimiz farklı durumlarda, farklı kriterleri dikkate alabilirler. Bunlara şu örnekler verilebilir:

Kriter 1 - İş Değeri: Bu yaklaşımda, taleplerin öncelikleri, herbir talebin kurum için oransal değerine göre belirlenir. İş birimi tarafından bir tür fayda-maliyet analizi yapılır. Yazılım geliştirme sürecinde, ekip - her zaman - o dönem için en değerli olan talepler üzerinde çalışır. Böylece birim çalışma bazında üretilen iş değeri maksimize edilir. Bu yaklaşım, mevcut bir çözümü parça parça iyileştirmeyi amaçlayan çalışmalarda çokça tercih edilir.

Kriter 2 - Risk Seviyesi: Bu yaklaşım genellikle proje bazlı çalışmalarda, proje kapsamındaki maddeler arasında öncelik belirlerken tercih edilir. Bazı projelerde, projenin topyekün başarısız olmasına neden olabilecek yüksek riskli gereksinimler bulunur. Eğer böyle bir durum sözkonusu ise, bu gereksinimlerin önceliği maksimuma çekilir ve ekip ilk önce bu gereksinimler üzerinde çalışır. Yüksek risk içeren bu gereksinimler başarı ile karşılandıktan sonra, geriye kalan gereksinimler diğer önceliklendirme kriterleri dikkate alınarak önceliklendirilir. Bu yaklaşım sayesinde, proje için çok fazla kaynak harcanmadan önce, kritik riskler ortadan kaldırılmış olur.

Kriter 3 - Zorluk Seviyesi: Bu yaklaşımda önce karşılanması en kolay olan taleplere veya gerekliliklere odaklanılır. Bu yaklaşım, yeni bir iş yapış biçiminin, yeni bir sürecin devreye alınması veya yeni bir yazılımın seçimi için yapılan pilot çalışmanın kapsamını belirlerken kulllanılır. Bir paket çözüm hayata geçirilirken de tercih edilebilir. Bu sayede, tüm ekip, kolay maddeler üzerinde çalışarak, kısa sürede sürece, yazılıma veya ürüne aşina olur.

Kriter 4 - Başarılı Olma İhtimali: Bu yaklaşımda, hızlı biçimde hayata geçirilebilecek ve başarı ihtimali yüksek gerekliliklere öncelik verilir. Bu yaklaşım özellikle kurum içerisindeki yeni bir girişimin, farklı paydaşlardan yeterince destek görebilmesi için, projenin erken aşamalarında elle tutulur bir ilerleme kaydedilmesi gereken (belirli bir yeniliğe karşı direncin yüksek olduğu) durumlarda tercih edilir.

Kriter 5 - Yasal Uyum: Bu yaklaşımda, kurum dışından organizasyona yaptırım olarak gelen yasal zorunluluklara uyum gerekliliklerine öncelik verilir. Bazen, yasal uyum gereklilikleri, paydaşların ilgi odaklarından daha önemli olabilmektedir.

Kriter 6 - Diğer Talepler İle İlişki: Bazen, görece değersiz talepler, yüksek değerli talepler için ön koşul olabilmektedir. Bu durumda, söz konusu talepler, daha yüksek değerli taleplere göre, daha yüksek önceliğe sahip olabilirler. İş birimi için çok önemli olan bir rapor üzerinde çalışılmaya başlamadan önce, iş birimi için hiç değeri olmayan bir dizi kod kütüphanesinin geliştirilmesi gereksinimi, buna örnek olarak gösterilebilir.

Kriter 7 - Paydaş Karar Birliği: Bu yaklaşımda, hangi taleplerin en değerli olduğu konusunda, tüm paydaşların karar birliğine varmaları beklenir. Bu yaklaşım, genellikle diğer öncelik belirleme yaklaşımları ile birlikte kullanılır. Özellikle bir yazılım geliştirme ekibinin, birden fazla iş biriminin farklı taleplerini karşılaması gerektiği durumlarda, bu kriter önem kazanır.

Kriter 8 - Aciliyet: Bu yaklaşımda, gerekliliklerin öncelikleri zamana yönelik hassasiyetlerine göre belirlenir. Örneğin, kurumun katılacağı bir fuar başlamadan önce, fuar için hazırlanan yeni kampanyaların kurumun web sitesinde yayınlanması gerekliliği, zamana yönelik hassas bir önceliğe sahiptir.

Hangi Teknikleri Kullanmalı?

Öncelik belirlerken tercih ettiğiniz kriterler ne olursa olsun, bu çalışmalar sırasında kullanabileceğiniz, dünyada kabul görmüş bir dizi teknik mevcuttur. Bunlardan da kısaca bahsedelim.

Teknik 1 - MoSCoW: MoSCoW analizi, gereklilikleri dört kategoriye ayırır: Zorunlu (Must), Olmalı (Should), Olabilir (Could), Olmamalı (Won’t). Söz konusu kategorilerin anlamları şu şekildedir:

  • Zorunlu: Çözümün başarılı olarak kabul edilebilmesi için nihai çözümde karşılanması zorunlu olan gereklilikleri temsil eder.

  • Olmalı: Mümkünse, çözüme dahil etmek için yüksek öncelikli gereklilikleri temsil eder. Temelde karşılanması kritik olmakla birlikte, karşılanmaları keskin biçimde zor veya imkansız olmaları durumunda başka yollarla da karşılanabilecek gerekliliklerdir.

  • Olabilir: "Gerekli" olmayan ama karşılanması beklenen isteklerdir. Zaman, finansman gibi kaynakların yetmemesi durumunda göz ardı edilebilirler.

  • Olmamalı: Tanımlı bir üretime geçiş dönemi dahilinde kapsama alınmayacağı konusunda paydaşlarca karar birliğine varılmış, gelecek dönemlerde değerlendirilmesi beklenen taleplerdir.

Teknik 2 - Süre ve Bütçe Sabitleme: Süre ve bütçe sabitleme yönteminde, belirli bir zaman periyodu içerisinde, proje ekibinin gerçekleştirebileceği iş miktarı baz alınarak öncelikler belirlenir. Bu yöntem, özellikle çözümün sabit bir teslim tarihine yetiştirilmesi gereken durumlarda veya sık aralıklarla gerçekleşen ürün iyileştirme çalışmalarında uygulanır. Birçok çevik yaklaşım ve metodoloji, sabitlenmiş süre ve bütçe periyoduna iterasyon ismini vermektedir. Söz konusu periyot, Scrum'da Sprint olarak anılır. Sabit süreli bu döngülerin kapsamına hangi gerekliliklerin gireceğini belirlemek için birkaç yaklaşım bulunmaktadır.

  • Hepsi İçeride: Sabit süre ve bütçe çerçevesinde, tüm gereklilikler kapsama alınarak çalışmaya başlanır. Teslim tarihini veya bütçeyi tutturmak için kapsama alınan gereklilikler, zaman içerisinde kapsamdan teker teker çıkartılır. (Scrum'da bu yöntem benimsenir, ancak kapsamdan çıkarma işlemi Sprint'i başarısız kılar.)

  • Hepsi Dışarıda: Sabit süre ve bütçe çerçevesinde, gereklilikler teker teker kapsama alınarak işe başlanır. Teslim tarihi ve bütçe sınırına ulaşıldığında kapsama alma işlemi durdurulur.

  • Seçimli: Kapsama önce yüksek öncelikli gereklilikler alınır. Teslim tarihine veya bütçe sınırına yaklaştıkça ya duruma göre gereklilikler kapsama alınır ya da kapsamdan çıkartılır.

Teknik 3 - Değer Dağıtma: Bu yöntemde, her paydaşa sabit miktarda kaynak (sahte para, bütçe, puan vs.) verilir. Her paydaşın, bu kaynağı tüm çözüm özellikleri arasında paylaştırması istenir. Gerekliliklerin öncelikleri, herbir gerekliliğe pay biçilen toplam kaynak miktarına göre belirlenir. En çok kaynak toplayan gereklilik (para, puan vs.) en önce geliştirilir. Örneğin, bir projenin dört temel paydaşına 100.000 TL bütçe verilir ve bu bütçeyi, eldeki 114 talebe paylaştırması istenir. Herkes kendi paylaşımını yaptıktan sonra, A talebinin üzerinde 16.000 TL, B talebinin üzerinde ise 400 TL biriktiyse; A talebi, B talebinden 40 kat daha değerlidir. Bu durumda A talebinin, B talebinden çok daha öncelikli olması beklenir.

Dikkat Tuzak Var!

Yukarıda kısaca tarif etmeye çalıştığım kriter ve teknikler, önceliklendirme çalışmalarınızda size yol gösterecektir. Buna karşın, "önceliklendirme" kelimesi ağzımızdan çıktığı anda, bir takım tuzaklar da beraberinde belirir. Bunlardan birincisi, bazı paydaşlarımızın zor seçimler yapmaktan uzak durması ve tüm talepleri yüksek öncelikli olarak belirlemeye çalışmasıdır. Tuzaklardan ikincisi ise teknik ekip tarafında belirir. Çözüm geliştirme ekibi, bilerek veya bilmeyerek, öncelik belirleme çalışmasının sonuçlarına etki etmek için, bazı gerekliliklerin büyüklüklerini şişirebilir veya gerçekte olduğundan daha karmaşık bir gereklilik olduğunu iddia edebilir. Bu noktalara öncelik belirleme sürecinde mutlaka dikkat edilmesi gerekir.

"Sonuç olarak, önceliklendirme vazgeçilmezdir! Kararlı ve etkin biçimde yapıldığında, yazılım geliştirme çalışmalarının kurumunuza katkısı, göz ardı edilemeyecek kadar çok artacaktır. Bu oyun, oynanmaya değer...

#çevik #çeviklik #öncelik #oyun

231 views

Recent Posts

See All

İşyerinde Kronik Surat Asıklığı

Bir danışman olarak, birçok kurumda, yüzlerce yönetici, binlerce çalışanla karşılaşıyorum. Sıkça dikkatimi çeken ve bana oldukça garip gelen durumlardan birisi, bazı yönetici ve çalışanlardaki kronik

Adres : CAFERAĞA MAH. NEŞET ÖMER SOK. NO:5-7/3 34710 Kadıköy İstanbul Türkiye

Eposta: info@projera.com | Telefon: +90 216 336 0667 | Fax: +90 216 336 0667

© 2019 PROJERA DANIŞMANLIK LTD.