-

MIS Eğitimi-Yazılım Mühendisliği ve İşletmelerde Yazılım Geliştirme Yaklaşımları-Proje Yönetimi

MIS eğitimizin son haftasında çok beğendiğim eğitimlerden biri olan  Yrd.Doç.Dr.Gülfem Işıklar Alptekin’in “Yazılım Mühendisliği ve İşletmelerde Yazılım Geliştirme Yaklaşımları” konulu sunumu ile ilgili aklımda yer edinenleri aktarmak isterim.

Yazılım geliştirme süreçleri üzerine konuştuk.En çok kullanılan yazılım geliştirme süreci modelleri:

  • Çağlayan/Şelale(Watefall Model)
  • Evrimsel Geliştirme(Evolutionary/Iterative/Agile Development)
  • Bileşen Esaslı Geliştirme(Component-based Software Engineering)
  • Kitle Kaynak(Crowdsourcing)

Waterfall Model

Yazılımı kesin çizgiler ile aşamalara bölen bir modeldir.

Waterfall model yazılımı;

  • İhtiyaç analizi
  • Sistem ve yazılım tasarımı
  • Uygulama ve birim testleri
  • Entegrasyon ve testleri
  • Bakım

diye ayırır.

Her aşamadan sonra dökümanı yazılmalıdır.Bu model daha çok ihtiyaçların çok iyi bilindiği ve değişiklik yapılmasının pek beklenmediği durumlar için uygundur.Bu yüzden ihtiyaçların çok iyi belirlenmesi önemlidir,çünkü bu modelde geçmişe yönelik bir çalışma yapılmaz.Savunma sanayi projelerinde ya da kamu projelerinde bu model daha çok tercih edilir.

Waterfall modelinde yapılan yazılımdaki hatalar test aşamasında ortaya çıkar,bu sırada zaman bayağı ilerlemiştir, başa dönüp düzeltme yapmak çok maliyetlidir,aynı şekilde eğer isterlerde yanlışlık varsa ortaya istenenden farklı çok değişik bir yazılım çıkmış olabilir :) Bu modelde süreç ilerlerken değişiklik yapmanın zor olması ve bir aşama bitmeden diğer aşamanın başlayamaması dezavantaj olarak söylenebilir.

Evrimsel Geliştirme(Evolutionary Development)

Bu model daha çok küçük ve orta büyüklükteki etkileşimli projelerde veya büyük sistemlerin bazı bölümlerinde tercih edilir.Bu modelde bir uygulama yazıp kullanıcıdan gelen yoruma göre uygulama iyileştirilip tekrar kullanıcıya sorulur, süreç sürekli böyle devam eder.Yazılım tamamlanana kadar ortaya birçok versiyon çıkar.Sürecin müşteri onayı ve kontrolünde gerçekleşmesi avantajdır, fakat genel bir plan olmadığı için sürecin ileri evreleri öngörülemez.Genelde bu model ile geliştirilen sistemlerin ana yapısı sağlam değildir.Waterfall modelin aksine burada düzenli bir dökümantasyon yoktur,dökümantasyon yerine çalışan bir uygulama oluşur.Proje yöneticileri gelişmeyi yönetmek için düzenli rapor görmek isterler, bu da onları sıkıntıya sokabiliyor.

Bileşen Esaslı Geliştirme(Component-Based Software Development)

Bu modelde daha önceden yazılmış bileşenler sistematik bir biçimde diğer projelerde de kullanılır.Bu süreçteki adımlar aşağıdaki gibidir:

  • Bileşen analizi
  • İhtiyaçların düzenlenmesi
  • Tekrar kullanılan bileşenlerle sistem tasarımı
  • Geliştirme ve enterasyon

Bu model daha fazla kullanılmaya başlanıyor.

Kitle Kaynak(Crowdsourcing)

