Analist Yazılım Uzmanı (Analyst Developer kısaca Anyazu diyelim (yeni kelime yaratmak değil amacım; yazı içinde kolaylık olsun diye)) ne iş yapar.

Günlüğümü takip edenler göreceklerdir ki burada yazdığım yazılar genelde belli bir kitleye hitap eder. Bana gelen linkler de bazı arkadaşların Analist Developer ne iş yapar diye Google'da aradıklarını gördüm. Kendi kendime ben neden böyle bir yazı yazmadım diye hayıflandım. Nede olsa sitemin isminden belli bir kitleye hitap ettiğim belli oluyor fakat kitlenin ne yaptığınının sınırlarını çizmemişim. İşte bu yazımda merak edenler için bir analist yazılım uzmanının neler yapabileceğini irdeliyorum.

Profesyonel bir Anyazu olmak için araştırma, öğrenme ve uygulama şart. Anyazu, yazılım dünyasında çıkan her türlü yenilik, teknoloji, metodoloji, araç, dil, standart ve sistemleri takip edip öğrenmek, bu konularda kataloglar oluşturmak, nerelerde kullanılabileceğini belirlemek ve yeni sürümlerini takip edip, değişikliklerin var olan sistemleri nasıl etkilediğini analiz etmek için sonsuz bir istek ve çaba içerisinde olmalıdır. Yeni Başlayanlara başlıklı yazımda öğütlediğim bazı metodları uygulamanızı tavsiye ederim. Bir nevi sektörün kalbini dinlemeyi öğrenmek gibi. Gelecekte çıkacak teknolojileri önceden tahmin edebilme, hangilerinin piyasada daha uzun kalacağını algılama gibi yetilere de sahip olmalıdır. Tabii burada anlattıklarım belli bir deneyimin sonunda ve bilgi birikimi ile olur. Örneğin "Düşüncelerim" yazımı okuyun. Sanki Windows Workflow Foundation olayını görmüş gibiyim. Ama WWF'in benim istediğim konuma gelmesi biraz daha zaman alacak gibi. Aslında WWF ve BizTalk hemen hemen benim istediğimi yapıyor fakat konumuzu dağıtmayalım.

Öncelikle Analiz olayından başlayalım. Bir sistemi yada müşteri gereksinimlerini analiz etmek ve bu gereksinimleri yazılım ekibine doğru olarak aktarmak çok önemlidir. Anyazu, nasıl analiz yapılır, analizler nasıl sıralandırılır, müşteri ile nasıl konuşulur, UML nedir ve nasıl kullanılır, senaryo şemaları nasıl çizilir bilmelidir. Bu aşamada Anyazunun yapacakları:

  1. Müşteri isteklerini senaryolar halinde belgelendirir. (Senaryo Belgeleri)
  2. Sistemin sınırlarını çizer (Sistem Gereksinimleri Dökümanı)
  3. Harici sistemlerle olan bağlantıları belirler (Harici Arayüz Dökümanı)
  4. Senaryolar arası ilişkileri belirler (Use Case, UML şemaları)
  5. Sistemin hacmini belirler (Function Point Analysis ve COCOMO II)
  6. Tüm üretilen çıktıların müşteri tarafından onaylanmasını sağlar.

Tavsiyem kendinizi sistem analizi ve UML konusunda geliştirin. Ayrıca Agile Modeling, XP gibi metodlar ile ilgili kitap yada örütbağı üzerinde bulacağınız kaynakları kataloglamaya başlayın. Bazı ufak tefek metodları iş yerinizde uygulayın. Güzel sonuçlar aldığınızda herkes kullandığınız metodun iyi bir metod olduğuna kanaat getirecektir. Ayrıca FPA ve COCOMO II konusunda da örütbağı üzerinde araştırma yapıp nasıl kullanılacaklarını öğrenin.

