26 Kasım 2014

Yazılım süreç iyileştirme projelerinde yol gösterecek değer ve prensipler – yazılım süreç iyileştirme manifestosu

Yazılım projelerinde yazılımın kalitesini arttırmak, maliyetleri azaltmak ve geliştirme faaliyetlerini daha etkin kılmak amacıyla yazılım süreç iyileştirme faaliyetleri önem kazanmıştır.

Yazılım projelerinde yazılımın kalitesini arttırmak, maliyetleri azaltmak ve geliştirme faaliyetlerini daha etkin kılmak amacıyla yazılım süreç iyileştirme faaliyetleri önem kazanmıştır. Buna bağlı olarak organizasyonların süreç iyileştirme projelerinde ihtiyaçlarına yönelik seçecekleri yöntemler ve modeller, iyileştirme faaliyetlerinin başarıya ulaşmasında kritik öneme sahiptir.

SPI Manifesto [1], iyileştirme projelerinde organizasyonların kullanabileceği faydalı ve uygulanabilir etkili süreç yaklaşımlarından biridir. SPI Manifesto, 2009 yılında gerçekleştirilen EuroSPI Konferansında bir grup araştırmacının bir araya gelerek yazılım süreç iyileştirme konusundaki tecrübe ve bilgi birikimlerini ortak bir çalışmayla bir araya getirmek ve yazılım süreç iyileştirme projelerinde başarıya ulaşmak için izlenebilecek yöntemler üzerinde ortak bir anlayış geliştirmek amacıyla kaleme alınmıştır. Manifesto, yazılım süreç iyileştirme projelerinin başarılı ve sürdürülebilir olabilmesi, proje süresince ortaya çıkabilecek sorunlar ve çözüm önerilerinin tanımlanabilmesi için bir süreç iyileştirme projesinin sahip olması gereken değerleri; Çalışan Katılımı, İş Hedefleri ve Değişim olarak üç ana başlık altında detaylandırmaktadır.

  1. Bu faktörlerden ilkine göre başarılı bir yazılım süreç iyileştirme projesi; süreç iyileştirme çalışmalarına aktif olarak katılım gösteren, değişime istekli, çözüm odaklı, yeterli bilgi ve eğitime sahip çalışanların varlığına dayanmaktadır.
  2. Süreç iyileştirme projelerinde başarı sağlamak için uygulanmasına karar verilen iyileştirme önerilerinin genel standartları karşılamak yerine organizasyonel hedeflere (iş hedeflerine) ulaşmaya yönelik öneriler olması sağlanmalıdır.
  3. Yazılım süreç iyileştirme projelerinde göz önüne alınması gereken en önemli faktörlerden bir diğeri ise değişim yönetiminin, süreç iyileştirme çalışmalarının bir bileşeni olduğudur. Çalışanlar günlük olağan iş aktivitelerini bildikleri yoldan sürdürmenin daha kolay olması ve alışkanlıkları nedeniyle değişime direnç gösterirler. Bu anlamda çalışanların değişim sürecine dahil edilmeleri, süreç iyileştirme faaliyetlerine etkin katılımlarının sağlanması ile çalışanların değişime bakış açıları olumlu yönde değiştirilebilir.