Bu model aslında çok yerde geçmiyor,hocamızın kendi derlemelerinden anlattığı bir modeldir.Bu modelde topluluğa yazılım geliştirtmek gibi bir yol izleniyor.Hocamız bu modeli çok iyi örnekleyen Topcoder ismindeki bir topluluktan bahsetti .Şirketler Topcoder’a yazılım ihtiyaçlarını iletiyor,onlar da bunun analizini yapıp tasklara bölüyorlar,daha sonra her bir task için yarışma yapıp ödül belirliyorlar.Siteye kayıtlı olan yazılımcılar bu task içi yazılım üretiyor ve gönderiyorlar, en iyi yazılım seçiliyor ve yazılımcıya ödül veriliyor,diğer yazılımcılara da puan veriliyor.Böylece işin maliyetini çok düşürmüş oluyorlar, hem de ortaya kaliteli yazılım çıkmış oluyor.Ben de bu topluluğu ve yöntemi  ilk defa duydum ama maliyetler düşük olduğu için şirketler de bu yöntemi tercih ediyormuş ve yazılımclar için de freelance çalışma olanağı doğmuş oluyor. Topcoder’ın yaptıkları çok daha kapsamlı aslında ama ben en genel hali ile bahsettim.

Çevik Yaklaşımlar ve Scrum 

Scrum ile ilgili internette sayısız kaynak bulabilirsiniz amacım Scrum’ı baştan sona anlatmak değil de,hiç fikri olmayan birinin baktığında fikir edinmesini sağlayacak nitelikte açıklamalar olacaktır.

Scrum metodunda iş parçalara bölünüyor,o parçaların her biri ekipler tarafından yapılıyor,her bir iterasyonda ortaya bir ürün çıkıyor,bu ürün müşteriye gösteriliyor sonra başka kısmına geçiliyor.

Bu çalışma boyunca Product Owner da süreçlere dahil edilir,buradaki Product Owner müşteriyi temsil eden kişidir.Scrum metodolojisinde iş bölümlerinin her birine sprint deniyor,sprintler genelde 1-4 hafta olabiliyor.Her bir sprintde çalışacak ekip üyeleri belirlenir ve her bir sprintde bir Scrum Master olur.Scrum Master süreci yöneten kişidir ve günlük Scrum toplantılarına öncülük eder.Sprintin ilk toplantısında; yapılacak işler görev dağılımları ve süreler belirlenir. Sprint süresi uzatılmaz, yetişmeyen işler diğer sprinte aktarılır.Scrum’ı diğer  metotlardan ayıran özelliklerden biri olarak; ekip elemanları birden fazla rolde yer alabilirler veya her sprinde farklı işler yapıyor olabilirler.Bu arda her sprintdeki elemanlar farklı olabiliyor.Günlük toplantılar olduğunu söyledim, bu günlük toplantılar genelde 10-15 dakika olabiliyor,sabah işe başlamadan ekip üyeleri toplanıp o gün neler yapacaklarını,problemleri varsa dile getirebilecekleri minik toplantı yapıyorlar,bu toplantıları scrum master yönetir.Bizim ofiste de her sabah bir tahta önünde ellerinde çay kahve minik notları tahtaya yapıştırıp konuşanları falan görüyorum.Onların da scrum uyguladıklarını düşünüyorum :) biraz özeniyorum açıkçası,scrum uygulayan bir ekiple çalışmak isterdim.

Scrum metodu Amerikan futboluna benzetilebilir,herkes itiş kakış bir araya geliyor ve takım oyunu oynuyor.Waterfall ise bir bayrak yarışı gibidir,aşamalıdır, bir aşama biter diğeri başlar.

Scrum uygulayan bilindik firmalar arasında Yahoo,Bbc,Siemens,Ikea,Microsoft,Nokia,IBM…sayılabilir.

Bir de Scrum-But olarak adlandırlan metod varmış,bunda Scrum kısmi olarak uygulanıyor,bir şeyler eksik kalıyor.

Bu eğitimde aynı zamanda UML(Unified Modeling Language),LIS(Legacy Information Systems),yazılım test süreçleri,test çeşitleri üzerine konuştuk.MIS eğitimi boyunca en faydalı bulduğum oturumlardan bir tanesi oldu.Hocamıza çok teşekkürler.

Geçtiğimiz hafta eğitimimiz son buldu,genel olarak faydalı bir eğitim olduğunu söyleyebilirim.Olayların dışına çıkıp büyük çerçeveyi görmemi sağladı.Çalıştığım sektör ile ilgili daha fazla bilgi sahibi oldum,süreçleri öğrendim.Eğitim Kordinatörü Temel Öncan Hocamıza ilgisinden dolayı teşekkürler.Eğitim ile ilgili sertifika sınavına da girdim, sınavı geçmişim :)Böylece eğitimde mutlu son oldu :)

 

MIS Eğitimi-Crm ve Uygulamaları