Müşteri gereksinimleri bir kere müşteri tarafından onaylandıktan sonra dizayna geçilir. Müşteri gereksinimlerindeki değişiklikler artık Değişiklik Kontrol Yönetimi ekibinin sorumluluğundadır. Proje yeni olduğu için müşteri gereksinimleri devinimsel olarak değişime uğrayacaktır. Anyazunun görevi bu değişikliklerin sistemde ne gibi etkiler doğurduğunun, maliyetinin ne kadar olacağının ve ne kadar zamanda uygulanabileceğinin analizini yapmaktır. Analiz sonucuna göre Değişiklik Kontrol Yönetimi değişikliği onaylar yada bir sonraki sürümün kapsamına dahil eder.

Anyazu dizayn aşamasında iş kurallarını tek bir belgede toplar ve senaryo belgelerinden iş kurallarını çıkartır. Bir UML aracı ile sistemi modellemeye başlar. Projenin yazılacağı dilin nesne yönelimli olmasına gerek yok, bu modeller her türlü analiz ve dizayn amacı için kullanılabilir. UML aracı deyince aklımıza Rational Rose (TM), yada MS Visio veya ücretsiz yazılımlardan Argo UML geliyor. Araçlar üzerinde inceleme yapıp hangisinin ekip için de en verimli kullanılacağını araştırın. Gerekirse COTS bir ürünün alınması için istekte bulunun.

UML şemalarını hazırlarken öncelikle sistemde yer alacak nesneler tanımlanır. Her nesne bir sınıf olarak belirlenir. Daha sonra bu sınıflar arasındaki ilişkiler senaryo belgeleri yardımı ile belirlenir. Bu tür şemalar en iyi "sequence diagram" (sıralı işlem şemaları) ile analiz edilir. Sistemin analizi sırasında diğer yazılım uzmanlarıda bulunur ve analiz bir toplantı odasında, projektörden yansıtılan UML aracı ile yapılır. Gerekli nesneler, mesaj alışverişleri, senkron - asenkron işlemler ve ortaya atılan fikirler direk model üzerinde uygulanır. Böylece toplantı sonrasında kağıt yığınları arasında tekrardan analiz yapmaktan kurtuluruz. Toplantıya katılan herkes yapılan değişikliklerin onayladığına dair belgeyi imzalar. Tüm değişiklikler Anyazu tarafından listelenir ve toplantıya katılanlara gönderilir. Model ortaya çıkmaya başladıkça hangi ekip elemanlarının model üzerinde değişiklik yapma hakkına sahip olacağı da Anyazu tarafından belirlenir.

Dizayn modelinin Use Case'lerden başlayıp nesnelere kadar takip edilebilmesi gerekir. Model içinde oluşturulacak linkler ve modelin HTML olarak yayınlanması; sistem hakkında bilgi sahibi olmak isteyen yada referans vermek isteyen kişiler tarafından yoğun olarak kullanılacaktır. Anyazu bu işi de yapar ve modelin bozulmadan kalması için diğer yazılım uzmanlarını koordine eder.

Anyazu veritabanı modelini; sistemin analizine dayanarak ortaya çıkarır ve veritabanı uzmanları ile beraber çalışarak standartlara uygun bir veritabanı geliştirilmesine yardımcı olur. Sistemde modellenen nesneler ile veritabanındaki tablolar ve sahalar farklı isimlerde olacağı için bir veritabanı sözlüğü yaratır ve modele bağlar. Bu belgeyi ister tek bir belge halinde ister UML aracı içinde entegre olarak barındırmakla yükümlüdür. UML aracının bu tür belgeleri otomatik olarak üretmesi ek bir kolaylık sağlayabilir.

Anyazu, modelleme aşamasında ortaya çıkan pattern'leride belirler. Unutmayın Dizayn Patternleri model içinde farkediliyorsa uygulamaya girer, yoksa illa pattern uygulayacağız diye model hazırlamıyoruz. Eğer belirgin şekilde bir pattern görüyorsanız bunları uygulamaktan çekinmeyin fakat illa bir pattern uygulayacağım diye dizaynın kapsamını da daraltmayın.