SPI Manifestoda tanımlanan 3 değerden yola çıkılarak Yazılım Süreç İyileştirme çalışmalarına ilişkin kişisel davranışların yönetilmesine yardımcı olabilecek on temel prensip tanımlanmıştır. Bu ilkeler temel olarak;

  1. Organizasyon kültürünü anlamak ve ihtiyaçlara odaklanmak: Süreç iyileştirme ihtiyaçlarının organizasyon kültürü ile uyumlu olmasının sağlanması önemlidir. Organizasyon kültürü, kendisini oluşturan çalışanların tavır ve davranış biçimlerinden, bunların diğer çalışanlar ile etkileşimlerinden oluşur. Bu nedenle organizasyonun davranış biçimini, normlarını, sahip olduğu değer ve prensiplerini kavramak, ihtiyaçların doğru belirlenmesinde büyük öneme sahiptir.
  2. Sürece dahil olan tüm paydaşları motive etmek: Süreç iyileştirme çalışmalarının organizasyon içerisinde tek bir gruba ya da belirli çalışanlara ait olması, iyileştirme çalışmalarının belirli bir seviyede kalmasına sebep olarak organizasyonel seviyede herkes tarafından kabul görmesini zorlaştırır. Yönetimin süreç iyileştirme projelerine vereceği destek ve motivasyon bu açıdan önemlidir. Bu motivasyonu sağlamak için yönetim, süreç iyileştirme faaliyetlerine gösterdiği önemin organizasyonun tüm seviyelerine yayılmasını sağlayarak ödül ve teşvik amaçlı performans kriterleri koyabilir. Yönetimin tüm seviyeleri ve süreci uygulayan çalışanlar arasında kurulacak koordinasyon ve işbirliği, süreçlerin tüm organizasyon tarafından özümsenmesini ve çalışan bağlılığını sağlayacaktır. Aynı zamanda yönetim, çalışanlarına süreç iyileştirme çalışmalarının anlaşılması ve kabul görmesi için gereken eğitim, donanım ve danışmanlık desteğini de sunmalıdır.
  3. İyileştirme için organizasyonun ölçme ve tecrübelerini temel almak: Süreçler çalışanların günlük iş aktivitelerinin bütünüdür. Bu doğrultuda süreç iyileştirme faaliyetleri günlük iş aktivitelerini iyileştirmeyi amaçlamalıdır. Süreç performans ölçüm kriterlerindeki sadelik ve uygulanabilirlik, ölçüm değerlerinin doğru alınmasına ve iyileştirme amaçlı olarak analiz edilmesine fırsat vermelidir. Aynı zamanda, süreç performanslarının ölçülmesinde, çalışanların rolü ve etkinliği önemli ölçüde öne çıkmaktadır. Bu kapsamda, çalışanlara, kendi süreçlerini iyileştirmelerinin organizasyona sağlayacağı katkılar konusunda, yeterli eğitim ve destek sağlanmalıdır. Organizasyonlar süreç sahipliği bilincinin yaygınlaştırılması ve benimsenmesi konusunda çalışanları teşvik etmelidir.
  4. Öğrenen organizasyon oluşturmak: Öğrenen organizasyon; organizasyon çalışanlarının yeni bilgi yaratmalarını, bunu paylaşmalarını, bu bilgiyi organizasyonun bilgisi haline getirmelerini ve sorunların çözümünde kullanmalarını esas almaktadır. Bu anlamda öğrenen organizasyonlar, çalışanlarını sürekli gelişime teşvik eder, yeni bilgi yaratmaya imkan verecek ortamı hazırlar, projelerden kazanılan tecrübelerin paylaşılmasını sağlayarak organizasyonun temel bilgi birikimini (core knowledge) oluşturur. Bu bilgi birikimi organizasyonun stratejik hedeflerine ulaşmasında önemli bir girdi sağlar.
  5. Organizasyonun vizyon ve hedeflerini desteklemek: Süreç iyileştirme çalışmaları; organizasyonun vizyonu ile uyumlu olmalı, vizyonu destekleyen organizasyon amaçları, organizasyonun ve projenin ölçülebilir sonuçlarını göstermeye destek sağlamalıdır. Belirlenen ölçüm ve analiz hedefleri, organizasyonun bilgi ihtiyacı ve şirket amaçlarıyla örtüşmeli, ölçümlerden elde edilen sonuçlar hedeflerin değerlendirilmesi ve gerekli önleyici faaliyetlerin alınmasına destek olmalıdır.
  6. Dinamik ve uyarlanabilir modeller kullanmak: Yazılım süreçlerinin geliştirilmesi ve iyileştirilmesi için uygulanan modeller, süreci birebir tanımlamazlar, yalnızca süreçlerin gerçekleştirilmesinde yol gösterici niteliğe sahiptirler. Yazılım projelerinde CMMI, SPICE, 6-Sigma gibi modeller, çevik yöntemler, yaşam döngüsü modelleri vb. tüm modelleri kullanmak iyileştirme çalışmalarına önemli girdiler sağlayabilir. Ancak seçilen tek bir modeli uygulamak en iyi sonuçları almak için yeterli değildir. İhtiyaç duyulan modeli seçmek, mevcut süreçlerin kabiliyetlerini ve yaşanan problemleri anlamak ile mümkündür.
  7. Risk yönetimi uygulamak: Yazılım süreç iyileştirme projelerinde karşılaşılabilecek problemleri ve çözüm önerilerini önceden tanımlıyor olmak problemlerin ortadan kaldırılmasını ya da problemin yaratacağı etkilerin azaltılmasını sağlar. Süreç iyileştirme uygulamalarında sıklıkla karşılaşılan problemlerden biri risk yönetiminin etkin bir şekilde uygulanmamasıdır. Yaygın olarak kabul görmüş proje yönetimi standartları incelendiğinde risk yönetiminin başarılı bir proje yönetimi sürecinin ayrılmaz bir parçası olduğu görülür. Bu nedenle yazılım süreç iyileştirme projelerinde öngörülen riskler ayrıntılı bir şekilde tanımlanmalı, değerlendirilmeli, risklerin etkilerini azaltıcı önlemler alınmalıdır.
  8. Organizasyonel değişimi yönetmek: Süreç iyileştirme çalışmalarının başarıya ulaşması, organizasyonel değişimle mümkündür. Organizasyonel değişim ise 3-aşama modeli ile gerçekleştirilebilir:
  • Çöz
  • İlerle
  • Dondur