Galatasaray Üniversite’si tarafından organize edilen Mis Eğitimi’nde geçtiğimiz hafta Yusuf Tokmakçı “CRM ve Uygulamaları” konulu sunumu ile bizlerle oldu. Yusuf Bey son 11 senedir Siemens’de çalışıyor,8 sene Kanada Siemens’de çalışmış şuanda da Türkiye Siemens’de IT Director olarak çalışıyor. Kendisinin mütevazi ve samimi tavırları çok hoşuma gitti. Sunumdan aklımda kalanları aşağıdaki gibi özetleyeceğim.

Ben de şuan VodafoneNet CRM Projesi’nde çalışıyorum. CRM’e biraz dışardan bakmak, farklı yönlerini görmek benim için faydalı oldu. CRM’in açılımı Customer Relationship Managemet dir, yani Müşteri İlişkileri Yönetimi. Hocamızın tanımına göre CRM müşteri ilişkilerini oluşturma, müşterileri şirkete kazandırma ve kurulmuş ilişkilerini yaşatmayı sağlayan birçok alana entegre bir yaklaşımdır. CRM müşterilerin işin esas merkezi olduğu prensibine dayanır ve şirketin başarısının müşteri ilişkileri ile orantılı olduğunu savunur.

CRM Çeşitleri:

  • Operasyonel CRM
  • Analitik CRM
  • İşbirlikçi CRM

CRM Bileşenleri:

  • Satış: Ürünü müşteriye satmak, karşılığında para almak,
  • Pazarlama: Tanıtım, sunum, reklam, kampanya, fırsata öncülük etmek,
  • Servis: İşi destekleme,
  • Çağrı Merkezi
  • Elektronik Ticaret

CRM projeleri ile ilgili ilginç bir analiz; dünyada yapılan CRM projelerinin %50 den fazlası başarısız oluyormuş. Başarısız olan CRM ler ihtiyaçları karşılamıyor ya da müşteriyi memnun etmiyor olabilir.

CRM Uygulama Tüpleri:

  • Enterprise: Şirket sunucuları üzerine kurulup kullanılan,
  • On-Demand: Web üzerinde kurulup browser aracılığı ile erişilen CRM servisi.

CRM uygulaması alırken dikkat edilmesi gerekenler konusunda konuştuk. Yeni alınacak CRM sisteminin mevcut sistemleriniz ile uyumlu olması çok önemli bir faktör. CRM Programının sadece sizin işnize yarayacak kadar özelliği ile ilgilenin fazlası zarar olabilir :) Best-practice sharing önemli, uygulamayı kullananlardan feedback almak gerekirmiş. CRM projelerinin %50 den fazlasının başarısız olduğunu düşünürsek başlangıçta çok yazılım/donanım yatırımı yapmamak gerekir.

EN popüler CRM uygulamaları :Oracle On Demand; şuan Siemens’de kullanılıyormuş, Salesforce.comCRM;hocamız bunu çok başarılı bulduğunu paylaştı, Sage Act, Sap CRM, Maximizer CRM,…

Bir CRM projesi yapacaksanız düzgün bir Business Case hazırlamak gerekir, maliyetlerin yanı sıra faydalara da odaklanmalıyız. CRM yapılacağına karar verilmişse yatırım yapmakdan kaçınmayın, ya başlamayın ya da başlamışken masraftan kaçmayın demişti hocamız :) CRM projelerinde en önemli etken iş ekipleridir, bunlarla kesinlikle kordineli çalışılmalıdır. Şuan çalıştığım projeden de söyleyebilirim, arada senkronizasyon bozukluğu olduğunda yapılması gerekenden çok farklı işler ortaya çıkabiliyor.

Faydalı ve eğlenceli sunum için Yusuf Bey’e teşekkürler.

 

MIS Eğitimi-IT Governance

Galatasaray Üniversitesi’nde aldığımız MIS eğitimin’de geçtiğimiz hafta Dr.Şahin Akkargan’dan “IT Governance” konusunu dinledik.Şahin Bey 5 sene akademisyen olarak çalıştıktan sonra yaklaşık 15 senedir IT sektöründe farklı pozisyonlarında çalışmış .Şu anda NovaBold Bilgi Teknolojileri Şirketi’nde Genel Müdür olarak çalışmaktadır. Eğitimde en çok dikkatimi çeken ve aklımda kalan kısımları özet olarak aktarmaya çalışacağım.

