Başlangıç > GÜNLÜK > YAZILIM PROJE YÖNETİMİ SEMİNER NOTLARIM

YAZILIM PROJE YÖNETİMİ SEMİNER NOTLARIM

spm.jpgGüzel bir CETURK etkinliği geride kaldı. Beklenenden çok katılımcı olması bizleri memnun ederken , umarım düzenlemiş olduğumuz bu seminer de katılımcıları memnun etmiştir. CETRUK etkinliklerinde koşuşturmacadan ötürü pek not alamasam da bu seminerde hem daha dikkatli dinledim hem de güzel notlar aldım. Aykut Taşdelen Bey ‘in anlattıklarını kendi deneyimlerimle harmanlayarak sizlere aktarmaya çalışacağım.

Sanırım öncelikle her yapılan aktivititenin proje olmadığını anlamak gerekiyor. Herşeyden önce bir projede hedef, kaynak, ekip ve zaman kısıtı olmalıdır. Öte yandan bir projenin kapsamı ,bütçesi ve gerçekleştirileceği zaman çok iyi bir şekilde belirlenmelidir. Proje kapsamının doğru belirlenememesi doğrudan proje bütçesini ve zamanı etkileyecektir. (Yani ne var ne yok herşeyi ilk sürüme dahil etmeye çalışmayın. )

Aykut Bey seminerde proje kavramıyla ilgili kısa kısa bilgiler verdikdek sonra Proje Yönetimi Nedir sorusuna cevaplamaya çalıştı. Proje yönetimi = Planlama + Organizasyon +Uygulama + Kontrol gibi basit bir denklem kurabiliriz. Tüm bu aşamaların gerçekleşmesini sağlamak proje yöneticisinin görevidir.

Herşeyden önce iyi bir planla başlanmalıdır. Aslında İYİ PLAN NEDİR? gibi bir soru sorsanız sanırım açıklaması bu bloga sığmaz. Ama gerçekçilik ve esneklik benim planlarda aradığım temel özelliklerdir. Yani “Abi zorlasak 2 haftada bitiririz biz bu projeyi ” gibi bir yaklaşım asla kabul edilemez. Organizasyon da proje yönetiminin temel taşlarındandır. İşleri ve ekibinizi çok iyi organize etmeli ve verimliliği artırmak için elinizden geleni yapmalısınız. Uygulama da ise projenin bir ürün haline gelebilmesi için gerekenlerin yapılmasını sağlamalısınız. Kontrol ise projenin sonuna bırakılmamalı ve her aşamada belirli aralıklarla kontrol yapılmalıdır. Bu sayede OLMASI GEREKENLE OLAN arasındaki farkı görebilir ve tedbirinizi ona göre önceden alabilirsiniz. Sanırım kontrolü hep işin son kısmına atmak yapılan en büyük hatalardan biri.

Seminerde sıra kötü durum senaryolarına gelmişti. Yönetilemeyen Projelerin IT sektörüne maliyeti 75 Milyar $. Projelerin %30 gibi büyük bir kısmının asla başarıya ulaşamadığını söylüyordu Gartner verileri. Ülkemizde de bu facialardan fazlaca yaşanıyor (Şirket ismi vermek doğru olmayacağından veremiyorum)

Peki neden böyle oluyor? Hedeflerin doğru tanımlanmaması, projenin kapsamına yabancı olunması ,kullanılcak olan teknolojiye yabancı olunması , iletişim sorunları ve projelerin iyi yönetilememesi gibi pek çok nedeni var bu durum. Fakat yönetimsel becerilerin azlığı %32 gibi büyük bir paya sahip bu başarısızlıklarda. Bu da bizlere PROJE YÖNETİMİNİN önemli ve marifet gerektiren bir iş olduğunu bir kere daha gösteriyor.

Seminerde Aykut Bey proje yönetiminin alt basamaklarına da değindi. Bunlardan bir tanesi ZAMAN YÖNETİMİ. Burada Aykut Bey ‘in verdiği örnek üzerinden gitmekte fayda var. Örneğimiz : Senge ‘nin Kurbağa benzetmesi. Senge ‘ye göre bir kurbağayı doğrudan kaynar bir suya atarsanız hemen kaçıp kurtulmak ister ve onu haşlayamazsınız. Fakat normal sıcaklıktaki bir suya koyar ve yavaş yavaş ısıtırsanız kurbağa bunu fark etmez ve onu haşlayabilirsiniz. (Örnek mide sorunlarına neden olduysa şimdiden özür diliyorum) Buradan projelere geri dönersek: projeleri zamana yaymamız şart. Bir zaman çizelgesi ve son bitiş tarihi belirlenmeli. Fakat bu zaman belirlenirken önceki deneyimler, ekipteki kişi sayısı ve iş yükü MUTLAKA göz önünde dulundurulmalıdır.

