Arşiv | Süreç Yönetimi RSS feed for this section

CMMI Ekseninde Süreç Geliştirmenin Anlamı, Önemi ve Türkiye’de CMMI Belgelendirmeleri

16 May

CMMI

CMMI “Capability Maturity Model Integration”, “Entegre Yetenek Olgunluk Modeli” anlamına gelen bir referans modeldir. CMMI, Carnegie Mellon Üniversitesi’ne bağlı Yazılım Mühendisliği Enstitüsü (SEI) tarafından Amerikan Savunma Bakanlığı’nın (Department of Defense, DoD) isteği üzerine 1986 yılında geliştirilmeye başlanmıştır. Dünyada 101 ülkede CMMI kullanılmaktadır ve aralarında Amerika, İngiltere ve Çin’in olduğu 11 ülke hükümeti, ülkenin ekonomik kalkınması için CMMI’a yatırım yapmaktadır. CMMI bugün itibariyle 10 dile çevrilmiştir. Türkçe çevirisi yoktur. Amerika Birleşik Devletlerinde, birçok askeri ve kamu projelerinde yüklenicilerinin CMMI modeline göre derecelendirilmiş olması ve minimum seviye 3 olması beklenmektedir.

Son Olarak, 20 Şubat – 3 Mart tarihleri arasında gerçekleştirilen CMMI Seviye 5 değerlendirmesini başarıyla tamamlayan TÜBİTAK BİLGEM YTE, Türkiye genelinde kamu kurum ve kuruluşları arasında CMMI 5 seviyesine ulaşan tek ve ilk kurum olma özelliğini kazanmıştır. Türkiye’de CMMI Seviye 5 olan 3 kurum (Huawei Telekomunikasyon, Milsoft ve TÜBİTAK BİLGEM YTE), dünya genelinde ise bu seviyeye sahip yaklaşık 500 kurum ve kuruluş bulunmaktadır. Türkiye’de CMMI Seviye 3 olan 35 tane kurum ve kuruluş bulunmaktadır. (Tüm kurumların listesine Türkiyede CMMI Belgesi Sahibi Kuruluşlar_15Mayıs 2017 belgesinden ulaşabilirsiniz.)

CMMI Bakış Açısının Önemi

Olgunluk modelinin geliştirilmesi konusu, Global şirketlerin üst düzey yöneticilerinin yarısının gündeminin ilk üç sırasında yer almaktadır. (McKinsey & Co)

Kuruluşların %70’inden fazlası yetenek boşluğunu ilk 5 zorluklarından biri olarak tanımlamaktadır. (Bersin By Deloitte)

CMMI derecelendirmesi yazılım geliştirme sürecini önceden kestirilemez bir iş olmaktan çıkartıp yönetilebilir, ölçülebilir, tahmin edilebilir ve tekrarlanabilir bir süreç haline getirmeyi hedeflemektedir. CMMI modeli, bir kurumun ya da kurum içindeki bir sürecin, sağlık durumu hakkında bilgi vermektedir. “NE” lerin olması gerektiği gibi olduğunu ve “NE” lerin olması gerektiği gibi olmadığını göstermektedir. Bu bilgi, kendini iyileştirmek isteyen kurumların ya da projelerini hangi kuruma ihale etmek için karar vermek durumunda olan satın alıcıların, çok işine yaramaktadır.

CMMI modeli, şirket olarak ya da bir topluluk olarak en iyi duruma gelmenin yolunu göstermektedir. Şirketi yönetirken, şirket içindeki işler gerçekleştirilirken, kişisel egolardan çok, topluma faydanın ön plana çıktığı şirketleri yaratmak amaçlanmıştır. Şirketin, günlük işleyişinin, yönetiminin gerçek insanlardan alınıp süreçlere devir edilmesi önerilmektedir. Böylece şirket yöneticileri, insanları değil süreçleri yöneteceklerdir. Yön-etmek burada yön vermek anlamına gelmektedir. Süreçleri oluşturacak olanlar süreçleri gerçekleştiren çalışanların ta kendileridir. Çalışanlar bu şekilde kendi kendilerini yönetebilecektir. Yani özgür olacaklar. Yeniçağda, en önemli ekonomik sonuçlar yaratıcılık ve yenilikçilik ile elde edilebilmektedir. Sadece özgür insanlar gerçekten yaratıcı ve yenilikçi olabilir. Dolayısı ile bu şirketler yaratıcı ve yenilmez olacaklardır. Ayrıca şirket yöneticileri, şirketin günlük işleyiş sorunlarından uzaklaşarak şirketin uzun vadeli, topluma daha fazla katma değer üretebileceği stratejik kararlara odaklanabileceklerdir. İşte CMMI, bu şekilde, özgür, yaratıcı ve yenilikçi bir çalışma düzeni yaratmanın yolunu göstermektedir.

CMMI modelleri birer süreç ya da süreç tanımı değildir. Süreçlerin gerçekleştirilmesinde birer yol göstericidir.

Bu süreç alanlarının her biri kurum içinde var olan ya da kullanılan ve birbirleriyle organik bağı olan süreçlerin bir araya getirilmesinden oluşmaktadır. Süreç alanları birbirlerinden bağımsız olarak tanımlanmış olsa da kurumsal yapı içerisindeki etkileşimlerin herhangi bir süreç iyileştirme çalışmasındaki sonuçları mutlaka gözönünde tutulmalıdır.

CMMI modeli içinde 25 süreç alanı vardır. Bu süreç alanları 4 ana disiplin altında toplanır: Sistem Mühendisliği, Yazılım Mühendisliği, Bütünleşik Ürün ve Süreç Geliştirme ve Tedarikçi Kontrolü (SGTK)

CMMI-DEV, Hizmet ya da ürün “geliştiren” kuruluşlar için tasarlanmıştır. Projeler gerçekleştiren, bu projelerinin sonunda yeni bir ürün ya da hizmet oluşturan kuruluşlar, bu yıldız kümesinden faydalanabilirler. Bu yıldız kümesi dışında CMMI-SVC (Hizmet verme konusunda), CMMI-ACQ (Satın Alma konusunda) yıldız kümeleri vardır.

CMMI, yazılım geliştiren kuruluşların performanslarını iyileştirmek için tanımlanmış etkin süreçlerin temel öğelerini içeren çerçeve yetenek olgunluk modeli ile bu model doğrultusunda olgunluk seviyesini ölçen bir değerlendirme yöntemi (SCAMPI) de sunmaktadır. Değerlendirme CMMI enstitüsü sertifikalı bir denetçinin başkanlığında yapılmakta ve kuruluşlara 1’den 5’e kadar derece verilmektedir.

Yetenek olgunluk modelleri süreçleri 5 seviyede değerlendirirler. Bu seviyeler şunlardır:

  1. SEVİYE: Süreçler önceden tahmin edilemez, kontrolleri zayıftır ve tepkiseldirler. Anlık çözümler geliştirilir ve acil durumlarda süreçler tamamen bir kenara bırakılır.
  2. SEVİYE (YÖNETİLEBİLİR) :Süreçler proje bazında tanımlanır ve yönetilir. Projenin süreçleri bir havuzda toplanılarak yönetilir.
  3. SEVİYE (TANIMLANMIŞ): Süreçler kurum bazında tanımlanır ve yönetilir. Kurumun süreçleri bir havuzda toplanır ve tüm projelerde bu süreçler kullanılır.
  4. SEVİYE (NİCEL OLARAK YÖNETİLEBİLİR): Süreçler nicel olarak ölçülmekte ve kontrol edilmektedir.
  5. SEVİYE (EN İYİ):Süreçler ve süreç iyileştirme odak noktasıdır. Hedef, kaliteyi sürekli olarak arttırmaktır.

Yüksek Olgunluk CMMI Seviye 4 ve 5 olgunluk seviyelerine karşılık gelmekte olup yazılım geliştirme süreçlerinin veriye dayalı olarak, istatistiksel yöntemlerle yönetilebilir ve sürekli iyileştirilebilir olarak tanımlanması ve izlenmesidir. CMMI Olgunluk Seviyesi 4 veya 5’e erişen bir kuruluş, istatistiksel ve diğer nicel yöntemleri kullanarak sürekli yetkinlik geliştirme konusuna daha derin bir bağlılık sergilemektedir. Yüksek Olgunluğa sahip kuruluşlar, paydaşların ve müşterilerin ihtiyaçlarını karşılamak için sürekli olarak gelişmekte, uyarlanmakta ve büyümektedir.

CMMI Seviye 5 dünyada sayılı organizasyonların sahip olduğu bir derecedir. Mevcutta yüksek olgunluk seviyelerine sahip organizasyonların ArGe odaklı faaliyetler gösterdiği, seviye 3 ve altında olan organizasyonların hizmet sunumu kapsamlı faaliyet gösterdiği görülmektedir. Bu durumun arkasında gerek savunma gerek sivil sektörlerde araştırma merkezlerinin sektöre kabiliyet kazandırma ve rehberlik yapma görevleri aracılığıyla önderlik yapma misyonları yatmaktadır. Benzer bir motivasyonla kamu bilişiminde ARGE faaliyetleri ile önderlik eden TÜBİTAK BİLGEM YTE 2008 yılında CMMI-DEV Seviye 3, 2014’te yüksek olgunluk Seviye 4 ve 2017 Mart’ta Seviye 5’e ulaşarak yazılım geliştirmede yüksek olgunluk Kabiliyeti kazanmıştır.

TÜBİTAK BİLGEM YTE bu kapsamda edindiği bilgi ve tecrübe ile dijital devlet ekosisteminde ihtiyaç duyulan olgunluk seviyesinde yazılım geliştirilmesi için gerekli kabiliyetlerin geliştirilmesinde etkin rol oynamayı ekosistemin bir paydaşı olarak hedef edinmiştir.