IT Governance’ın ne olduğu ile başlamak faydalı olacaktır, Governance kavramını Türkçe’ye Yönetişim olarak çevirebilir.IT yönetişimi için Gartner’ın yaptığı şöyle bir tanım bulunmaktadır :“BT yönetişimi ,bir organizasyonun iş hedeflerine ulaşabilmesi için Bilgi Teknolojilerinin etkin ve verimli kullanılmasını sağlayan süreçler topluluğudur.” Hocamızın ifadesi ile “IT stratejilerinin iş birimleri stratejileri ile paralelleştirilmesidir.”

Yönetim ve Yönetişim birbirinden farklı kavramlardır ve bunları karıştırmamak gerekir. COBIT 5 ile bu kavramlar birbirlerinden net şekilde ayrılmıştır. Yönetişim; değerlendirme, yönlendirme, büyük resmi izleme(Evaluate, Direct,Monitor) adımlarını, Yönetim ise planlama, geliştirme, uygulama ve izleme(Plan,Build,Run,Monitor) adımlarını içerir.

Şirketlerin müşterileri/paydaşları ile yaptıkları anketlere göre IT nin çıkardığı iş kendisine göre her zaman çok iyidir ancak müşteri her zaman aynı düzeyde memnun kalmaz. Anket sonuçları da bunu kanıtlar nitelikte.IT Governance’ın yapmak istediği tam olarak bu iki farklı bakış açısını mümkün olduğunca birbirine yaklaştırmaktır. Dersimizde “IT birimleri verdiği hizmetleri müşterilerinden daha çok beğeniyor olabilir mi?” sorusunu tartıştık. Kendi çalıştığım projelerden de düşünüyorum, IT biriminde çalışan biri olarak genelde yaptığımız işleri yeterli görüyorum :) fakat müşterilerimizin aynı oranda memnun kalmadığı zamanlar olabiliyor.

Global IT Governance modelleri vardır. Bu modelleri kullanmak genelde faydalı olsa da bazı dezavantajları da vardır. En büyük avantajları IT profesyonellerinin en iyi pratiklerinden derlenmiş yaklaşımlardır, birçok kurum önceden uygulamış örnekleri mevcuttur ve bağımsız denetimi kolaydır. Dezavantaj olarak da uzun uyarlama süresi ve yüksek uyarlama maliyeti söylenebilir. En çok bilinen modeller; Cobit, ISO 31000,ITIL,Togaf,Cmmi,ISO 27000,ISO 38500 dir. Ders kapsamında bunlardan 38500 ve Cobit üzerine konuştuk. Cobit, ISO 38500 standartlarının tamamını kapsar. Her iki standartda da üst yönetimin görevleri değerlendirme,yönlendirme ve gözlemlemedir(Evaluate,Direct,Monitor) .Cobit 5 Framework ile Governance of Enterprise IT olarak tabir edilmiştir, açılımı Control Objectives of Information and Related Technolgies dir.Cobit 5 kurumların iş hedeflerine ulaşmak için IT’den en yüksek faydayı sağlamasına yardımcı olan bir iş yönetim çerçevesidir. Cobit,Cobit1 ile  1996 yılında ilk versiyonu çıkarmıştır,2012 itibari ile de Cobit5 standartları kullanılıyor. Cobit 5 in kendine özel prensipleri mevcuttur. Derste bunları detaylı konuştuk, hatta hocamız bu aldığımız eğitim ile Cobit sertifikası alabileceğimizi ekledi.

Faydalı bir eğitim oldu, Şahin Bey’e teşekkürler.

Imagine Cup 2012 Proje Ekibi Olarak Mezuniyete Çeyrek Kala Etkinliğine Katılıyoruz

Mezuniyete Çeyrek Kala etkinliğinde söyleşi yapacağız.

Tecrübelerimizi paylaşarak sizleri aydınlatmaya çalışacağız.

Bekliyoruz…..

ETKİNLİK PROPRAMI:
10:00 – 10:15 : Açılış
10:15 – 11:15 : Taner Demir (Arçelik İnsan Kaynakları Yöneticisi)
11:15 – 11:30 : Çay ve İkram Molası
11:30 – 12:30 : Yeliz Yamak Baykal (Yenibiriş.com Kurumsal Koor. Müdür Yard.)
12:30 – 13:30 : Ara
13:30 – 14:30 : Zehra Kutlu (Kanatlı AVM Genel Müdürü)
14:30 – 14:45 : Çay ve İkram Molası
14:45 – 15:45 : Microsoft Imagine Cup 2012 Birincileri
15:45 – 17:00 : Serdar Gökalp (Best FM Sunucusu)
17:00 – 17:15 : Kapanış

 