Proje sürecinde en çok vakit kaybedilen noktlardan bir tanesi de TOPLANTILAR. Bazen bayanların ALTIN GÜNLERİNE dönen toplantılar yoğun iş stresinin atıldığı sohbet ortamları olarak görülmemelidir. (Sohbeti molalara saklamakta fayda var) Bu gibi zaman kaybettirici durumların önüne geçmek için toplantı içeriği, yeri, süresi, molaları ve lideri önceden belirlenmelidir.

Yazılım proje yönetimi , yazılım geliştirme metodolojinizle doğrudan ilişkilidir. Bu noktada Aykut Bey Yapısal Yaklaşım (CMMI:Capability Maturity Model Integration) ve Çevik Yaklaşım (XP-Agile) ‘dan bahsetti. Yapısal yaklaşımda temel hedef sürecin doğru planlanarak zaman ve para kayıplarını azaltmaktır. Bu yaklaşım ile yazılım geliştirme süreçlerinin iyileştirilmesi sağlanır. Zaten CMMI da yazılım kalite süreçlerini belirleyen ve düzenleyen bir yöntemdir. Fakat çok yapısal ve dökümantasyon ağırlıklı olması bazen temel hedefimiz olan ÜRÜNÜ ortaya koyamamamıza veya hedefimizden sapmamıza neden olabilir. (İşten çok işin yapılış şekli önem kazanır ki bu da projeye zarar verebilir)

Çevik yaklaşımda ise temelde birey bulunur. Kullanılan araçlar ve yöntem ikinci plana çekilir. Dökümantasyondan ziyade ilk hedef ortaya çalışır bir ürün koymaktır. Katı bir plan izlemek yerine değişikliklere cevap vermeyi önemser. (Her ne kadar değişikliklere cevap verebilir olmak güzel bir özellik olarak görülse de projenizde çok sık değişiklik yapma ihtiyacı duyuyorsanız önceki aşamalarda bir aksaklık olabilir. Özellikle de ANALİZ aşamasına bir bakmata fayda olabilir.)

Bu yaklaşımların dışında farklı yaklaşımlar elbette mevcut. Bu noktada hangi yolu izleyeceğinizi belirlemek size kalıyor. Öğrencilik hayatında en çok izlenen yöntem Expreme Programming ‘dir (XP) diye düşünüyorum. Son dakikada danışman öğretmeninizin isteklerini hızlıca projeye yansıtmanız gerekebilir. Fakat kurumsal bir yapı mevcutsa ve daha önceki projelerden sürekli bilgi ve kod bakımından faydalanılacaksa burada dökümantasyona ağırlık veren bir süreç izlemekte fayda var. (Zayıf dökümantasyon sonradan kulaklarınızın çınlamasına neden olabilir 🙂 )

Seminerin sonunda ise Aykut Bey proje yönetimi kolaylaştıracak iki Microsoft çözümüne ( Visual Studio Team System ve Visual Source Safe ) değindi ve ufak bir demo gerçekleştirdi. Aslında bu ürünlerin her biri başlı başına bir seminer konusu ama ben yine de bu ürünler hakkında da bir kaç satır birşey yazayım.

Önce Visual Source Safe ile başlayalım. Microsoft ‘un versiyon kontrol ürünüdür diyebiliriz. Kaynak Konfigürasyon Yönetimi ‘ni (Source Configuratin Management) işemlerini kolaylaştıran bu araç ile hangi kaynak kod üzerinde kimin çalışcağını belirleyebilir ,kaynak dosyalarınız koruyabilir , yapılan değişiklikleri geri alabilirsiniz. Visual Source Safe uygulamasını bilgisayarınıza kurunca otomatik olarak Visual Studio ‘ya entegre olur. Kurulumdan sonra kaynak dosyaların tutulacağı bir dizin belirlenmelidir. Yine aynı şekilde yönetici yönetim paneli ile yeni kullanıcılar tanımlayıp sisteme dahil etmelidir. Bundan sonra projeniz için gerekli dosyaları Visual Studio üzerinden önceden oluşturulan kaynak dosya dizinine bağlanarak açabilirsiniz. Microsoft ‘un bu ürününü .NET platformunda uygulama geliştirenler mutlaka denemelidirler. (Javacılar için de CVS var.)