CMMI® Enstitüsü Hakkında

CMMI Enstitüsü (CMMIInstitute.com) insan, süreç ve teknoloji alanlarında en iyi uygulamaların ilerlemesi için dünyada liderlik yapmaktadır. Enstitü, kuruluşlara yeteneklerini ölçmek ve operasyonlarını en iyi uygulamalarla karşılaştırarak ve performans boşluklarını belirleyerek olgunluğa ulaşmaları için araçları ve desteği sağlar. 25 yılı aşkın bir süredir, havacılık, finans, sağlık hizmetleri, yazılım, savunma, ulaşım ve telekomünikasyon gibi sektörlerde yüksek performans gösteren binlerce kuruluş, CMMI olgunluk derecesi elde etmiş ve yetenekli iş ortakları ve tedarikçiler olduklarını kanıtlamıştır. CMMI’in kuruluşunuzun performansının yükselmesine nasıl yardımcı olabileceği hakkında daha fazla bilgi edinmek için CMMIinstitute.com adresini ziyaret edin.

Reklamlar

Kurumsal Proje Yönetişimine Çağrımdır

1 Oca

Geleneksel iş yapış şekillerimiz, takip çabalarımız ve kontrol amaçlı raporlama taleplerimiz aslında dünayda çok uzun süredir, bizde ise malesef yakın zamanda geride kaldı. Hatta Dünyada çoğu gelişmiş ülkede kurumsal organizasyonlar yeni düzenli yapılarının eksiklerini sorgulayarak yeni kavramları tartışmaya açıyorlar. Bu kavramlardan en dikkat çekeni ise YÖNETİŞİM. Öyle ki klasik yönetim anlayışımızdaki yönetim talimatları, kuralları ve kontrol dayatması verimli ve kaliteli iş süreçleri için terk edilme noktasına geldi. Şimdi konuşmamız gereken olgu ise sosyalleşen insanın, iş birliği, mükemmellik ve otonom yapıya alışabilme gücüdür. Bu doğrultuda insanın insanı, işin önünde tutarak güvensiz bir kurguyla takip etmesinden ziyade sistemin bir dişlinin çarkları şeklinde en iyisi için kendiliğinden çalışabilmesi, insanın kendisine verilen görevi yenilik vizyonuyla güvenli, tutarlı, doğru ve kaliteli yönetebilmesini sağlamak gerekiyor. İşte bu şartlarla sağlayacağımız olguya Yönetişim diyebiliyoruz. Bu olguyu Proje Yönetim Süreçlerinden fotoğrafın bütününe uyguladığımızdaysa Proje Yönetişimini konuşabiliyoruz.

Benim için Proje Yönetişiminin olmazsa olmazları organizasyonun stratejik hedeflerinin belirli olması, bu hedeflerle ilişkili yapılanma ve bu yapıyla doğrudan organik bağlantılı iş yapış şeklidir. Bu kavramları daha net ifade edersek Stratejik hedeflerle ilişkili Portföylerin yapılandırılarak bu portföyler altında Program veya Projelerin yönetimiyle diğer işlerin etkin takibinin sağlanması, yine aynı şekilde Programların, Portföylerin altında konumlandırılarak gerekli yönetici desteği sürece yansıtılarak program altında da yönetilecek projelerin başlatılması önemlidir.

Bu yapının faydası organizasyon kaynaklarının öncelikli portföylere ayrılması, portföy içinde de öncelikli program ve projelerin kaynaklara ulaşmasının sağlanması olarak görülür. Yine uçtan uca bakıldığında da tüm yapının mantıksal kırılımlar şeklinde ayrıştırılarak planlanabilir, kontrol edilebilir yani yönetilebilir yapıya kavuşturulduğu görülebilir.

Eskalasyon ve delegasyon işlemlerinin sağlıklı işletildiği organizasyonlarda proje hedefleri haricinde proje dışındaki rutin işler yani operasyonel işlerin de kaynak ve sorun bazlı olarak takip edilmesi mümkün olabilecektir.

Bu doğrultuda yapabileceğimiz şeyleri, tanımlı kurallarla; prosedür çalışmaları, etkili içerik ürettirecek şablon geliştirmeleri ve yapıyı güçlendirecek teknolojik araç ve destekleyici eğitim çalışmaları olarak sıralayabiliriz. Tüm bu çerçeve içerisinde tabi ki yeniliğe açık olma, sürekli iyileştirme prensibine hazır olma ve en iyisi için tüm çalışmalara lider olunması gerektiği unutulmamalıdır.

Sonuç olarak en alt seviyede uluslararası kabul görmüş en iyi uygulamaların süreçlere dahil edilerek yapının işletilmesi dışında organizasyonun tüm uzuvlarının bütünleşik olarak tanımlı kurallarla etkileşimli olarak yönetiminin sağlanması yani kurumsal proje yönetişimine geçilmesi önemli bir atılımdır.

2023 hedefleri için yenilikçi projelere ve projecilere ihtiyaç var

31 May

1 PMI TR’ın her yıl PM SUMMIT markası altında geniş katılımlı olarak düzenledikleri  Proje Yönetim Zirvesi, “Projelerle Geleceği Şekillendirmek” temasıyla 12 Mayıs tarihinde Ankara’da Cer Modern’de gerçekleştirildi. BThaber’in de sponsorları arasında yer aldığı etkinlikte, proje yönetiminin bir zorunluluk ve meslek olduğu vurgulandı.
‘Proje Yönetim Zirvesi’nin açılışına katılan Orman ve Su İşleri Bakanlığı Müsteşar Yardımcısı Sedat Kadıoğlu, STK’ların önemine vurgu yaparak “STK’lar ne kadar güçlüyse ülke de o kadar güçlüdür” ifadesini kullandı. Kadıoğlu, proje ve proje yönetimi kavramına değinerek “Projelerin hazırlanması gerekiyor. Uygulamaya geçmesi de devamlılığı açısından çok önemli. Zaman, iş ve para yönetimi bir arada yapılabilirse başarılı olunabilir. Orman ve Su İşleri Bakanlığı olarak her yaptığımız çalışmayı projelendiriyoruz” şeklinde konuştu. PMI Türkiye PM SUMMIT Proje Yöneticisi Meliha Bayrak, “Geleceği şekillendirmek; tüm zamanların proje ve mirasına doğru çıkılan bir yolculuktur. Bizler, proje yönetim dünyasının geçmişten geleceğine doğru uzanan bu yolculuğa sizlerin katılımlarıyla çıkıyoruz. Bu yolculukta bilgi ve birikimlerimizi paylaşıyor, elde etmiş tecrübelerimizi aktarıyor ve yeni nesil yönetim bakış açısıyla geleceği projelerle ele alıyoruz” dedi.

2Proje paydaşlarımızın arasında buzdolabındaki domates de olacak!
PMP Türkiye Yönetim Kurulu Başkanı İsmail Kurtoğlu, nesnelerin internetinin ve büyük verinin proje yönetimini çok etkilemeye başladığına dikkat çekerek “Gelecekte proje paydaşlarımızın arasında buzdolabındaki domates de olabilecek; ondan gelen veriyi alabileceğiz. Her şeyin birbirine bağlı olması projelerimizi de etkiliyor. Projeleri tek tek ele almaktansa, bir bütün olarak yönetilmesi gerektiğini düşünüyoruz. Projelerin insana dönük olması çok önemli” açıklamasını yaptı. SPL Grup CEO’su ve PMI Fellow Aaron J. Shenhar, ‘Gelecek Burada – Proje Yönetimini Yeniden Şekillendirmek’ başlıklı sunumunu gerçekleştirdi. Projelerin bugün çok daha karmaşık olduğunu aktaran Shenhar, üç yeni elementi; strateji, liderlik ve inovasyon olarak adlandırdı. Proje Yöneticisi ve StratejistLevent Erkan, konuklara “Dünyanın en büyük insani krizinin merkezindeyken sizlere ihtiyaç var!” şeklinde seslendi.

Geleceğe hazırlanmak yaratıcılık yönümüzü geliştirmekten geçiyor
‘2023 Vizyonuyla Gelecekteki Proje Yönetimi Stratejilerimiz’ panelinin moderatörlüğünü, ‘PMI Turkey Chapter’ Ankara Şube DirektörüEmre Alıç gerçekleştirdi. Panele; Avrupa Birliği Bakanlığı, Proje Uygulama Başkanı Bülent Özcan, Havelsan Süreç Yönetim MüdürüZeynep Arzu Çelik, Aselsan Bilgi Teknolojileri Direktörü Fatih Bilgi ve Türksat Bilişim İş Geliştirme ve Proje Yönetim DirektörüÖmer Faruk Çöllüoğlu katıldı. Özcan, dünyada önemli bir aktör olabilmek için Türkiye’nin kendine bir yol haritası çizmesi gerektiğini belirterek “İddialı hedeflere ulaşmak için yapısal dönüşüm gerekiyor. Türkiye önümüzdeki 10 yılda çok daha fazla proje konuşacak. Türkiye’nin proje kültürü açısından değişime ihtiyacı var. 2023 hedefleri için taklit değil, daha yaratıcı, yenilikçi projelere, dolayısıyla projecilere ihtiyaç var. Hâlâ proje uzamanı ihraç edemiyoruz!” açıklamasını yaptı. Stratejik planlamanın Havelsan için büyük önem taşıdığını kaydeden Çelik, savunma sanayinde hedeflere ulaşmak için iş birliğine ihtiyaç olduğunu vurgulayarak “Milli teknolojileri geliştirmek çok önemli. Her zaman bir adım daha önde olmalıyız. Üniversite – sanayi iş birliği büyük önem taşıyor. Türkiye’nin genç nüfus oranı hepimiz için fırsat. Bizi bekleyen projelerle deneyimli proje yöneticileri sayesinde başa çıkabiliriz” dedi. Bilgi, BT projesinin BT’den çok süreci ilgilendirdiğine dikkat çekip proje tarifleri başarısız olduğu için BT projelerinin başarısız olduğunun altını çizdi. Projelerin basit ve hedefe yönelik olması gerektiğine vurgu yapan Bilgi, “Basitleştirin, karmaşıklaştırmayın! Basitlik ve yalınlık daha iyi yönetim süreçleri için çok önemli” ifadesini kullandı. Türksat’ın BT tarafında entegratör görevi gördüğünü belirten Çöllüoğlu, “Değişime adapte oluyorsanız, zaten geç kalmış oluyorsunuz. Ülke olarak proje yönetiminde farkındalığımız var mı? ‘Proje Yönetimi’ ders olmalı, proje yönetimi artık bir zorunluluk ve bir meslek. İyi işler iyi ekiplerle ortaya çıkıyor” değerlendirmesini yaptı. Alıç, “Yönetebilmek için önce ölçmek gerekiyor; tüm çalışmalarda tehdit ve fırsatları yönetmek için teknolojiyi araç olarak kullanmak lazım” ifadesini kullanarak “Geleceğe hazırlanmak yaratıcılık yönümüzü geliştirmekten geçiyor” dedi. Projectivity Solutions Şirketinin CEO’su ve Başkanı, PMI Silikon Vadisi Bölümünün Kurucusu Phil Bristol da yaptığı konuşmada; proje yönetimi ofislerinin başarısızlığına sebep olan nedenler arasında sabit fikirliliği, ‘proje polisi’ olmayı, ölçümleme yapmamayı sayarken bir liderin marifetini de; motive etmek, ilham vermek ve çözüm üretmek olarak açıkladı. Tüm gün süren etkinlikte; paneller ve çalışma atölyelerinin yanı sıra proje yönetiminde gelecekte kullanılması muhtemel yöntemler ve eğilimler de ele alındı.

 