Wcf Contract Name couldnt be found hatası

Merhaba arkadaşlar,

üzerinde çalıştığım bir projede karşılaştığım hatayı ve nasıl çözdüğümü sizinle paylaşmak istiyorum.

Bir wcf servisi ekledim,sonra değişiklik yapmak istedim onu sildim başka bir tane ekledim ve bu hata ile karşılaştım.Hata şu şekilde:

Çözüm için web config dosyasında ilk eklediğiniz servis için gerekli satırları silmeniz gerekiyor.Onları sildikten sonra ikinci wcf servisinizi ekleyebilirsiniz.

İşaretli alanlar silinmelidir.(service1 ilk eklenen wcf servisidir.)

 

Silverlight-BusyIndicator Toolkit

Silverlight uygulamalarımızda bazı durumlarda  çeşitli işlemler gerçekleştirilken bekleme olabiliyor,bu bekleme anında kullanıcıyı oyalayacak:)(ya da bilgilendirme amaçlı) bazı yazılar göstermek isteyebiliriz.Silverlight da bunu “BusyIndicator” karşılar.

Örneğin veritabanından veri çekme anında “Lütfen Bekleyin ..” gibi bir yazı gösterilmek istenebilir.

<toolkit:BusyIndicator x:Name=”mesgulum” BusyContent=”Lütfen Bekleyin…” HorizontalAlignment=”Center” VerticalAlignment=”Center” />

Lütfen Bekleyin…” gösterilmesi istenen yerlerde de
mesgulum.IsBusy =true; eklemek gerekir.

Ya da bir metod yazılır,her defasında o çağırılır.

Görüntü aşağıdaki gibi olur.

 

 

Silverlight Textbox kontrolü İçin Satır Dolduğunda Yazdıklarım Aşağı İnsin Proportiesi

Merhaba Arkadaşlar,
Silverlight da textbox kontolü için satır dolduğu zaman yazdıklarınız aşağı insin istiyorsanız “Texttwrapping” proportiesinin değiştirmeniz gerekir.
Defaultta şu şekilde yazılır,yani yazının tamam mı bir satıra yerleşir.

Aşagıdaki gibi “textwrapping” proportiesini “wrap” yaparsak satır dolduktan sonra alt satıra geçer.

DERYA GÜNDÜZ

Runtime Error-Giderilmesi

Projenizi çalıştırdığınız herhangi bir zamanda çalışan proje ile beraber böyle bir hata alırsanız ne yapmalısınız?
Sadece proje derlerken değil bilgisayar açık olduğu başka zamanlarda da “ok” dediğiniz halde karşınıza tekrar tekrar gelebilir.
İşte “Runtime Error” :)))

Hatanın nedeni daha önce kurulu olan c++lar ile diğerlerinin çakışmasıdır,eskisini silmek sizi bu hatadan kurtaracaktır.

Denetim Masası=>Programlar=>Program Ekle/Kaldır=>

Seçili olanı kaldırmanız yeterli olacaktır,tabi diğer eskileri de kaldırmanız tavsiye olunur:)
DERYA GÜNDÜZ

Microsoft Sql’de “Collasion” Hatasının Giderilmesi

Merhaba Arkadaşlar,
Üzerinde çalıştığım bir projede karşılaştığım bir problem ve nasıl giderildiğini sizlerle paylaşmak  istiyorum.Siz de aynı hata ile karşılaşırsanız,çözmeniz kolaylaşır.
Aldığım hata “Collasion” Hatası idi.Tablolar arasında relationyaparken relation kurmaya izin vermeyip aşağıdaki gibi bir hata aldım.

Hata dil ile ilgiliymiş.Tablodaki bağlamak istediğimiz alanlardaki dil seçeneklerinin aynı olması gerekiyor.Tablo1 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:

Tablo2 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:

Collasionun nedeni bu iki dil seçeneğinin aynı olamamasıdır.
Bu hatayı düzeltmek için ise ikisnin dil seçeneği aynı yapılmalıdır.
Collasion seçeneğinin yanındaki 3 nokta tıklanarak dil seçilir.

Böylelikle bu hatayı gidermiş oluyoruz.Umarım faydalı olmuştur.

DERYA GÜNDÜZ