İlk aşama, süreç iyileştirme çalışmalarına kapsam oluşturacak problemlerin ve değişim ihtiyacının tüm çalışanlar tarafından kabul edilmesi ve organizasyonel farkındalığın oluşturulmasıdır. İkinci aşama, tanımlanan problemler için çözüm önerileri sunulması ve önerilen iyileştirmelerin değerlendirilerek uygulamaya alınmasını kapsamaktadır. Bu çalışmalar süresince çalışmaların gelişmesini sağlayan unsurların desteklenmesi ve çalışmaları engelleyen unsurların ortadan kaldırılması projenin başarıya ulaşmasında önemli etkiye sahiptir. Son aşamada ise sürecin, organizasyonun tamamında özümsendiğinden emin olunmasıdır. Bu modelin en güçlü yanı, basit yapısı ve kolay anlaşılabilir olmasıdır.

  1. Tüm paydaşların süreç üzerinde anlaşma sağladığından emin olmak: Organizasyonlar için daha iyi süreç, daha fazla kazanç ve daha fazla iş fırsatı anlamına gelir. Bu anlamda süreç tanımları, organizasyonun hedefleri hakkında bilgi içermelidir. Süreçler, tüm organizasyon tarafından kabul gördüğü takdirde uygulanabilir hale gelir. Sürekli iyileşen, operasyonel ve uyarlanabilir model ve süreçler;
  • Organizasyonda yürütülen farklı proje tiplerinde uygulanabilir ve uyarlanabilir olmalı,
  • Yalın, uygulanabilir, anlaşılır ifadelerle belirlenmeli ve dokümante edilmelidir.

10. Odağını kaybetmemek: Süreç iyileştirmenin amacının iyi tanımlanması, amaçlara ulaşmada yapılacak ölçümler ve toplanacak metriklerin doğru belirlenmesi, çalışanların bu çalışmanın önemli olduğunu algılamaları açısından önem taşımaktadır. Süreç iyileştirme projesinin, organizasyonda yürütülen diğer projeler ile aynı önem seviyesinde yürütülmesi çalışanların motivasyonunu koruyarak, verimliliği arttıracaktır. İyileşen süreçler daha yüksek kalitede ürünlerin oluşturulmasını sağlayacak, bu durum müşteri memnuniyetini de olumlu yönde etkileyecektir.

[1] [http://www.iscn.com/Images/SPI_Manifesto_A.1.2.2010.pdf]