Kaynak: http://www.bthaber.com/kamu/2023-hedefleri-icin-yenilikci-projelere-ve-projecilere-ihtiyac-var/1/18080

Yazılım Geliştirme Süreci ve Güvenli Yazılım Geliştirme

14 Ara

Yazılımların hayatımızdaki yeri ve öneminin gün geçtikçe artması yazılımlara ilişkin çalışmaları hızlandırmakta, bu durum yeni yazılım geliştirme yöntemleri, programlama kuralları veya programlama dilleri ve araçları ortaya çıkarmaktadır. Tüm bu gelişmelere rağmen yazılım projelerinde tasarlanan zamanın gerisinde kalma, bütçeyi aşma, düşük kalite, sürekliliği ve güvenilirliği sağlayamama, kullanıcı taleplerinin karşılanmasında yetersizlik gibi problemlerle sıkça karşılaşılmaktadır. Gartner araştırmasına göre bilişim güvenliği ihlallerinin yazılım güvenliği problemlerinden kaynaklananlarının oranı %80’dir [1]. Genel olarak problemlerin çoğu, yazılım geliştirme sürecinin en başında gereksinim ve sistem analizlerinin doğru ve yeterli yapılmamasından kaynaklanmaktadır. Analiz konusunda yetersiz kalan yazılımlar güvenlik riski oluşturmakta, bu durum bilgiye yönelik tehditlerin ortaya çıkmasında önemli bir açıklık oluşturmaktadır.

Bilginin gizliliği, bütünlüğü ve erişilebilirliğini, kısaca bilgi güvenliğini hedefleyen tehditlerle mücadele için yazılımlarda bilgi güvenliğinin sağlanmış olması gerekmektedir. Bilgi güvenliği;  karşılaşılabilecek tehditlerin farkında olunması,  işlerin devamlılığını sağlama, yaşanabilecek her türlü problemlerde kayıpları en aza indirme, firmaların varlıklarının her koşulda gizliliği, erişebilirliği ve bütünlüğünü korunma amaçları taşımaktadır. Bu kapsamda ortaya çıkartılan ve sürekli geliştirilmekte olan bir süreç de “Bilgi Güvenliği Yönetim Sistemi (BGYS)” dir.

Yazılımlarda bilgilerin korunması yazılımın geliştirme sürecinin başından itibaren tüm aşamaların bilgi güvenliği kontrollerine uygun olarak gerçekleşmesine bağlıdır. Yazılımın geliştirme sürecinde bilgi güvenliği yönetim sisteminin sağlanmış olması, yazılımlardaki bilgilerin kullanıma hazır olduğunu, sadece yetkisi olanların erişebildiğini ve kullanılan bilginin doğru ve güncel olduğu anlamına gelmektedir.

Bu çalışmanın ikinci ve üçüncü bölümünde yazılım, yazılım geliştirme süreçleri ve güvenli yazılım geliştirmeye ilişkin bilgilere yer verilecektir. Dördüncü bölümde uluslararası bir standart olan “ISO/IEC 27001 Bilgi Teknolojileri- Güvenlik Teknikleri-Bilgi Güvenliği Yönetim Sistemi- Gereksinimler Standardı (ISO 27001)” ele alınacak, sonrasında ISO 27001’in yazılım geliştirme süreçleriyle ilişkili kontrol maddelerine ve sonuç bölümüne yer verilecektir.

Yazılım Geliştirme Süreçleri

Yazılım kelimesinin sözlük anlamına bakıldığında; yazılım, “bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümü” olarak ifade edilmektedir [2] . Yazılım ayrıca, mevcut bir problemi çözmek amacıyla değişik cihazların birbirleriyle haberleşebilmesini sağlayan ve görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan bilgisayar dili kullanılarak oluşturulmuş anlamlı ifadeler bütünü olarak da nitelendirilebilir [3]. Yazılım ile ilgili bu tanımlamalar daha çok kod ile ilgilenirken yazılım geliştirme, bilinenin aksine sadece kodlama değildir. Birkaç tane kullanıcı ekranı tasarlayıp, bu ara yüzlerin arkasına kod yazarak ve veritabanı ilişkisi kurularak yazılım geliştirme süreci tamamlanamaz. Bu işlemler yazılım geliştirme sürecinin sadece bir bölümü olup, toplamda yazılım geliştirme süreci kodlama yapmaktan çok daha fazlasıdır [4]. Bu bakımdan yazılım geliştirme, yazılımın hem üretim hem de kullanım süreci boyunca geçirdiği tüm aşamalar olarak tanımlanabilir.

Geçmişte yazılım geliştirmede başvurulan iş akış şemaları gibi yöntemler günümüzde gereksinimleri karşılayamadıklarından etkinliklerini yitirmişlerdir. Bu yöntemler özellikle güvenlik odaklı olmadıklarından yetersiz kalmışlardır. Yazılımın her aşamasında güvenliğe ilişkin ortaya çıkabilecek problemleri gözeten etkin bir geliştirme süreci sonuç ürünün daha güvenilir olmasına önemli katkı sağlayacaktır.

Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınmaktadır. Böylece döngü içerisinde her hangi bir aşamada geriye dönmek ve tekrar ilerlemek söz konusudur [5]. Yazılım geliştirmede çok sayıda farklı model ve süreç değerlendirmelerinden söz etmek mümkündür. Bununla birlikte; yazılım mühendisliğindeki diğer modellere temel teşkil eden “Çağlayan Modeli (Waterfall Model)” yazılım yaşam döngüsünü analiz, tasarım, kodlama, test ve bakım olmak üzere beş aşamada ele almaktadır [6].

Analiz

Bir problemin çözümü olarak nitelediğimiz yazılımların ne yapacağını ve nasıl yapacağını belirlediğimiz yani problemi tanımladığımız aşama analiz aşamasıdır. Yazdığınız kod ancak isteneni doğru bir biçimde yerine getiriyorsa başarılı bir yazılımdır. Bu nedenle öncelikle yazılımdan ne istendiğinin doğru bir biçimde tanımlanması gerekir. Analiz aşaması personel, donanım ve sistem gereksinimlerinin belirlenmesi, sistemin fizibilite çalışmasının yapılması, kullanıcıların gereksinimlerinin analizi, sistemin ne yapıp ne yapmayacağının kısıtlamalar göz önüne alınarak belirlenmesi, bu bilginin kullanıcılar tarafından doğrulanması ve proje planı oluşturulması adımlarından oluşur.

Tasarım

Analiz aşaması sonucunda belirlenen gereksinimlere yanıt verecek yazılımın temel yapısının oluşturulduğu aşamadır. Yazılım tasarımı, bir bileşen veya sistemin nasıl gerçekleştirileceğini belirlemek için kullanılan teknikler, stratejiler, gösterimler ve desenlerle ilgilidir. Bu aşama yazılım bileşenleri arasındaki içsel ara yüzler, mimari tasarım, veri tasarımı, kullanıcı ara yüzü tasarımı, tasarım araçları ve tasarımın değerlendirilmesi alt süreçlerini de kapsamaktadır. Tasarım aşaması, yazılımın hem kullanıcı ara yüzünü hem de programın omurgasını ortaya koymaktadır. Yapılacak tasarım, yazılımın işlevsel gereksinimlere uygun olmasının yanı sıra kaynaklar, performans ve güvenlik gibi kavramları da göz önüne alınarak gerçekleştirilmelidir.

Kodlama

Kodlama aşaması, tasarım sürecinde ortaya konan veriler doğrultusunda yazılımın gerçekleştirilmesi aşamasıdır. Bu süreç programlama çalışmalarının yanı sıra yazılımın geliştirilmesi ve kullanıcıya ulaştırılması sürecindeki bütün çalışmaları kapsar. Tasarım sonucu üretilen süreç ve veri tabanının fiziksel yapısını içeren fiziksel modelin bilgisayar ortamında çalışan yazılım biçimine dönüştürülmesi çalışması olarak da nitelendirilebilir [5]. Yazılım geliştirme ortamı, programlama dili, veri tabanı yönetim sistemi, yazılım geliştirme araçları seçimi kodlama aşamasında gerçekleştirilir.