Visual Studio Team System ise hem yapılsa hem de çevik yaklaşımı benimseyen şirketlerin ihtiyaçlarına cevap verebilecek nitelikte, çok fazla özelliği bünyesinde barındıran bir ürün. Bu ürünün en büyük avantajı yazılıma daha doğrusu projeye ait bütün süreçleri birbirine entegre edebilmesidir. Bünyesinde veritabanı tasarımcıları , yazılım geliştiriciler , yazılım mimarları , test ekibi gibi pek çok proje çalışanının ihtiyacını karşılayacak çözümleri barındırır. Bir diğer önemli avantajı ise projenin izlenebilirliğini artırmasıdır. Bu izlenebilirlik hem müşteri (bir web arayüzü ile) hem de proje yöneticisi için geçerlidir. Visual Studio Team System ile ilgili detaylı bilgiyi buradan alabilirsiniz.

Yukarıda bahsi geçen araçların listesini uzatmak mümkün fakat bunlar proje yönetimini sadece kolaylaştırırlar. Asla bu araçları kurup kullanarak iyi bir proje yönetebileceğinizi sanmayın. Hatta bazen işlerinizi zorlaştırabilir. Şöyleki uygulama geliştiricilerin bu tip araçlara alışması zaman alabiliyor. Hele de bu araçlar ile CODE POLICY tanımları yaptıysanız uygulama geliştiricinin çalışma stiline müdahele etmiş oluyorsunuz. Fakat proje ekibinizde benim gibi yolun başında kişiler varsa CODE POLICY gerekebilir. (Code Policy tanımları ile isimlendirmeler , değer atamaları , çevrimler vs. konusunda kısıtlamalar getirerek projenizin kalitesini artırabilirsiniz)

Öte yandan bu tip araçların ciddi maliyetleri vardır. IBM ‘in Rational ürün ailesiyle (Rational Clear Case) ile hakim olduğu bu pazara Microsoft Visual Studio Team System ile yeni bir soluk getirmeye çalışmıştır. Bundan 6 ay önce katıldığım bir seminer sayesinde VSTS ile tanışmıştım. O zaman daha yeni yeni adını duyurmaya başlayan VSTS sanırım pazarda beklediği yeri bulamadı. Bunun da temel nedeni bazı noktalarda alışkanlıkların ağır basması ve maliyetler. Bu tip araçların kullanımına karar vermeden evvel ne getirip ne götüreceğini iyi bir şekilde analiz etmek gerekir.

Proje yönetimi ile ilgili bir diğer önemli nokta da içinde beşeri faktörlerin ağırlıkta olduğu bir süreç olduğundan mutlaka belirli bir oranda esneklik gerektirdiğidir. Eğer projeyi bir bilgisayara yaptırıyor olsaydınız ne zaman biteceğini neler olabileceğini çok rahatlıkla kestirebilirdiniz ama işin içine insan faktörü girince bu hesaplama daha da zorlaşıyor. Öte yandan esneklik katsayınızı çok büyük tutmamakta fayda var. Bu da maliyetleri artırmasına , zaman kaybına hatta projenin başarısızlıkla sonlanmasına neden olabilir.

Bu uzun yazı ile Aykut Bey ‘in seminerde bizlerle paylaştıklarını kendi bilgi ve deneyimlerimle harmanlayarak sizlere aktarmaya çalıştım. Umarım çok fazla sıkmamışımdır.

Bu güzel etkinliği gerçekleştirmemize yardım eden Aykut Taşdelen ‘e , Netron Bilişim Akademisi ‘ne ve Yıldız Teknik Üniversitesi Bilişim Klübü ‘ne teşekkür ediyorum ve daha güzel etkinliklerin sözünü şimdiden veriyorum.
Sağlıcakla kalın…

Seminer haberi
Seminerde kullanılan sunum

Visual Studio Team System
Visual Source Safe
CMMI-Türkiye mail grubu
Extreme Programming

Reklamlar
Kategoriler:GÜNLÜK
  1. Mayıs 23, 2007, 3:50 pm

    gerçekten çok güzel bir derleme olmuş seminerden ibrahim abi, teşekkürler

  2. Mayıs 23, 2007, 3:53 pm

    Sağol Gürkan . Doğruyu söylemek gerekirse sen istedin diye aklımdakileri de ekleyerek itinayla yazmaya çalıştım.

    Seminerde konuşmacı olan Aykut Bey de beğendiğine göre sanırım yazı okuyanlara birşeyler katabilecek durumda.

    İlgin için ben teşekkür ederim.

  3. nihan bayraktar
    Aralık 13, 2010, 2:25 am

    gerçekten çok güzel bir yazı olmuş çok teşekkürler..
    proje yönetimi ile ilgili önemli bir ödevim vardı..bu konu ile ilgili okulda bir sunum yapmam gerekiyor..yazdıklarınızdan öğrendiğim çok şey oldu tekrar teşekkürler..

  1. Mayıs 29, 2007, 10:23 pm
  2. Kasım 6, 2007, 1:12 am
  3. Haziran 28, 2009, 6:14 pm

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: