Ana içeriğe atla

Kayıtlar

Proje Yönetimi etiketine sahip yayınlar gösteriliyor

ALM (Application Lifecycle Management) Nedir?

Son dönemde arama motorlarında SDLC(Software Development Life Cycle)  arattığımızda; karşımıza gelen listede SDLC nin yanında  ALM  adında birçok sonuç görmekteyiz. Peki nedir bu ALM ? SDLC ile ALM arasındaki farklar nelerdir? Bu yazımızda bu konuya açıklık getirmeye çalışacağım. Uygulama yaşam döngüsü (ALM-Application Life Cycle Management) kavramını kısa bir şekilde açıklamak o kadar kolay değil.  SDLC ile ALM birbirlerine çok yakın kavramlar gibi gözükse de bu yaklaşım çok sınırlı ölçüdedir. ALM , SDLC’den çok daha büyük bir kavramdır. Yazılım Mühendisliği altında bir kavram olarak SDLC yi incelediğimizde; SDLC çeşitli yazılım geliştirme metodolojilerini kapsamaktadır.  ALM, bir uygulamanın yaşamını(büyümesi, geliştirilmesi, bakımı) yöneten ve devamlılık arz eden bir süreçtir.  ALM’i  iş yönetimi ile yazılım mühendisliğinin birlikteliği olarak düşünebiliriz. ALM  İstek Yönetimi, Mimari, Tasarım, Kodlama, Test , izleme, Sürüm Yönetimi...

Zaman Yönetimi İpuçları

Zaman yönetimi, herhangi bir eğitim döneminde öğretilmeyen, kişilerin kendi kendilerine öğrendikleri önemli bir beceridir. Zaman sabit gözüksede (1 gün = 24 saat)  bu yeteneği olan kişiler, olmayan kişilere oranla daha fazla zamana sahiptir.   Yazılım geliştirmek elbette heyecan vericidir, kodlamaya başladığımızda kendimizi kaptırır ve zamanın nasıl geçtiğini anlamayız. Zamanımızın neredeyse tamamını çalışarak geçirmek zamanı yönettiğimizi değil, zamanın bizi yönettiğini göstermektedir. Psikolojik, sosyolojik ve diğer ihtiyaçlarımızın karşılanabilmesi için zamana ihtiyacımız vardır. Bu yazımızda yaşamımızı daha kaliteli ve başarılı hale getirecek zaman yönetim ilkelerinden bahsedeceğiz. Uzun ve kısa vadeli hedeflerinizi belirleyin Daha iyi bir yaşam için; öncelikle sizin için neyin “en iyi” olduğunu bilmelisiniz. Gelecek hafta, gelecek dörtte birlik dilim, gelecek 20 yılda kendinizi nerede görmek istiyorsunuz? Bu soruları yanıtlayarak yaşamınızdan ne istediğiniz ka...

CMMI Nedir?

CMMI ( Capability Maturity Model Integration), Yetenek Olgunluk Model Entegrasyonu anlamına gelmektedir. Firmaların yazılım geliştirme süreçlerini (Proje alma, Proje geliştirme, Yazılım planlama ve geliştirme vb.) en başından ele alır ve ne durumda olduklarını değerlendirerek, firmaların kendi iç süreçlerinde iyileştirme yapmalarını amaçlar. CMMI , Amerikan Savunma Bakanlığı’nın 1970’li yıllarda açmış olduğu yazılım ihalelerini alan firmaların projelerini geç tamamlaması ya da tamamlayamadan işi bırakması sebebi ile uğradığı sure ve maliyet kaybını biraz olsun engelleyebilmek adına ihaleye giren firmaların değerlendirebileceği bir kriter olarak oluşturulmuştur. Carnegie Mellon Üniversitesi Yazılım Mühendisliği Enstitüsü(SEI) tarafından geliştirilen bu modelleme son olarak 1 Kasım 2010 tarihinde güncellenerek son halini almıştır. Su an ABD’de birçok büyük şirket Yazılım geliştirme ihalelerinde, ihaleye giren firmaların CMMI derecesine göre karar vermektedir.

İş Analisti

Bir önceki makalemizde iş analisti hakkında kısaca “Müşterilerin ihtiyacını anlamaya yönelik çalışmalar yapan , senaryoları ortaya koyan pozisyondur.” demiştik. Bu yazımızda iş analistinin özellikleri ve görevlerinden bahsedeceğiz. İş analistinin özellikleri İnsanların gerçek ihtiyaçlarını saptamak için gerekli sabra ve yeteneğe sahiptir. Alternatif yaklaşımları güçlü ve zayıf yanlarına göre karşılaştırabilir. Yüz yüze iletişim tekniklerinde bilgili ve beceri sahibidir. Karmaşık sorunları kavramsal olarak inceleyebilir. Seçenekleri belirleyerek, çözümler üretebilir. Hizmet sağlama ilkeleri ve süreçleri (İhtiyaç belirleme, hizmet kalite standartları, müşteri memnuniyeti ölçmeyi de içerir) hakkında deneyim sahibidir. Dokümanla ifade edilen bilgileri kolay ayrıştırır ve alakalandırır.

Build Automation and Continuous Integration