Test

Test aşaması, yazılım kodlanması sürecinin ardından gerçekleştirilen sınama ve doğrulama aşamasıdır. Elde edilen uygulama yazılımının hem belirlenen gereksinimleri sağlayıp sağlamadığı hem de gerçekleştirimin beklentilere uygun olup olmadığını kontrol etmek için statik ve dinamik sınama tekniklerinden yararlanır. Statik teknikler, yazılımın tüm yaşam döngüsü boyunca elde edilen gösterimlerin analizi ve kontrolüyle ilgilenirken, dinamik teknikler sadece gerçekleştirilmiş sistemi içerir. Yazılım üretiminde ilk testler genelde geliştirme sürecinde programcı tarafından yapılır. Bununla birlikte, asıl hata ayıklama ve geribildirim hizmeti test ekipleri tarafından yapılır. Testler ve geribildirim müşteri yazılımı kullandığı sürece devam eder. Test sürecinde en faydalı geribildirimler son kullanıcı test gruplarından gelir.

Bakım

Yazılımın tesliminden sonra hata giderme ve yeni eklentiler yapma aşamasıdır. Yazılımın kullanıma başlanmasından sonra yazılımın desteklenmesi sürecini kapsar. Yazılımın eksiklerinin giderilmesi, iyileştirilmesi gibi alt aşamaları içeren aşamadır.

Güvenli Yazılım Geliştirme

Yazılımların yaygın olarak kullanılmaya başlandığı ilk yıllarda kaliteli ve olgun yazılım üretmek, son yıllarda ise özellikle güvenli yazılım geliştirmek için çok sayıda model ve çerçeve üzerinde çalışılmıştır. Bu durumun en büyük tetikleyicisi son yıllarda güvenlik açıklıklarının artmasıdır [7]. Artan bu güvenlik tehditleri Şekil 1’de görüldüğü üzere hiç hesaba katılmayan sürpriz maliyetleri de beraberinde getirmektedir. Yazılım geliştirmede erken bir süreçte farkına varılan yazılım açıklıklarının düzeltilmesinin daha ileri süreçlerde farkına varılan açıklıklara göre daha az maliyetli olacağı yazılım endüstrisince yaygın olarak kabul edilen bir ilkedir [8]. Bu ilke yazılım geliştirme sürecinin güvenli olmasının maliyet açısından da ne denli önemli olduğunun göstergesidir.

ekil_1.jpg

Şekil 1 – Yazılım Geliştirme Süreçlerinde Yazılım Açıkları Giderme Maliyeti [8]

Yazılım güvenliği kavramı ile ilgili yapılan en önemli yanlış güvenliği sadece kodun güvenliği ve ek olarak da yetkilendirme güvenliği ile sınırlandırmaktır. Halbuki yazılım güvenliği kavramını “güvenilir bilişim” (trusted computing) kavramı ile yakından ilişkilendirmek gerekmektedir. “Trusted Computing Group” tarafından konmuş olan güvenilir bilişim kavramı gizlilik, bütünlük, erişebilirlik, ve kurtarılabilirlik olmak üzere dört temel kavram üzerinde durmaktadır [9].

Güvenli yazılım geliştirme süreçlerinde ayrıca değişiklik ve konfigürasyon yönetimi, geliştirme, test ve üretim ortamı ayrışımı, geliştirme ortamında gerçek verilerin kullanılmaması, üretim ortamına almadan önce kod incelemesi, güvenli programlama teknikleri kullanımı, uygulama güvenlik duvarı kullanımı ya da kaynak kod inceleme hizmeti alınması gibi çalışmaların yapılması da güvenliğe ayrıca katkı sağlayacaktır [1].

Güvenli yazılım geliştirme sürecinde ele alınması gereken temel olarak dokuz ana güvenlik konusu vardır [10]:

1.Girdi Geçerleme (Input Validation):

Günümüzde bilinen ve gelecekte de muhtemel tehditlerin çoğu kötü niyetli girdi ile başlamaktadır. Bununla birlikte; basit girdi geçerleme yöntemleri ile büyük güvenlik tehditlerinin önlenmesi mümkündür.

Girdi geçerleme yöntemlerini “beyaz kutu” ve “kara kutu” olmak üzere ikiye ayırmak mümkündür. Beyaz kutu yönteminde bilinen bir şablon girdi olarak kullanılmakta, bu şablonun dışındaki tüm girdiler kötü niyetli olarak kabul edilmektedir. Şablonun kontrolü çok kolay olduğundan bu yöntem oldukça etkili bir yöntemdir. Kara kutu yöntemi ise daha az etkili olmasına rağmen daha çok tercih edilen bir yöntemdir. Bu yöntemde kullanılan belirli bir şablon yoktur, sadece bilinen saldırıların bir listesi mevcuttur. Eğer girdi bilinen bir saldırıya benziyor ise o zaman girdi reddedilecek, onun dışındaki tüm girdiler ise kabul edilecektir. Bugün bile tüm atak çeşitlerini belirlemek zor iken gelecekteki atakları bilip filtrelemek daha da zor olacağından bu yöntemin etkinliğinin az olduğu açıktır. Dolayısıyla veri yapıları, mümkün olduğunca belli bir şablona uygun tasarlanarak geçerleme daha güçlü kılınmalıdır.

İstemci-sunucu uygulamalarında geçerleme hem istemci hem de sunucu tarafında yapılabilmektedir. Bununla birlikte; bir saldırgan istemci tarafındaki geçerleme kontrolünü kolay aşabileceğinden istemci tarafındaki geçerleme hiçbir zaman yeterli bir güvenlik önlemi olarak ele alınmamalıdır. Bunun yerine daha çok sunucu tarafında geçerleme kontrolü yapılarak güvenlik seviyesi arttırılmalıdır. Kısaca güvenilir olmayan bir kaynaktan (örneğin kullanıcıdan) gelen veri mutlaka onaylanmalıdır.

2.Kimlik Doğrulama (Authentication):

Kimlik doğrulama,  varlıkların (kullanıcı, cihaz veya bir uygulama) kimlik kontrolünden geçmesi işlemidir ve farklı kimlik doğrulama yöntemleri bulunmaktadır.

Genellikle yazılımlar önceleri sadece kullanıcı adı ve şifre kullanması şeklinde zayıf doğrulama yöntemleri kullanılmakta idi. Eğer bir “domain” yapısı varsa, kullanıcılar “Active Directory” kullanılarak doğrulanmakta, “domain” dışında ise kimlik yönetimine ilişkin veritabanı uygulanmaktadır. Daha güçlü doğrulama yöntemleri olarak da biometrik metotlar veya akıllı kartlar kullanılmaktadır. Bir diğer doğrulama yöntemi ise üçüncü bir tarafın doğrulama işini yapması ve bu üçüncü tarafa güven duyulması şeklindedir.

3.Yetkilendirme (Authorization):

Kullanıcıların tanımlanması aşaması olan kimlik doğrulamadan sonra kullanıcının kimliği doğrultusunda erişim haklarının belirlendiği ve kontrolünün gerçekleştiği aşama yetkilendirmedir. Hangi yetkilerle işlem yapılacağını belirlemek için bir çok yöntem bulunmaktadır.

4.Konfigürasyon Yönetimi  (Configuration Management):

Konfigürasyon, uygulama ile ilgili hassas bilgileri içermektedir. Örnek vermek gerekirse veri tabanına erişim için gerekli bağlantı bilgilerini içeren dosyalar bu kapsamdadır. Konfigürasyona müdahale uygulamanın işleyişini değiştirebilir veya çalışmamasına sebep olabilir. Konfigürasyon dosyalarının sunucularda saklanıyor olması yeterli güvenlik önlemlerinin alındığı anlamına gelmemektedir. Konfigürasyon dosyaları hassas bilgi olarak nitelendirilmeli, şifrelenmiş bir şekilde tutulmalı ve bu dosyalara erişim kayıt altında tutulmalıdır.

5.Hassas Bilgi (Sensitive Information):

Hassas bilginin ne olduğunun belirlenebilmesi için uygulamanın ve işin bir arada ele alınması gerekir. Uygulama geliştirici işin niteliğini tam olarak bilemediğinden, diğer yandan işin sahibi de uygulamanın teknik altyapısı hakkında sınırlı bilgiye sahip olacağından bu iki taraf tek başlarına hassas bilgi için yeterli tanımlama yapamayacaklardır. İki tarafın bir araya gelmesiyle hassas bilgileri içeren bir liste oluşturulmalı ve bu listeyi koruyacak bir politika oluşturulmalıdır.

6.Kriptografi (Cryptograhy):

Veriyi korumanın yollarından biri de şifrelemedir. Bugün şifreleme çalışmaları oldukça ilerlemiş, bilgisayarlar oldukça gelişmiştir. Fakat bu durum saldırganlar için de geçerlidir. Hassas bilgiler bilinen ve test edilmiş şifreleme yöntemleri ile saklanmalıdır. Ayrıca daha önce kırılması uzun zaman alan algoritmalar günümüzde daha kısa zamanda çözülebilmektedir. Dolayısıyla uygulama içindeki algoritmalar zamanla gözden geçirilmeli ve güncellenmelidir.

7.Parametre Manipülasyonu (Parameter Manipulations):

Dağıtık algoritmalar modüller arasında parametre gönderirler. Eğer bu parametreler arada değiştirilirse, saldırı gerçekleştirilmiş olur. 1 dolara satın alınan Ferrari bu duruma bir örnektir. Borcun belirlenmesi için web formu kullanan uygulama bu formdaki rakamın http proxy kullanılarak manipüle edilmesi sonucu değer 1 dolara olarak değiştirilmiştir.