Konfigürasyon Yönetimi yazılımı (Subversion, Clearcase, CVS, VSS gibi) üzerinde her Use Case yada function point için bir dizin yaratır ve yazılım uzmanlarına dağıtılacak işleri belirler. Sürekli Entegrasyon (CruiseControl, Draco, NAnt, FXCop, NUnit gibi yazılımların Subversion, CVS gibi konfigürasyon yönetimi yazılımları ile entegre edilmesi) ortamını kurar ve çalışma prensipleri hakkında eğitimleri verir. İşlerin ataması proje müdürü tarafından yapılır. Bu aşamada Anyazu PM ile beraber çalışır ve her Use Case'in hacmi, alacağı zaman ve önceliği hakkında bilgi verir. Anyazu padişahın yanındaki vezir gibidir yani.

Sistem, yazılım uzmanları tarafından kodlanmaya başlandığında; Anyazu kodun sistem gereksinimlerine göre yazılıp yazılmadığını teftiş eder. Ayrıca standartlara uyulup uyulmadığını da kontrol eder. Kod içindeki yorumlardan dökümantasyon üretmek (NDoc) ve gerektiğinde bu yorumları düzeltmek gene Anyazunun görevidir. Tabii burada yazılım uzmanları; nasıl olsa yorumları yazan biri var diye dökümantasyonu biraz hafife alabilirler fakat yazdıkları kodun ne olduğunu anlatacak yorumları eklemek görevleridir. Anyazu bu şekilde takılan yazılım uzmanlarını tatlı dille uyarabilir.

Anyazu hata ve istek veritabanlarının kullanımı, bakımı, raporlanması gibi konulara da bakar. PM veya üst müdürlerin istediği raporları oluşturmakla yükümlüdür. İstenmediği sürece raporlara herhangi bir yorum eklemez.

Anyazu projenin yada firmanın her kademesindeki kişiler ile doğrudan görüşür ve fikir belirtebilir, gerektiğinde toplantıları organize eder. Problem yaratan konular varsa analizini yapar ve çözümü için gerekli ekiplerin bir araya gelmesini sağlar.

Kodda yazar vakit bulursa. Ama kod yazmak ana işleri içerisinde değildir. Yazılan kodun entegrasyonu ve dış sistemler ile bağlantılarını kontrol eder ve test edilmesi için gerekli ortamı hazırlar. Gerekli ortam deyince aklınıza bilgisayar kurmak gelmesin o işler için sistem yöneticisi var, daha çok dış sistemlerin veri alış verişinde kullandığı mekanizmaların kurulumu ve testi (örneğin Websphere MQ yada MSMQ gibi) işlerini yapar. Kullanılacak üçüncü parti uygulamaları tesbit eder ve entegrasyonu için gerekli kodu yazar yada analizini yapar.

Ürünün kurulumu, testi gibi işleri koordine eder. Test senaryolarını yada kurulum tıkızlarını hazırlamaz, sadece yapılacak işleri koordine eder ve sonuçları çıkartır. PM meşgul ise iş paylaştırması yapar ve sonuçlardan PM'i haberdar eder. İşleri paylaştırmadan önce PM'den onay alır veya iş paylaşımı listesini PM'e devreder.

Anyazu her işi için onay alır. Onaysız bir iş yapmaz. Onaylar, bir e-posta, imzalı bir belge yada bir toplantının sonuçlarında yazılı olmasada oluşabilir (toplantıda şahitler olduğu için) fakat ayak üstü konuşmalar yada çay makinesi başındaki sohbetler onay veya atama olarak kabul edilmez.

PM'e bağlı olduğu için yapacağı her işi önce PM'e bildirir. İstekler daha üst kademelerden direk Anyazuya gelse bile PM haberdar olmalıdır, böylece Anyazunun ne işle meşgul olduğunu bilir.

Görüyoruz ki Anyazu tüm proje birimlerini birbirine bağlayan bir etken. Arada köprü görevi gördüğü için, herkesin dilini iyi konuşması gerekiyor. Ayrıca PM için bulunmaz bir kaynak. Sistem bilgisi ve kullanılan metodoloji bilgisi ile sürekli PM ve diğer proje elemanlarına destekte bulunuyor. Oluşturduğu dökümantasyon ve modeller sayesinde müşteri gereksinimlerinin tam olarak yazılım ekibine aktarılmasında büyük bir rol oynuyor. Ayrıca yazılan kodun da gereksinimlere uyup uymadığını araştırıyor. Bir nevi kalite kontrol görevi de var aslında. Ama bir kalite kontrol uzmanı kadar geniş konulara bakmıyor yada bir HCI uzmanı kadar herustik inceleme yapmıyor.

Anyazunun bir dizüstü bilgisayarı olması bazı işleri kolaylaştırabilir. Kullanılacak yazılımların beta yada deneme sürümlerinin testi, sistem entegrasyonlarının denenmesi, gibi proje ile ilgili işler dizüstünde denenebilir. Ayrıca Anyazu genelde ofis dışında olacağı için (müşteri yanında, eğitimde, üçüncü parti yazılımları sağlayan firmanın ofisinde, toplantıda vb. gibi) bir dizüstü ve kablosuz örütbağ erişimi şarttır. Ayrıca firmanın haberleşme kurallarına göre MSN Messenger, Skype, Google Talk, E-posta gibi mesajlaşma programları kurulu olmalıdır. Anyazunun temel amacı her zaman ulaşılabilir olmak ve destek vermektir.

Anyazuyu sadece analiz yapmak ve kod yazmak için çalıştırıyorsanız, gerçek verimini alamıyorsunuz demektir.

Bu kadar işten sonra Anyazu ailesini ve varsa çocuklarını da ihmal etmez. Akşam eve giderken eşine bir çiçek alır, çocukları ile hoşça vakit geçirir, bilgisayara elini sürmez. Aile ile geçirilen zaman bir meditasyon gibi bir sonraki güne hazırlanmak için yeterli gücü sağlayacaktır. Anyazu iş yerinde geçen geyikleri ve tartışmaları eve taşımaz. Çok gerekirse eşinden yardım almak için anlatabilir.

Reklamlar


Bu girdiye atılan yorumlar:

# re: Analist Yazılım Uzmanı

Çok güzel yazmissin. Bir de gerçek hayatta uygulayabilsek. Herkes filmlerde ki gibi klavyede birkaç tus vurusu ile hop sorunlari çözecegimizi zannediyor.

Microsoft Visual Studio 2005 Express adinda ücretsiz bir dagitim sunuyor. Hatta Visual Studio 2005, SQL Server 2005, BizTalk 2006 taniminda sunum yapanlardan biri "Free is good, free is better" diye birsey söyledi, koptum.

Çiçekleri eklemen de çok zarif bir hareket olmus ;)

Mehmet Öztürk tarafından  11/25/2005 10:55 PM tarihinde atılmıştır.
# re: Analist Yazilim Uzmani

Bu express surumlerini 20, 30 dolara saticaz diyorlardi. Ama galiba bedava verecekler.

BizTalk 2006 canavar gibi geliyor. Gecen hafta bir seminerde biraz gosterdiler. Benide Beta programa kattilar. WWF ile beraber simdi cebellesiyorum. Laptopu yeniden kurdum, win2003 server hala messenger kuramadim. Bir ara goruselim.

Gurkan Yeniceri tarafından  11/25/2005 11:02 PM tarihinde atılmıştır.
# anyuzu olarak ıse baslayanlar ılk nelerı ogrenmeye gayret etmelıdır..

mrb. anyuzu olarak goreve basladık ıyı guzel modulleride ogrendık musterı egıtımlerınde problem yok ıyı ama bu adamın kendını gelıstırmesı lazım neler bakamalı bneler ogrenmelı..

bu konuda bana gerı donus yaparsan sevınırım..

vedat tarafından  8/23/2006 8:37 PM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

Merhabalar ben vesile sizinle yazılım uzmanlığı ve donanım hakkında görüşmek istiyorum bu tür işlevlerle ilgili bağlı olduğunuz bir kurum varmı yani ders almak için ben eğitimini almak istiyorum o yüzden bilgi almak istiyorum istanbıulda oturuyorum ilgilenirseniz çok memnun olacağım bilgilerinize arz ederimm saygılarımla vesile güven

VESİLE GÜVEN tarafından  2/20/2007 7:20 PM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

cok gusel bir yazı..eline sağlık..

gokhan demir tarafından  7/31/2007 10:50 AM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

Çok güzel bir yazı olmuş.

Özgür Öztürk tarafından  2/16/2009 11:23 AM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

Merhaba, onaylamanızdan ziyade yazınızı kaynak göstermek üzere www.analistler.com sitemde yayınladığımı bildirmek istedim. Umarım sizin için sakıncası yoktur. Sevgiler.

Fatih T. tarafından  7/14/2009 4:35 PM tarihinde atılmıştır.
# Analist olmak, Analiz yapmak ve Proje Yönetimi üzerine » Blog Arşivi » Analist Developer Nedir?

Analist olmak, Analiz yapmak ve Proje Yönetimi üzerine » Blog Arşivi » Analist Developer Nedir?

Pingback/TrackBack tarafından  7/14/2009 4:39 PM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

tebrikler, gercekten cok güzel akici ve ögretici bir yazi olmus ama son bölümde belirttiginiz "aksam eve gelince bilgisayara elini sürmez" sözüne soyle bir tebessüm ettim dogrusu. Bence bir yazilimci(uzmani, analisti vs.) aksam firsatini bulur bulmaz bilgisayarla hasir nesir olur. Selamlar

enis tarafından  8/6/2009 7:49 PM tarihinde atılmıştır.
# re: Analist Yazılım Uzmanı

Öncelikle Eline sağlık güzel bir çalışma olmuş bu konuda yardım almak isteyen arkadaşlara yardımcı olmak isterim
BI,Sql,SAP,Olap küpleri,logo,ileri düzey excel uygulamlari v.s tüm bu konularda yardımcı olabilir arkadaşlar inanyilmaz_@hotmail.com

inanyilmaz tarafından  3/20/2010 1:43 PM tarihinde atılmıştır.

Yorumunuzu buradan giriniz

Yorumlar onaylandıktan sonra yayınlanacaktır

*


*


 (Görüntülenmeyecek)


 (İsminizde link olarak görüntülenecek)


*
Bold Italic Underline Blockquote Hyperlink Hyperlink

 

Please add 8 and 4 and type the answer here:

Yorum Önizleme:

 

Arama



Hakkımda

Merhaba, ben Gürkan Yeniçeri. 10 yılı aşkın süredir özel sektör ve hükümet iştiraklerinde yazılım mühendisliği yapıyorum. Bu sitede 2005 Mart ayından beri genelde yazılım mühendisliği ve hobilerim hakkında yazmaktayım. Profesyonel iş geçmişim hakkında daha fazla bilgiyi aşağıdaki Linkedin.com linkinden alabilirsiniz.
Gürkan Yeniçeri'nin profilini görmek için tıklayın

Kontak

Soru sormak veya öneride bulunmak isterseniz buradaki kontak formunu kullanın. Mesajlarınıza en kısa zaman içinde cevap vermeye çalışacağım. Ayrıca Windows Live Messenger kullanarak gyeniceri {AT} hotmail {DOT} com adresinden bana ulaşabilirsiniz.

Eğer İngilizce blogumu okumak isterseniz buraya buyrun.
Blogumu RSS Bandit gibi bir RSS okuyucusu ile de takip etmek için kullanın.
Ayrıca aşağıdaki linklerden hakkımda ayrıtılı bilgi alabilirsiniz.
Twitter
Friendfeed
Facebook

RSS 2.0

Reklamlar


Vezir

Vezir Proje Danışmanı
Sitede birde Vezir isminde wikimiz var. Bu wikiyi yazmayı düşündüğüm bir kitap için oluşturmuştum daha sonra herkese açmaya karar verdim. Vezir yazılım firması kurmak isteyenlere tavsiyeler vermek için hazırlandı. Ayrıca UML ve Modül Tabanlı Geliştirme hakkında da bilgiler mevcut. Vakit buldukça yeni eklemeler yapıyorum. Değişikliklerden haberdar olmak için RSS çıktısına üye olabilirsiniz.

Tag Bulutu

Tüm taglar...
www.flickr.com
This is a Flickr badge showing public photos from gurkanyeniceri. Make your own badge here.
Bu blogda 265 yazı ve 509 yorum var. Diğer sitelerden 26 adet link gelmiş.

Reklamlar