Başta XP (eXtreme Programming) olmak üzere, çevik yazılım geliştirme süreçlerinde ; set otomasyonu ve sürekli tümleştirme (Build Automation and Continuous Integration) işlemleri önemli bir yer tutmaktadır. Bu işlemlerin temel amacı, set yapımı ve kod entegrasyonu maliyetlerini düşürmektir. Ek olarak, ileride yapılacak geliştirmelere bağlı olarak değişim maliyetlerini düşürmek hedeflenmektedir. Büyük ve kapsamlı projelerin set yapım süreçleri de aynı derecede karmaşıktır. Farklı birçok kişi ya da grupların çalışmış olduğu projelerin ve dosyaların bir araya getirilmesi, entegre edilmesi ve uygulamaların test edilmesi yüksek maliyetler oluşturmaktadır. Bu işlemlerin süreklileştirilmesi ve otomatikleştirilmesi, ayrıca yazılım geliştirme süreçlerinin bir parçası haline getirilmesi, önemli kazanımlar getirecektir. İşte tam da bu noktada FinalBuilder gibi çeşitli uygulamalar kullanılmaktadır. FinalBuilder, Vsoft Technologies firmasının geliştirmiş olduğu görsel olarak oluşturulabilen scriptl...

Proje Yönetimi – Bölüm 4 (Projeler Neden Başarısız Olur?)

Yazılım projelerini başarısızlığa uğratan çeşitli nedenler sayılabilir; Müşteri memnuniyetsizliği Projeler, müşterilerin ve son kullanıcıların gereksinimlerini tam anlamıyla karşıladıkları zaman başarılı sayılırlar. Proje bütçeye uygun ve zamanında bitmiş bir proje olsa bile müşteri memnuniyeti üst düzeyde değilse başarılı değildir. Projenin zaman ve bütçe kısıtlarının fazlasıyla aşması Proje ekibinin, proje kısıtlarını göz önünde bulundurmadan geliştirmeleri başarısızlığı da beraberinde getirecektir. Bütçe ve zaman, proje kısıtlarından en önemlileridir. Proje, uygun olmayan bir bütçe ve/veya tahmin edilen zamandan çok sonra tamamlanırsa başarılı kabul </CITY> edilmez. Gereksinim analizlerinin proje genelindeki belirsizlikler yüzünden gerektiği gibi yapılamaması ve bunun neden olduğu sürekli değişiklikler Gereksinim analiz süreci, yazılım mühendisliği disiplinlerinin en önemli safhalarından biridir. Proje takımı, analiz süresince gereksinimleri...

Proje Yönetimi – Bölüm 3 (Proje Yöneticisi)

Proje ekibini ve rolleri anlattığımız yazımızda kısaca proje yöneticisinden bahsetmiştik. Bu yazımızda görev tanımının detaylarına ineceğiz. Proje yöneticisi; “Riskleri, kaynakları ve kalite standartlarını değerlendirerek, projeyi planlayan, takım organizasyonunu sağlayan ve ilgili teknik ekibi yönlendirip, gerektiğinde motive eden kişidir” . Proje yöneticisinin yerine getirmesi gereken başlıca görevler aşağıdaki gibidir; Kaynakları Yaratır Proje yöneticisi, proje süresince gerekecek tüm kaynakları (kişiler, eğitimler, donanımlar, materyaller vb.) proje başlamadan tahminler. Proje ilerledikçe, yeni gereksinimlerin neden olduğu yeni kaynaklara ihtiyaç duyulabilir (yeni kişilerin projeye eklenmesi, analiz edilmeyen risklerin projeye etkisi, yeni donanım ihtiyacı vb.). Bu durumlarda, proje yöneticisi zaman kaybetmeden gerekli kaynağı bulmalıdır. Kaynağın elde edilmesinin gecikmesi, projede aksaklıklara neden olacaktır. İletişimi Sağlar Proje yöneticisi, üst ...

Proje Yönetimi – Bölüm 2 (Proje Ekibi ve Roller)

Proje Yönetimi ile ilgili ilk makalemizde Proje Yönetimi Temel Kavramları üzerinde durmuştuk. Bu makalemizde, proje ekibi ve rol dağılımlarını anlatıyor olacağız. Yapılan araştırmalar ve edindiğimiz tecrübeler, yazılım projelerini başarıya götüren en önemli faktörün proje ekibinde görev alan kişiler olduğunu göstermektedir. Proje yaşam döngüsü süresince, istenildiği kadar rahat çalışma ortamı yaratılırsa yaratılsın, en pahalı analiz, dizayn, geliştirme, test ve yönetim araçları kullanılırsa kullanılsın, doğru yetenek ve niteliklere sahip, entegre bir  proje ekibi olmadıkça, projenin başarıya ulaşması beklenemez. Yazılım projelerinin başlatılmasında, geliştirilmesinde ve yaşatılmasında, proje ekibindeki kişilerin rolleri ve birliktelik mekanizmaları, SEI  enstitüsü tarafından PM-CMM (İnsan Yönetimi – Yapılabilirlik Olgunluk Modeli) modelinde tanımlanmıştır. Bu model, CMM “yazılım olgunluk modeli” nin bir uzantısı olarak geliştirilmiş olup, aşağıdaki anahtar alanları (PM-CMM KP...

Proje Yönetimi – Bölüm 1 (Temel Kavramlar)

Proje yönetimi, hedef, maliyet ve zaman kriterlerine dikkate alarak, mevcut kaynakları verimli bir şekilde organize etme ve kontrol etme sürecidir. Proje yönetimi ile ilgili bu ilk yazımızda, yazılım projelerindeki temel kavramlara kısaca değineceğiz. Yazılım projelerinin kalitesi veya kalitesizliği, temelde 4 ana bileşene ve bu bileşenlerin birbirleri ile olan ilişkilerine bağlıdır. Bu bileşenlerden herhangi birisinde meydana gelecek aksaklık veya bileşenler arası bağlantı kopukluğu, tüm projenin başarısızlığa uğramasına neden olabilir. 4P olarak da adlandırılan bileşenler aşağıdaki gibidir; Kişiler/Kaynaklar (People) Ürün (Product) İşleyiş Mekanizması (Process) Proje (Project)   Şekil 1. Proje Yönetimi Temel Bileşenleri