8.Hata Yönetimi (Exception Management):

Bazı teknolojiler hataları kullanarak hata yönetimi gerçekleştirmektedirler. Hatalar geliştiriciler ve sistem yöneticileri için uygulama ile ilgili birçok önemli bilgi ihtiva ettiği için çok önemlidirler. Bununla birlikte; geliştirici için bu derece önemli olan bilgi kullanıcı açısından problem oluşturabilmektedir. Her ne kadar kullanıcılar bu hataların ne demek olduğunu anlamasalar da saldırganlar için büyük ipuçları, yazılımla ilgili önemli bilgiler içermektedir. Bundan dolayı sadece genel bir hata mesajının dönmesi, hataların kayıt altında tutulması ve gerçek hataya sadece yöneticiler ulaşmasını sağlayacak sürecin oluşturulması gerekmektedir.

9.Kayıt Tutma ve Denetim (Logging and Auditing):

Uygulama veya uygulamanın yöneticileri saldırı altında olduklarını anlamalıdır. Bu durum aslında neyin normal neyin anormal olduğunun belirlenmesi ile sağlanır. Bir uygulamaya ilişkin normal süreç ve şablon tanımlanmalı ve bunu dışında bir olay olduğunda saldırı ihtimali ele alınmalıdır. Örneğin, normal senaryoda bir uygulamaya dakikada ortalama beş kişinin erişmesi beklenirken bu sayı bine ulaşıyorsa muhtemelen bir “Servis Dışı” bırakma atağı söz konusudur.

Yukarıdaki ve bunlara benzer onlarca tehdit güvenilir uygulamalar geliştirmek için yazılım geliştirme sürecinin güvenliğinin yönetilmesinin büyük önem arz etmekte olduğunu gözler önüne sermektedir.

ISO 27001 Bilgi Güvenliği Yönetim Sistemi

Bilgi güvenliği, yazılı, sözlü, elektronik ortam gibi farklı ortamlardaki bilginin gizlilik, bütünlük ve erişebilirlik bakımından güvence altına alınması ve bu güvence durumunun sürekliliğinin sağlanmasıdır.

Bilgi sistemlerinin hayata geçmesiyle ortaya çıkan depolama ve işleme imkânlarının artması, izinsiz erişimler, bilginin yetkisiz imhası, yetkisiz değiştirilmesi veya yetkisiz görülmesi ihtimallerinin artması gibi hususlar nedeniyle bilgi güvenliği kavramı gündeme gelmektedir.

Bilgi hangi biçime girerse girsin veya ne tür araçlarla paylaşılır veya depolanır olursa olsun, her zaman uygun bir şekilde korunmalıdır. Bilgi sistemlerinin çoğu, bilgi saklanırken, paylaşılırken, gönderilirken güvenlik kaygıları düşünülerek tasarlanmamıştır. Kurumların sahip oldukları bilgi doğru tasarlanmamış sistemler nedeniyle pek çok çeşitli tehditlere karşı açık durumdadır.

Bilgi güvenliği ihlali ve buradan doğacak kayıpların riskini minimize etmek kurulan sistemlerin en başında BGYS gelmektedir. BGYS, bilgi güvenliğini kurmak, işletmek, izlemek ve geliştirmek için iş riski yaklaşımına dayalı, dokümante edilmiş, işlerliği ve sürekliliği garanti altına alınmış bir yönetim sistemidir.

BGYS kurumunuzdaki tüm bilgi varlıklarının değerlendirilmesi ve bu varlıkların sahip oldukları zayıflıkları ve karşı karşıya oldukları tehditleri göz önüne alan bir risk analizi yapılmasını gerektirir [11].

BGYS, bağımsız kuruluşların ya da tarafların ihtiyaçlarına göre özelleştirilmiş güvenlik kontrollerinin gerçekleştirilmesi için gereksinimleri belirtir. BGYS’nin ihtiyaç duyduğu gereksinimlere cevap vermek için çok sayıda standart vardır. Bunların en önde geleni ISO 27001 standardıdır.

PUKÖ Modeli

ISO 27001 kurumların bilgi güvenliği yönetim sistemi kurmaları için gereklilikleri tanımlayan tek denetlenebilir BGYS standardıdır. ISO 27001 ülkelere göre özel tanımlar içermeyen, genel tanımların bulunduğu uluslararası standardıdır. ISO 27001 standardı; kuruluşların kendi bilgi güvenlik sistemlerini sağlamasını mümkün kılan teknoloji tarafsız, satıcı tarafsız yönetim sistemleri için bir çerçeve sağlar.

ISO 27001, kuruma uygun politikalar, prosedürler ve kılavuzlar oluşturmaya yol gösteren uluslararası kabul görmüş yapısal bir metodoloji sunar. ISO 27001 sertifikası, kurumların güvenlik seviyesine ve kurumun konuya ciddi yaklaşımına ilişkin bir göstergedir.

Bilgi güvenliği yönetimi konusunda ilk standart British Standard Institute (BSI) tarafından geliştirilen BS 7799’dur. BS 7799  “Pratik Kurallar” ve “BGYS Gerekleri” başlıklı iki kısımdan oluşmaktaydı. BS 7799 birinci kısım daha sonra ISO tarafından 2000 yılında “ISO 17799” olarak kabul edilmiştir. 2002’de BSI; BS 7799-2’yi çıkartmıştır. ISO, 2005 yılında ISO/IEC 1799:2005’i ve BS 7799-2’nin yeni hali olan ISO/IEC 27001:2005’i yayınlamıştır. ISO 27001, 2005 yılında yayınlanmasıyla yürürlüğe girmiş ve ISO/IEC 27000 standart serisi altında yerini almıştır. Söz konusu bu standart 2006 yılında Türk Standardı olarak kabul edilerek, ”TS ISO/IEC 27001 Bilgi Teknolojisi – Güvenlik Teknikleri – Bilgi Güvenliği Yönetim Sistemleri – Gereksinimleri” adıyla yayınlanmıştır [12].

ISO 27001 yaşayan, dolayısı ile tehdit ve saldırılara reaksiyon gösteren ve kendini yenileyen bir bilgi güvenliği sisteminde yer alması gereken öğeleri tanımlamaktadır [13]. ISO 27001, BGYS’yi kurmak, işletmek, izlemek, gözden geçirmek, sürdürmek ve iyileştirmek için standart proses yaklaşımını benimsemiştir. Bu proses yaklaşımı güvenlik önlemlerinin belirlenip kurulması, uygulanması, etkinliğinin gözden geçirilmesi ve iyileştirilmesi süreçlerini ve bu süreçlerin sürekli olarak tekrarlanmasını içerir. Bu süreçler Planla, Uygula, Kontrol et, Önlem al (PUKÖ) döngüsünden oluşan bir model olarak da ortaya konmuştur.

BGYS’de kurum kendine bir risk yönetimi metodu seçmeli ve risk işleme için bir plan hazırlamalıdır. Risk işleme için standardda öngörülen kontrol hedefleri ve kontrollerden seçimler yapılmalı ve uygulanmalıdır. Şekil 2’de gösterilen PUKÖ Modeli uyarınca risk yönetimi faaliyetlerini yürütmeli ve varlığın risk seviyesi kabul edilebilir bir seviyeye geriletilene kadar çalışmayı sürdürmelidir [11].

ekil_2.jpg

Şekil 2- BGYS’nin PUKÖ Modeli [13]

PUKÖ Model’inin süreçleri aşağıdaki gibidir:

Planla: BGYS’nin kurulması

Sonuçları kuruluşun genel politikaları ve amaçlarına göre dağıtmak için, risklerin yönetimi ve bilgi güvenliğinin geliştirilmesiyle ilgili BGYS politikası, amaçlar, hedefler, prosesler ve prosedürlerin kurulması.

Uygula: BGYS’nin gerçekleştirilmesi ve işletilmesi

BGYS politikası, kontroller, prosesler ve prosedürlerin gerçekleştirilip işletilmesi.

Kontrol Et: BGYS’nin izlenmesi ve gözden geçirilmesi

BGYS politikası, amaçlar ve kullanım deneyimlerine göre proses performansının değerlendirilmesi ve uygulanabilen yerlerde ölçülmesi ve sonuçların gözden geçirilmek üzere yönetime rapor edilmesi.

Önlem Al: BGYS’nin sürekliliğinin sağlanması ve iyileştirilmesi

BGYS’nin sürekli iyileştirilmesini sağlamak için yönetimin gözden geçirme sonuçlarına dayalı olarak, düzeltici ve önleyici faaliyetlerin gerçekleştirilmesi [12].

ISO 27000 Ailesi

Bilgi güvenliği ile ilgili olarak ISO 27000 serisi güvenlik standartları, (Şekil 3) kullanıcıların bilinçlenmesi, güvenlik risklerinin azaltılması ve de güvenlik açıklarıyla karşılaşıldığında alınacak önlemlerin belirlenmesinde temel bir başvuru kaynağıdır. Bu standartlar temel ISO’nun 9000 kalite ve 14000 çevresel yönetim standartlarıyla da ilgilidir [12].

ISO 27000 standardı, ISO 27000 standartlar ailesi ile ilgili kavramların açıklanmasını sağlayan ve bilgi güvenliği yönetimine yönelik temel bilgileri içeren bir standarttır. ISO 27000 standartlarının büyük bir çoğunluğu bilenen, diğerleri ise basım aşamasında olan standartlar olarak verilebilir.

ISO/IEC 27000 standart serisi altında yer alan ve ISO 27001 için gereken güvenlik kontrollerini içeren standart; ISO/IEC 27002:2005 – Bilişim Teknolojisi – Güvenlik Teknikleri – Bilgi Güvenlik Yönetimi için Uygulama Kılavuzu’dur. Bu standardın önceki adı ISO/IEC 17799:2005’dir. 1 Temmuz 2007 tarihinde, ISO tarafından yapılan teknik bir düzenlemeyle ISO/IEC 17799:2005 standardının adı, ISO/IEC 27002:2005 (ISO 27002) olarak değiştirilmiştir [14].

ekil_3.jpg

Şekil 3- ISO 27000 Standart Ailesi [15]

Güvenlik Kontrol Alanları

ISO 27001’de BGYS oluşturmada güvenlik için gereken 11 kontrol alanı, 39 kontrol hedefi ve 133 kontrolü tanımlayan bir uygulama kılavuzudur. Bu kontrol alanları aşağıda kısaca açıklanmaktadır [16]:

  1. Güvenlik Politikası: Bilgi güvenliği için yönetimin desteğini ve katılımını sağlamak, bilgi güvenliğinin önemini vurgulamak
  2. Bilgi Güvenliği Organizasyonu:  Bilgi güvenliğinin koordinasyonu ve yönetimi için bir yönetim çerçevesi geliştirmek, bilgi güvenliği için sorumlulukları tahsis etmek
  3. Varlık Yönetimi: Tüm kritik veya hassas varlıklar için uygun bir koruma düzeyi belirlemek
  4. İnsan Kaynakları Güvenliği: Kullanıcı eğitimini ve bilincini teşvik ederek hırsızlık, dolandırıcılık veya bilgisayar kaynaklarının kötüye kullanılma riskini azaltmak
  5. Fiziksel ve Çevresel Güvenlik: Kuruluşun tesislerindeki bilgi işlem olanaklarına yetkisiz erişimi önlemek ve bilgilerin zarar görmesini engellemek
  6. Haberleşme ve İşletim Yönetimi: Bilgi işlem tesislerinin uygun ve güvenli kullanımını sağlamak ve olay müdahale prosedürleri geliştirerek riski ve sonuçlarını azaltmak
  7. Erişim Kontrolü: Yetkisiz erişimlerin tespiti ve ağ sistemlerinin korunması için gerekli kontrol faaliyetlerini sağlamak
  8. Bilgi Sistemleri Edinim, Geliştirme ve Bakımı: İşletim sistemleri ve uygulama yazılımlarını bilgi kaybına karşı güncellemek ve kayıpları engellemek
  9. Bilgi Güvenliği İhlal Olayı Yönetimi: Etkin bir bilgi güvenliği sağlamak için olayların zamanında tespit etmek ve gerekli önlemleri almak
  10. İş Sürekliliği Yönetimi: Kritik arızalar, olaylar, doğal afetler, felaketlerden kaynaklanan kesintilere karşı hızla müdahale edilebilmek için kapasite geliştirme faaliyetleri gerçekleştirmek
  11. Uyum: Mevcut güvenlik politikalarının tüm yasalara ve yönetmeliklere uygun olduğundan ve üst yönetim onayından geçtiğinden emin olmak

Yazılım Geliştirme Süreçleri ve ISO 27001

ISO 27001, gerek yazılım geliştirme süreçleriyle doğrudan ya da dolaylı ilişki içerisinde olan birçok kontrol içermektedir. Bu kontroller ve kontrol kapsamında yazılım geliştirme süreci aşamalarında gerçekleştirilmesi gereken hususlar aşağıdaki gibidir.

Analiz Aşamasına İlişkin Kontroller

Yazılım geliştirme sürecinin en önemli aşamasıdır. Bu aşamada yapılacak yanlışlıklar yazılım projesinin başarısını en yüksek düzeyde etkilemektedir.

Bu aşamada kurumun mevcut bilgi teknolojileri, varsa sistem veri tabanı yapısı, sistem veri yapıları tanımlanmalıdır. Kullanıcı uygulama ihtiyaçları doğrultusunda yazılım ihtiyaç tanımları, veri yapılarını güncelleyen giriş bilgileri, uygulama yazılım ara yüz tanımları, yazılımın üreteceği çıktı bilgileri, yazılım için istenen sorgular gibi tanımlar belirlemelidir.

Yapılacak analiz, uygulama servislerinin performans ya da kısıtlamalar yönünden zorlanması ve doğru hizmet vermelerini engelleme girişimlerini de hesaba katmalıdır. Sunucu tarafındaki konfigürasyonların güvenli şekilde yapılması gerekir.

Yazılım için devreye alınacak yeni bilgi sistemleri için iş gereksinimleri bildirgeleri ya da mevcut bilgi sistemlerine yapılan iyileştirmeler güvenlik kontrolleri için gereksinimleri belirlemelidir. (A.12.1.1 – Güvenlik gereksinimleri analizi ve belirtimi) Yeni bilgi işleme tesisleri için, bir yönetim yetki prosesi tanımlanmalı ve gerçekleştirilmelidir. (A.6.1.4 – Bilgi işleme tesisleri için yetki prosesi)

Yetkilendirilmiş kullanıcıların sistemde neler yapabileceği uygun şekilde belirtilmelidir, aksi durumlarda başka kullanıcı haklarını kullanma, yetkisiz olduğu halde verilere erişebilme gibi sakıncalar doğabilir. Kuruluş içinden ya da dışından sağlanmış olsun tüm ağ hizmetlerinin güvenlik özellikleri, hizmet seviyeleri ve yönetim gereksinimleri tanımlanmalıdır. (A.10.6.2 – Ağ hizmetleri güvenliği)

İletişimin bütün türlerinin kullanımıyla ve bilgi değişimini korumak için resmi değişim politikaları, prosedürleri ve kontrolleri oluşturulmalıdır. (A.10.8.1 – Bilgi değişim politikaları ve prosedürleri)

Yazılımda kullanılacak harici materyaller için fikri mülkiyet haklarına göre materyallerin kullanımı ve patentli yazılım ürünlerinin kullanımı üzerindeki yasal, düzenleyici ve anlaşmalarla doğan gereksinimlere uyum sağlanmalıdır. (A.15.1.2 – Fikri mülkiyet hakları (IPR))

Kuruluşun dış taraflarla yapacağı bilgi ve yazılım değişimi için anlaşmalar yapılması gerekir, bu gereksinim analiz aşamasında karşılanmalıdır. (A.10.8.2 – Değişim anlaşmaları)

Tasarım Aşamasına İlişkin Kontroller

Tasarım aşamasında, uygulanacak geliştirme safhaları, her safha için girdiler, çıktılar ve kontrol metotları, iş zaman planları, uygulama planlarının yanı sıra yapılacak işlerin neler olduğu, bu işler için gerekli zaman ve kaynak ihtiyaçlarının tespiti, ilerlemenin izlenmesi için kullanılacak metotlar belirlenmelidir.

Tüm yazılım kullanıcıları için her türlü yazılım sistemine erişim kullanıcı isimleri ve şifreler ile sağlanmalı, bu şifre ve kullanıcı isimleri her kullanıcı için tek ve benzersiz olacak şekilde tasarlanmalıdır. Tasarımda kullanıcılar işlevlerine ve sorumluluk alanlarına göre gruplandırılmalı, grup bazında programlara ve veri tabanlarına erişim hakları verilerek yetkisiz kişilerin sistemi kullanmasına imkân verilmemelidir. Uygulama içinde çalışmalar her zaman menüler yardımıyla olmalı, kullanıcı programları kullanırken hiçbir zaman uygulamanın sağladığı komutlar dışına çıkma olanağı bulmamalıdır.

Bilgi sistemlerinin birbirine bağlantısı ile ilişkili bilgiyi korumak için politikalar ve prosedürler geliştirilmeli ve gerçekleştirilmeli, bilgi sızması fırsatları önlenmelidir. (A.10.8.5 – İş bilgi sistemleri, A.12.5.4 – Bilgi sızması ) Bu kapsamda tasarım aşamasında yüksek riskli uygulamalara ek güvenlik sağlamak için bağlantı sürelerinde sınırlandırmalar kullanılması gerektiği hesaba katılmalıdır. (A.11.5.6 – Bağlantı süresinin sınırlandırılması)

Tehditlerden korunmak için ve iletilmekte olan bilgi dâhil ağı kullanan sistemler ve uygulamalar için güvenliği sağlamak amacıyla ağlar uygun şekilde yönetilmeli ve kontrol edilmelidir. (A.10.6.1 – Ağ kontrolleri) Kullanıcılar ve destek personeli tarafından bilgi ve uygulama sistem işlevlerine erişim, oluşturulması önerilen tanımlanmış erişim kontrol politikasına uygun olarak kısıtlanmalıdır. (A.11.6.1 – Bilgi erişim kısıtlaması)

Kodlama Aşamasına İlişkin Kontroller

Yazılımlarda kodlamalar yapılırken güvenli yazılım kodlama teknikleri kullanılmalıdır.

Yazılımlar, modüler planlanmalı, modüler arası ilişkilerde yapısallık göz önünde bulundurulmalı ve programcı müdahalesi asgari seviyede olacak şekilde parametrik hazırlanmalıdır. Sisteme yeni modülerin ilavesi, modüllerin değiştirilmesi ya da silinmesi durumda sistemin bütünü etkilenmemelidir. Yazılımlarda kullanılacak menü, dosya, alan, değişken, tablo gibi her türlü isim anlamlı olarak seçilmelidir.

Aynı veri veya bilginin farklı veritabanı tabloları için ayrı ayrı girilmesine engel olunmalıdır (Normalizasyon). Tutarsız kod ve verilerin girişine engel olacak tedbirler alınmalı, veri tipleri ile kullanıcıların giriş yaptıkları alanların birbirleri ile tutarlı olma durumu kod içinde yapılan düzenlemeler ile giriş anında kontrol edilmelidir. Hata yapma olasılığı yüksek verilerin girildiği alanlar için liste veya seçenek kutuları kullanılmalıdır.

Özellikle web yazılımının kullanıcı bilgisayarında bir atak aracı olarak kullanılan çapraz site betiklerine (Cross side scripting) ve kontrolü ele almak üzere tamponların taşırılması gibi tehditlerden doğabilecek hatalar uygun bir şekilde kontrol edilmelidir. Kontrol edilmeyen hatalar dış dünyaya sistem ile ilgili bilgiler verebilir ve yeni açıklara zemin hazırlayabilmektedir.

Yazılımların karşılaştığı en önemli tehditlerden biri uygulamalarda gerçekleşen veri giriş-çıkışında kontrollerin tam ve sağlıklı olarak yapılmadan işleme alınması ya da çıktı olarak verilmesidir.  Uygulamalara gerçekleşen veri girişinin, bu verinin doğruluğunun ve uygunluğunun geçerlenmesi gerekmektedir. Yazılımda girdi parametreleri yazılım dışından verilebilir olmamalıdır. Kayıt olanakları ve kayıt bilgisi kurcalanma ve yetkisiz erişime karşı korunmalıdır. (A.10.10.3 – Kayıt bilgisinin korunması) Böyle bir koruma olmaması durumunda SQL (Structed Query Language) enjekte etme ve komut enjekte etme gibi yöntemlerle sistemlere girebilecek kodlar büyük zararlar verebilir. (A.12.2.1 – Giriş verisi geçerleme) Giriş verisi kadar çıkış verisi de önemlidir. Yazılımda çıkış verisi sistemimiz hakkında bilgi vermemeli veri sızıntısına açıklık bırakmamalıdır. Bir uygulamadan gerçekleşecek veri çıktısı, depolanan bilginin işlenmesinin koşullara göre doğruluğunun ve uygunluğunun sağlanması için geçerlenmelidir. (A.12.2.4 – Çıkış verisi geçerleme) Veri işleme hataları veya kasıtlı eylemler nedeniyle herhangi bir bilgi bozulmasını saptamak için geçerleme kontrolleri uygulamalar içine dâhil edilmelidir. (A.12.2.2 – İç işleme kontrolü)Uygulamalarda verinin kimliğinin doğruluğunu sağlama ve mesaj bütünlüğünü koruma gereksinimleri tanımlanmalı bunlarla ilgili uygun kontroller tanımlanmalı ve gerçekleştirilmelidir. (A.12.2.3 – Mesaj bütünlüğü)

Kötü niyetli koda karşı korunmak için saptama, önleme ve kurtarma kontrolleri ve uygun kullanıcı farkındalığı prosedürleri gerçekleştirilmeli, elektronik mesajlaşmadaki bilgi uygun şekilde korunmalıdır. Benzer bir biçimde mobil kod kullanımı yetkilendirildiğinde, konfigürasyon yetkilendirilmiş mobil kodun açıkça tanımlanmış bir güvenlik politikasına göre işletilmesini sağlamalı ve yetkilendirilmemiş mobil kodun yürütülmesi önlenmelidir. (A.10.4.1 – Kötü niyetli koda karşı kontroller, A.10.8.4 – Elektronik mesajlaşma, A.10.4.2 – Mobil koda karşı kontroller)

Kriptografi teknikleri yazılımlarda güvenliği sağlamada faydalanılan önemli tekniklerdir. Bilginin korunması için kriptografik kontrollerin kullanımına ilişkin bir politika geliştirilmeli ve gerçekleştirilmelidir. (A.12.3.1 – Kriptografik kontrollerin kullanımına ilişkin politika) Kriptografi için yeterli rastgeleliği sağlayan kriptografik tekniklerin kullanım desteklenmeli ve anahtar yönetimi bulunmalıdır. (A.12.3.2 – Anahtar yönetimi)

Yazılım geliştirme hizmetinin kuruluş dışından sağlanması durumunda, hizmeti sunan şirketin hareketleri ve yaptığı işler denetlenmeli ve izlenmelidir. (A.12.5.5 – Dışarıdan sağlanan yazılım geliştirme) Yazılım geliştiricilerce gerçekleştirilen ve revizyon kontrolü yapılmayan yazılım değişiklikleri karmaşaya ve çeşitli sorunlara neden olabilmektedir. Yazılım değişikliklerin gerçekleştirilmesinde resmi değişim kontrol prosedürlerinin kullanılması bu karmaşayı ortadan kaldıracaktır.(A.12.5.1 – Değişim kontrol prosedürleri)

Test Aşamasına İlişkin Kontroller

Kodlama aşamasından sonra gerçekleştirilecek test aşamasında yazılım uygulaması modüllerinin nitelik ve nicelik testleri yapılır. Geliştirme, test ve işletim olanakları, işletilen sisteme yetkisiz erişim veya değişiklik risklerini azaltmak için ayrılmalıdır. (A.10.1.4 – Geliştirme, test ve işletim olanaklarının ayrımı)

Bu aşamada bir test planı oluşturulmalı bu planda; test senaryoları, veri çeşitleri ve veri örnekleri ve test tasarım tanımlamaları ayrıntılı olarak belirtilmelidir. Test,   proje yöneticisi ve kullanıcı yetkilileri tarafından koordine ile programcı ve tasarımcılarla, gerçek kullanıcılar tarafından yapılmalıdır. Sistemin bütünü göz önünde bulundurularak modüllerin amaçlanan fonksiyonları tam ve etkin olarak yerine getirip getirmediği, birbiri ile entegre çalışıp çalışmadığı, veri alışverişi (varsa) yapıp yapmadığı kontrol edilmelidir.

Veri tabanının büyüklüğü ve listelenen, sorgulanan kayıt sayısı ile sistemin performans ilişkisi kontrol edilmelidir.  (A.12.2.1 – Giriş verisi geçerleme, A.12.2.4 – Çıkış verisi geçerleme, A.12.2.2 – İç işleme kontrolü) Test verisi dikkatlice seçilmeli, korunmalı ve kontrol edilmelidir. (A.12.4.2 – Sistem test verisinin korunması)

Yazılım ürünlerinin,   sistemin ve alt sistemlerin modül,   fonksiyon,   entegrasyon ve performans testlerinden sonra testlerde ortaya çıkan değerlere uygun olarak gerçek bilgi ve verilerle, gerçek kullanıcı donanım ve işletim ortamında tüm ihtiyaçların karşılandığı kontrol edilmelidir.

Revizyon istekleri göz önüne alınarak gerekli düzeltme ve düzenleme işlemleri yapılır. Entegrasyon, performans ve revizyon testleri tamamlandıktan sonra başlar. Test süresi tüm ihtiyaçların tamamlandığı ve kontrolü yapıldıktan sonra biter.

Test aşaması bitip uygulama devreye alınırken tüm çalışanlar, yükleniciler ve üçüncü taraf kullanıcıların bilgi ve bilgi işleme olanaklarına olan erişim hakları, istihdam, sözleşme veya anlaşmalarının sonlandırılmasıyla birlikte kaldırılmalı ya da değiştirilmesiyle birlikte ayarlanmalıdır. (A.8.3.3 – Erişim haklarının kaldırılması)

Bakım Aşamasına İlişkin Kontroller

Yazılım geliştirme sürencin son aşaması, bakım aşamasında da alınması gereken bir takım güvenlik önlemlerinden söz etmek mümkündür.

Yazılım paketlerine yapılacak değişiklikler, belirli bir incelemeden geçirilmeli, gerek duyulanlar gerçekleştirilmeli, bunun dışındakiler önlenmelidir. Tüm değişiklikler sıkı bir biçimde kontrol edilmelidir. (A.12.5.3 – Yazılım paketlerindeki değişikliklerdeki kısıtlamalar) Benzer bir biçimde kullanıcıların erişim hakları da resmi bir proses kullanarak düzenli aralıklarda gözden geçirmelidir. (A.11.2.4 – Kullanıcı erişim haklarının gözden geçirilmesi)

Yazılım Kaynak kodlarının bozulma riskini azaltmak ve bilgi kaybından korumak amacı ile kaynak kodları yazılım uzmanlarının işletim sistemleri içinde değil sunucu terminal üzerinde bulunmalıdır. Program kaynak koduna erişim kısıtlı olmalıdır. (A.12.4.3 – Program kaynak koduna erişim kontrolü) Söz konusu ortama erişim yalnızca ilgili yazılım uzmanı tarafından sağlanmalıdır.

Donanım arızaları, yazılım hataları, insandan kaynaklanan nedenler ve doğal afetler yazılımlarda bilgi kayıplarının ana sebepleridir.  Sebep her ne olursa yedekleme yazılımlarda hatalardan ve problemlerden geri dönüş için son derece önemlidir. Yedekleme için kurtarılabilir veri saklama yöntemleri uygulanmalı, bilgi ve yazılımlara ait yedekleme kopyaları düzenli olarak alınmalı ve alınan yedekler belirlenecek bir politikaya göre uygun şekilde düzenli olarak test edilmelidir. (A.10.5.1 – Bilgi yedekleme)

Belirlenmiş bir ön yetkilendirme olmaksızın teçhizat, bilgi veya yazılım bulunduğu yerden çıkarılmamalıdır. (A.9.2.7 – Mülkiyet çıkarımı) Eğer yetkilendirme varsa ve bilgi içeren ortamın, kuruluşun fiziksel sınırları ötesinde taşınması söz konusu ise taşıma esnasında, bilgiler yetkisiz erişime, kötüye kullanıma ya da bozulmalara karşı korunmalıdır. (A.10.8.3 – Aktarılan fiziksel ortam)

Bilgisayar donanımlarının depolama ortamı içeren tüm parçaları, elden çıkarılmadan önce, herhangi bir hassas veri ve lisanslı yazılım varsa kaldırılmasını veya güvenli şekilde üzerine yazılmasını sağlanmalıdır. (A.9.2.6 – Teçhizatın güvenli olarak elden çıkarılması ya da tekrar kullanımı)

Kurumların ve şirketlerin operasyonel sistemlerindeki yazılımların kurulmasını kontrol etmek için prosedürler bulunmalıdır.(A.12.4.1 – Operasyonel yazılımın kontrolü)

Zayıf parolalar ve şifreler bilişim sistemleri açısından önemli açıklıklar ortaya çıkarmaktadır. Kullanıcılardan, parolaların seçiminde ve kullanımında iyi güvenlik uygulamalarını izlemeleri istenmelidir. Bu ve bunun gibi hususlar için bilinçlendirme çalışmaları yapılmalı eğitimler verilmelidir. (A.11.3.1 – Parola kullanımı)

İşletim sistemleri değiştirildiğinde, kurumsal işlemlere ya da güvenliğe hiçbir kötü etkisi olmamasını sağlamak amacıyla iş için kritik uygulamalar gözden geçirilmeli ve test edilmelidir. (A.12.5.2 – İşletim sistemindeki değişikliklerden sonra teknik gözden geçirme)

Sonuç

Kurumların güvenli bir ortamda faaliyet gösterebilmeleri için dokümante edilmiş bir BGYS’yi hayata geçirmeleri gerekmektedir. Bu kapsamda ISO 27001 standardı tüm dünyada kabul görmüş ve en iyi uygulamaları bir araya getiren bir modeldir. Standart bu yönetim sistemini oluştururken ele aldığı önemli alanlardan biri de yazılım geliştirme süreçlerinde güvenliğinin sağlanması ve buna ilişkin olarak yazılım geliştirme politikasının oluşturulmasıdır. Yazılım geliştirme süreçlerinde standardın belirttiği gizlilik, bütünlük ve erişebilirlik kavramları mutlaka dikkate alınmalıdır. Bu kapsamda, yazılım geliştirmenin her aşamasında belirli bir güvenlik politikasının uygulanması kritik önem taşımaktadır. Kurumsal güvenlik için öncelikle yazılı olarak kurallar belirlenmelidir. Etkin bir BGYS kurmaya çalışan ve bunu ISO 27001 standardına uyumlu yapmak isteyen tüm kurumların oluşturacağı bu politikada belli kontrol maddeleri asgari olarak yer almalıdır.

Dr. İzzet Gökhan Özbilgin, Sermaye Piyasası Kurulu; Mustafa Özlü, Türk Patent Enstitüsü

Kaynak: https://www.bilgiguvenligi.gov.tr/yazilim-guvenligi/yazilim-gelistirme-surecleri-ve-iso-27001-bilgi-guvenligi-yonetim-sistemi.html

Orman ve Su İşleri Bakanlığı Bilgi İşlem Dairesi Proje Yönetim Süreci ve Süreç Tanımlama Projesi Sunumu

24 Eki

Orman ve Su İşleri Bakanlığı Bilgi İşlem Dairemizdeki çalışma arkadaşlarımıza, daha verimli çalışmamız için Yeni Proje Yönetim Süreci ve Süreç Geliştirme Projesini anlattık, Başarılı projeler için yola çıkmış olduk.

f

Yaptığımız sunumda hedeflerimizi, yol haritamızı ve proje planını paylaşmış olduk.

cc

vv

rr

Kamuda 1,5 Yılda Güzel Projeler ve İşler Yaptık

6 Haz

Gençlik ve Spor Bakanlığı Bilgi İşlem Dairesi Başkanlığında çalıştığım son 1,5 yılda yönettiğimiz başarılı projeleri ve önemli faaliyetleri bir raporda topladık.

Bu raporları hazırlarken bu projeleri geliştirdiğimiz günlere döndük. Bazıları için geç kalınmıştı bazıları için ise kamuda yapılabileceği bile hayal edilemiyordu. Ama sonunda yapılması gerekeni ve fazlasını özverimizle yapmış olduk.

Benim gibi sözleşmeli bilişim personellerinin istihdam edilme sebebi olan da aslında kamunun mevcut kaynaklarla ve mevcut istihdam sistemiyle yapamadığı işleri yapmaktı. Fakat ne kadar iyi bir ekibiniz olsa da her zaman yönetim desteğine ihtiyacınız vardır. Biz de yönetim desteğini de alarak, yapılması gerekli dijital dönüşüm projelerini başlattık ve alanında ilk olan projeleri tamamladık.

Organizasyonun ideal anlamda yapılanması, süreçlerin tanımlanması ve doğru kapsamla planların onaylanmasıyla 1,5 yılda güzel şeyler yaşadık. Bunların hepsi hem benim hem de tüm personel için güzel tecrübelere vesile oldu. Herkesin emeğine sağlık, Herkese ayrı ayrı teşekkür ediyorum.

Hazırladığımız raporda bunları görebilir diğer faaliyetlerimiz hakkında bilgi edinebilirsiniz.

Proje Başarı Hikayeleri

Bu Raporun Tanıtımı için Kısa Video

Bazı Örnek Projeler:

Kapak 2

KYK

SDD

GörenAdımlar

BI

NUSRAT

Kamuda Proje Yönetimi Deneyimlerim

1 Haz

Kamuda bugüne kadar 1,5 yıl süren Proje Yönetim deneyimimi 7 yıllık Proje Yönetim Deneyimimle yorumlamak istedim. Söylemek istediklerimi 10 maddede aşağıdaki gibi toparlamaya çalıştım. Belki ilerleyen günlerde eklemeler yapabileceğim.

1-Kurum Mevzuatını ve Durumunu Öğrenme

Öncelikle Kamu kurumlarındaki mevzuatların özellikle satın alma-ihale mevzuatlarının proje kapsamında sağlıklı yönetilebilmesi için iyi bilinmesi gerekmektedir. Öyle ki bu süreçler kamuda özel sektörden tamamıyla farklıdır. İnsan Kaynağının yönetimi, eskalasyon ve diğer idari süreçler için mevzuatın öğrenilmesi önemlidir. Mevzuatın yanı sıra çalışılan kamu kurumunun mevcut durumunun iyi analiz edilmesi, kullanılan yazılımlar, sistem ve network altyapısı ve ihtiyaçlar iyi tespit edilmeli, Kurum organizasyonu ve stratejilerle eş güdümlü ihtiyaçlar iyi anlaşılmalıdır.

2-Kuruma Özgü Proje Yönetim Süreci Belirleme

Kurumun organizasyon yapısı, uyması gereken mevzuat ve yasalar göz önüne alınarak uluslararası standartlar ışığında süreçler roller ve formlar belirlenecek şekilde yapılandırılmalıdır. Özellikle karar vericiler ve doldurulması gerekli formlar detaylı çalışılmalıdır.

3-Kurum Kültürü Oluşması için Faaliyetleri Planlama ve Uygulama

Kurumun durumuna ve yapısına uygun Proje yönetim süreci bir kültür olarak yaşaması için kurumdaki ilgili birimlere anlatılmalı, deklare edilmeli ve günlük taleplerde proje yönetimine yönlendirme yapılarak bilgi verilir.

4-İletişim Altyapısı Oluşturma ve Etkili Kullanım

Kurum kültürüne, ihtiyaçlarına ve amaçlarına uygun toplantı, mail ve telefon gibi iletişim kanalları kurularak bu kanallarda etkili ve düzenli iletişim yapısı planlanır.

5-Kurum Altyapısını Değerlendirme, Güncelleme ve Yenileme

Kurumda geliştirilecek yeni sistemler ve yazılımlara hazır olunması için mevcut alt yapının değerlendirilmesi gerekir. Fayda Maliyet analizi yapılarak sistemlerin güncellenmesi gerekmektedir.Bu yenilenme ve dönüşüm çalışmaları için iş süreçleri analiz edilmeli süreç ilişkileri ve paydaş gereksinimleri detaylı ortaya konmalıdır.

6-İnsan Kaynağı Yönetimi ve Proje Uygulama

Projelerde Proje Yöneticisinin idari amir olmaması sebebiyle Proje Yöneticisinin sorumlu ve yönetici olarak tanıtılması ve tanınması gerekmektedir. Güçlü Matris organizasyonun uygulanması için gerekli planlama ve duyurular yapılmalıdır.

7-Teknik Süreç ve Tedarik (Satın Alma) Yönetimi

Satın Alma ve İhale Mevzuatı öğrenilerek (Doğrudan Temin-Davet Usülü ve Açık İhale) Şartname Hazırlama ve Kabul Süreçleri Proje Yönetimine entegre edilmeli roller ve sorumluluklar net belirlenmelidir.

8-Problem Yönetimi

Ortaya çıkan problemlerin çözümü için gerekli komiteler ve süreçler planlanmalı, sorunların çözülmesi için ilgili birimlerle bir araya gelinerek çözüm için gerekli aksiyonların fiilen sözlü görüşmelerle yapılmalıdır.

9-Değişiklik Yönetimi

Kamuda Proje Yönetiminin kaçınılmaz unsuru değişiklik yönetimidir. Mevzuat ve şartlar değişebilmekte bunun yanı sıra proje gereksiniminde de değişiklikler belirsizlik olarak projeyi çıkmaza sürüklemektedir. Bu durumda proje yöneticisi değişikliği iyi analiz etmeli, durduramıyorsa yapılması için gerekli tedbir ve onayı alarak uygulamaya çalışmalıdır. Uygulama sonrası etkilerini iyi raporlamalı ve etkilerini elemine edecek önlemleri almalıdır.

10-Sürdürülebilir Proje Yönetişimi

Kurumda proje yönetiminin kurum kültürüne uygun yapılandırılması, öğrenilmiş derslerle olgunlaşması ve ideal sürece yönelik yapılan değişiklikler sonrası yönetişimin sürdürülebilir olması için süreçlerin, prosedürlerin ve formların resmileşmesi benimsenmesi zorunlu tutularak başarısının ödüllendirilmesi veya takdir edilmesi gerekmektedir.