Kategoriler


SON YORUMLAR
spiderman
tatar ramazan ODTÜ ve Sakarya mezunları süper ama İTÜ mezunlarını kapıdan içeri almıyorlar diyorsun ben de tam tersini biliyorum İTÜ mezunları mezun olmadan iş buluyor havada kapıyorlar OdTÜ ve sakarya mezunları iş arıyorlar sektörü bilmesek ?
Ömer karikutal
Php,mvc asp.net, c # ödevleriniz uygun fiyata yapılır. karikutalomer@gmail.com
Ercan Sezdi
Donanimsal ödevlerinizi de yapabilirim. Raspberry pi, Ardiuno, Msp430 donanimsal programlama yapabilirim. Programlama dilleri C++, Python, Assembly olabilir. Zorluk derecesine gore mobil uygulama da yazabilirim. Iletisim: ercansezdi007@gmail.com
Ercan Sezdi
Elektrik elektronik mühendisliği okuyorum. Pyhon ve C++ ödevleri yapabilirim. Iletisim: ercansezdi007@gmail.com
Senior Dotnet Developer
Merhaba arkadaslar, Yazilan yorumlari bikmadan usanmadan okudum. Ssagdan soldan duyacaklariniz yerine gercek hayat hikayesinden baslayayim. Elk elktrnk muhendisi olarak 7 yilda 2.2 ortalama Uldag unv den mezun oldum. Sene 2010. Askere gidip geldim.1 sene de bos bos kahvede okey oynayarak gecirdim :)) is aradimmi? Hayir. Nasilsa yillarca calisacagiz diyerek keyfime daha cok zaman ayirdim. Hafif bir giristen sonra hizli bir giris olsun. Aldigim maaslari yazayim heyecanli olsun:) 1. Firma :1250- 6 ay (asgari ucret:900) 2. Firma : 2500-10 ay 3. Firma : 3000-1 yil 4. Firma : 4000-10 ay 5. Firma : 6000- 18 ay 6.Firma : 9000+ istanbul ?? henuz baslamadim :) Bu kadar detayi verdim ki biraz motive olun. 7 yilda farkli muhendislikten gelen biri buraya gelebilirse calisan herkes icin bu sans var. Bu firmalardan son 3 tanesi hergun duydugunuz yerler. 2 kez de 2 farkli yerde terfi aldim. Herkesin girmeye can attigi iyi maas veren yerler. Cok da gozunuzde buyutmeyin. He soylemeyi unuttum java diil .net developer olarak calisiyorum. Bu maaslar ile cok javaciyi geciyorum. Piyasayi baya iyi tanidim.Maas skalalarini vs. Size tavsiyem her duydugunuza inanmayin. Yok pahasina calismayin, fazla da ucmayin hersey dozunda guzel. Kisacik bir detay daha. 2012 de istanbula ilk geldigimde 3 haftada 21 yer ile gorusmustum. Gecen ay 2 haftada 20 yer ile gorustum. Piyasa 2012 den beri acik. Torpilsiz sadece calisarak buralara geldim.Ise giremiosaniz cv nize bakan yoksa oturup dusunmekte fayda var. Birsryleri eksik yapiorsunuz belki de. Not ::::::: Gecenin 2sinde tum bunlari yazdim ki birilerinr faydam olsun. Ne yazikki her kafadan bi ses cikiyor guzelim Turkiyemde. Bilenler atanlar tutanlar bol bol. 70 den fazla yer ile gorustum buyuk kucuk. 50 tanesinden olumsuz donus yada hic donus olmamistir. Sonucta buralara gelebildim. Gelecek bilisimde. Motivasyonunuz hic kirilmasin. Kalin saglicakla.
Memet
Katılım ödevim var yardıma ihtiyacım var yardımcı olabilecek var mı
Halil
Tatar Ramazan
Bizim Sakarya üniversitesinden iyi yerlere gelen bir sürü adam var. Hatta ödevleri yapmayan tembel bilinen biri katılım bankasına girdi şimdi de Avustralyada programcılık yapıyor. Kurumsal firmalarda her üniversiteden eleman vardır zaten. Mesela Ford Otosan. Çok da para vermez hepsi. Memur maaşına çalışırsın. General Elektrik gibi yerler yüksek maaş verebilir. Ama oralara girmek zordur. İşi de zordur. Ben 2010 yılında KPDS İngilizceden 89 almıştım. Süper bilişim uzmanıyım. İyi öğretim almak, Üniversitede bol proje yapmak kişiyi 1-0 öne geçirir. Veya ortalamada yüksek puanlı, öğretimi iyi olan üniversite mezunları daha başarılı olabilir. İtirazım yok. Ama istisnalar da her zaman mevcuttur. Kocaelinin birincisi elbette yıldızın sonuncusundan daha başarılı olacaktır.
No One
Tatar, sen neye atarlanıyorsun? Boş işler dediğin bütün hayatını etkileyecek kariyer planın ve senin bütün hayatın. Herkes her yere gelemez, kimse kimseyi kandırmasın, en öncelikle de kendini kandırmasın. Verdiğin örnekler istatistik orsnında yüzde kaç acaba? Mesela anadolu okulundan mezun kaç kişi iyi şirketlerde çalışıyor, büyük çoğunluk iş bulamıyor kendi tanıdıklarım var, ben üzerine diyorumki iyi okuldakiler de her yerde istediği gibi bulamıyor, sen burada montajcılık yaparken amerikalısı avrupalısı senin kullandığın teknolojileri üretiyor, senin yaptığın mühendislik mi montajcılık mı şimdi? Tr de en iyi şirketlerde çalışan farklı 10 üzeründe onlarca kişiye sor bakalım neyin dizaynını neyin teknolojisini üretmişler? Söylediğin bakan ingilterede yaşıyorsa sterlin olarak maaş alır 70bin tl diyerek manipule etme 6 ya böl, 11 bin sterlin de, tr de veriyorlarsa kim kime o kadar parayı veeiyor kaç tane bölüm birincisi o parayı alıyor saçmalama lütfen. Ben diyorumki birincil hedef herşeyini kariyere odaklama veya tamamen boşa salma, herkes bir şekilde yaşıyor hayatını zaten ancak neyi istiyorsa ona çabalasın ama bazı şeyler olmuyorsa da hayatını mutsuz geçirme. Sen mesela bırak dünya işlerini ahiretini yaşa diyorsun, milyonluk girişimcilik yapsan ve işlerin tıkırında gitseydi ve birçok hayalini gerçekleştirseydin şu anda beyler şunu şunu yapın hayat çok güzel diyecektin, şimdi gelmiş hayat boş diyorsun, komik. Benim yazdıklarımdan herkes ne demek istediğimi anlamıştır zaten, bazı şeyleri görmek için 40 yaşına gelmeye gerek yok, çok fazla araştırıp çok fazla kişiye sorarsan ve işin içinde bizzat bulunursan görüyorsun zaten ki yazdıklarım çok az şey olmasına rağmen anlaşışır özet bilgiler, seversin kullanırsın, sevmezsin saygı duyar ve okumazsın bu kadar basit.
ali
amk bilgisayar mühendsiliği nerden seçtim seni mis gibi kolay bölümler varken çekilir dert değil...... tavsiye etmiyorum kardeşim.
Tatar Ramazan
No One bırak boş işleri başlarım kariyerine de üniversitesine de! Dünyada bir halt olmadığını anlayın işte. Ahirete yatırım önemli. Herkes bir şekilde yükseliyor ilerde zaten. ODTÜ mezununun 26 yaşında geldiği noktaya Sakarya mezunu 33 yaşında geliyor. Ortalamada ne kadar çalıştıysan hayat sana o kadar verir. Mesele Karadeniz Teknik Maliye bitiren biri vardı. 29 yaşında vergi denetmeni oldu. Ankara Siyasal bitirseydi 22 yaşında işe girerdi. Eski bakan Mehmet Şimşek bölüm birincisi oldu. İngilterede 70 bin lira maaş alıyordu. Her şey ve herkes derece derece.
No One
Yeni mezun olarak birkaç küçük şey yazmak istiyorum, kariyer net veya linkedin deki iş ilanlarına bakarsanız, özellikle yeni mezun olanlar için bile min 2 yıl deneyim ve birçok programlama dilleri vs isterler. 5 kişi işe alınacaktır, 500 kişi başvurur. Her yere gereksiz sayıda birçok üniversite açıldı, avrupanın en kaliteli üniversiteleri ingiltere ve almanyada bile max 50 civarı, bizde ise 150-200 arasında bunun siyasi bazı sebepleri var. Mesela siz her il e üniversite açarsanız, tüm ailelerin çocukları üniversite mezunu olacaktır, çocuk ve aile pskolojikmen rahatlar. Esnaf ise öğrencilerden ciddi gelir elde edecektir. Sorun ise bizim gibi ülkelerde bilim veya teknoloji geri plandadır ve iş istihdamı azdır, mesela 100 kişi işe alınacaktır ancak açılan birçok üniversite ile 1000 kişi mezun olur ve kalan 900 kişi işe giremez, bu sayı her yıl daha da artar ve işsizlik artar, insanlar da artık üniversite mezunu olma fark yapmıyor master yapayım, part time çalışayım der, zaten birçoğu çok kalitesiz eğitim alır ve giriş maaşları 1500-3000 arasında olur yılları işsizlik veya düşük maaşla geçirir. Kişi de sorunu kendisinde sanır, halbuki tüm suç sistemin böyle olmasını sağlayanlar, anca siz yıllar sonra para ve zaman kaybınızı anlarsınız, veya anlasanız bile elinizden çok fazla birşey gelmez. Peki şirketler insanları neye göre seçer, kendini geliştir denilen tavsiye ne kadar doğru? Arz-talep dengesini iyi analiz etmelisiniz, mesela şu anda çok fazla mezun var, ekonomik kriz dolayısı ile iyi okuldan mezunlar bile zannettiğiniz gibi hemen iş bulamıyor. Ya top 5 okul dan 3+gpa ile mezun olacaksınız, ya da torpiliniz olacak. Ben top 5 okuldan mezunum ve okulun zorluğundan dolayı mezun olan herkesin onlarca projesi, jaca, c, c++, python, matlab gibi dilleri, birçok farklı ideleri, oop, mvc, design pstterns, ve çok farklı çeşitte algoritma çeşitleri görmelerine ve ingilizce seviyesinin çok iyi olmalarına rağmen (toefl a girenelerin çoğu 80-100 arası) ve alese girenlerin çoğu 80-95 arası aldığını düşünürseniz, yine de işe girerken sizi beğenmezler, benim gördüğüm kadarıyla şirketlerin insan seçerken yaptıkarı sıralama şu şekilde, 1- okul ismi (boun, koç, itü, odtü, bilkent top 5, ytü, sabancı, tobb, hacettepe vs gibi ikincil seviye okullar, diğerleri daha geri planda, her şirketin kendince filtreleme sistemi var ve bazı okul mezunlarını asla almazlar) 2- gpa ortalama (kurumsal veya büyük şirketler savunma, telekom, banka vs hepsi önem verir, master yapmak istiyorsanız birinci kriterdir, küçük teknokent şirketlerinden de soran çok oluyor ben ve arkadaşlarıma staj için bile) 3- ingilizce (iyi okulların çoğunun ingilizce seviyesi upper dır, ingilizceniz yoksa bilgisayarcı sayılmazsınız) 4- yaptığınız projeler, staj, part time, iş deneyimi (bazı şirketler ilanlarda iyi yerde staj yapmış olma koşulu koyar, iş yaptığınız sektörde staj yapmanızı beklerler vs, 2017 den beri birçok şirket kurumsal ve normal hemen hemen hepsinde artık staj yapmak bile zordur, ya gpa 3+ olacak, ya da torpiliniz, top5 okuldaki ben ve birçok arkadaşım staj bulmada zorlandı, top5 te değilseniz part time veya normal iş tecrübesi sizi direk öne atar, iyi okuldakilerin çoğu derslerinde projeler çok ve zordur, o yüzden diğer okuldakilerin aradaki açığı iş tecrübesi ve hobby projelerle kapatması lazım) 5-referans (okuldaki hocanız veya staj, iş yerindeki mühendisin işe girerken size olumlu referans olması, şu anda yeni mezunlardan 2-3 tane referans istiyor birçok şirket 6-diğerleri, aklıma gelmeyen diğer işler, sosyal sorumluluk, klüp, sertifika, yarışma vs bunlara önem veren ik cı veya şirketler olabiliyor cv nin kenarında durması işe yarayabilir 0- torpil, çevreden veya akraba aile tanıdık ile torpiliniz var ise diğer herşeyden etkili hale gelip herkesin önüne geçebilirsiniz, batıda iş liyakat veya işi en iyi yapana verilir. Doğu toplumlarında ise iş güvenilir kişi ile yapılır, o yüzden tanıdıkları işe alırlar, şirket gizliliği ve güvenliği bazı şirketler için çok sıkıntılı olabiliyor vs, bu kozu olan çok fazla insan var piyasada, o yüzden siz bunlardan birisi değilseniz yukarıdaki beş maddenin hepsini yükseltmeye bakın. İyi okul hiçbirşey mi, veya herşey mi? Top5 ten gpa 2.0 - 2.5 arasında mezun olursanız biraz zor günler sizi bekliyor, master yapamazsınız, paranız yoksa yurt dışına gidemezsiniz, çok ağır ders ve projeler yaptınız ama okulu zor bitirdiniz ve dışarıdaki şirketler size çok önem vermeyebilir, iş bulurken ve bulduktan sonra da min 1 yıl falan zorluk çekersiniz, ilk başlarda iyi kurumsaldan başlamak zordur İyi okul mezunu Gpa 2.5-3.0 arası, savunmaya girmek zorlar, onun dışında bazı kurumsallara ilk başta giremezsiniz ama bazılarına girebilirsiniz, master içinde şartlar biraz zorlar İyi okul mezunu 3gpa+ ile master veya iş bulmak daha kolaydır ancak okuldaki zorluklardan sonra hiçbir zaman tatmin olamayabilirsin, çünkü hayat üniversitede zor projelerle uğraşırken kurduğun hayaller gibi değilmiş onu işe girince öğreniyorsun Diğer okullardan mezunlar, okulda gezip tozduysanız çok güzel, en güzel yıllarınız o yıllardı, zor okuldakiler kadar çalışmadınız ve gençliğiniz full çalışmayla geçmediyse iş hayatı ilk birkaç yıl zorlar, sonrasında kurumsal şirketlerin bazılarında hatta çoğunda devam edebilirsiniz belki (2-3 yıl sonra girenler var oran olarak bilmiyorum, bazı şirketlere çok zor) Yaş 28-30 üstü ise, srtık iş bulmak yeni mezun kadar zordur, çünkü maaş beklentisi fazla ancak şirketler siz ne kadar kaiteli olursanız olun sizden daha ucuza çalışacak birisini bulabiliyor, maaş zamları veya artışı düşük, tl nin alım gücü her seferinde düşüyor, kaygılar çocuk varsa dahada fazla Yurt dışına mastera gitsenizde, phd yapsanızda yaş ilerliyor, 30 una yaklaştığında hala öğrenci gibi takılmak zorunda olmak, avrupada 2-3-4 bin euro ya yaşamak, hangi ara evleneceksin, ev veya araba alacaksın, geri.dönecek misin, hayatın boyunca atomu mu parçalayacaksın? Tr dekiler en azından atom parçalamıyor Sonuçta top5 okuldan yeni mezun, tr de yine top şirketlerin birinde ben ve çoğu arkadaşım 3.5-4.5k ya başladık, savunmadakiler 5k üstü, ancak tavsiye verecek olursam, tünelin ucu bmbk bir yere çıkıyor. Hayatınızı doya doya yaşayın, çok zengin olmadığınız sürece para o kadar önemli değil, ben daha 22-25 yaşındayım (tam yaşım belli olmasın diye) ve umutsuzum bazı şeyler için, hayatınızı ev veya araba almaya mı harcamak istiyorsunuz, büyük şehirde zar zor yaşamaya mı? Öğrenciyken anlamanız pek mümkün değil kapitalist sistemin içine girip para kazanmaya başlayınca, insanların nasıl davrandıklarını çok daha net anlıyorsunuz, okuyun, gezin, eğlenin, anı yaşayın. Ne çok çalışın, ne de çok tembellik edin, herşeyi dozunda yaşayın. Daha çoook şey yazardım da boşver
Tatar Ramazan
Adam ÖSS ilk 3000 e girdi İTÜ mezunu doğru dürüst bir yere giremedi. ilk işini 26 yaşında buldu. O da kıytırık bir firma. Ekmek arslanın kuyruğuna indi. Siz ne bekliyorsunuz? Firmalar kollarını açtılar sizi bekliyorlar. :) :) :)
yazilimci
Java, C/C++, python ve bilgisayar müh. derslerinizin ödevleri garantili yapılır, yazilimcialper@gmail.com

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Ekstrem Programlama [eXtreme Programming] - XP
Bilgisayar Mühendisi olmanın 10 iyi yönü.
Bilgisayar mühendisleri cepheye
Kendini Geliştirmek Ne Demek?
SUBNETWORKING
Microsoft Facebooka servet ödedi.
Vakıf üniversiteleri
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Vakıf üniversiteleri
Vakıf üniversiteleri
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Vakıf üniversiteleri
Bilgisayar Mühendisleri için CV hazırlama rehberi - 3
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
Microsoftda Çalışan Bir Türk ile Yapılmış Röportaj
Bilgisayar Mühendisleri Kaç Para Alır?
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
NHibernate ile ORM'e Giriş

Bilgisayar Mühendisleri Portalı

Ekstrem Programlama [eXtreme Programming] - XP

Ekstrem Programlama [eXtreme Programming]

Bu yazıda, XP pratiklerini bu pratiklerin en büyük savunucularından Kent Back ve Martin Fowler’ın düşünceleri paralelinde ve yorum eklentileri ile aktarmaya çalışacağım.


Pratikleri teker teker ele almadan önce, geneli hakkında bazı noktaları dile getirmek yararlı olacaktır.
Pratiklere bir bütün olarak bakmamız gerekmektedir, çünkü pratiklerin birbirleri ilişkileri ilk bakışta görünenden çok daha fazladır. XP içerisinde, bir pratiğin zayıf noktaları diğer pratiğin kuvveti ile dengelenebilmektedir ve pratikler birbirlerini desteklemektedir.
Ortaya konan 12 temel pratik savunucuları tarafından, yıllardır süregelen proje gecikmelerine karşın elde edilen deneyimler, saptamalar ve gözlemler sonucunda ortaya çıktığı için, projelerde yaşanan hüznün bu pratiklerin uygulanması ile azaltılabileceği düşünülmektedir.
Genel olarak organizasyonların XP’ye yaklaşımlarında, pratiklerin tamamı değil de öncelikle bir veya bir kaçı şeçilerek uygulamaya başlanmaktadır. Hatırlanması gereken nokta, bu pratiklerden ilk bakışta bazıları birbirlerinden bağımsız olabilir görünseler de, birini uygulamaya başladığınızda diğerlerinin de çorap söküğü gibi peşi sıra geldikleridir.


1 – Planlama Oyunu:
XP yaklaşımında, müşteri (son kullanıcı) tarafı projenin içerisinde etkin olarak yer almakta ve kilit roller üstlenmektedir.Bu pratik, iş öncelikleri ve teknik kestirimler göz önüne alınarak bir sonraki sürümün içeriğinin hızlıca belirlenmesini kapsar ve planlar üzerinde çeşitli sonuçlar doğurur. Yazılım geliştirme her zaman, istekler ve bunların gerçekleştirilme olasılığı hakkındaki diyalogları içermektedir. Bir tarafta yazılımdan çeşitli beklentileri ve istekleri olanlar, diğer tarafta ise bu beklentilere cevap verebilme olasılığı ve imkanları üzerine çalışanlar yer almaktadır. Tarafların bu diyalogları ise projeye yön vermektedir.
Projenin iş yönetimi tarafının, sürümlerin kapsamına, önceliklerine ve teslimat tarihlerine karar vermeleri gerekmektedir. Bu kararları sağlıklı verebilmeleri için teknik yönden gerekli desteğin verilmiş olması gerekmektedir. Teknik insanlar, kestirimler yapmalı (bu işlevsel özelliği eklemek ne kadar zaman alacak?), sürece karar vermeli (nasıl çalışılacak, geliştirme takımı nasıl organize edilecek?), ve planlarda detaylı tarihleri belirlemelidir.
İşte yazılım projesinin her iki tarafının da bir araya gelerek gerçekleştirdikleri bu aktiveler bir bütün halinde bu XP pratiği içerisinde yer almaktadır. Bu pratiğin etkin ve düzenli olarak işlemesi ve planın güncellenmesinde zorluklarla karşılaşmamak için birkaç önemli nokta:
- Müşteriniz sizin takım ile birlikte oturduğundan (XP’nin bir diğer pratiğinin eseri), size potansiyel değişiklikleri ve hızlı ilerlemeler için fırsatları bildirmelidir,
- Programcılardan gelecek bildirimler doğrultusunda müşteriniz planları kendilerince güncellemelidir,
- Müşterinizin planlarına yön vermek üzere, sizin gelecekle ilgili öngörüleriniz olmalıdır,
- XP’nin bir diğer pratiğince mümkün olduğunca kısa (2 haftalık veya aylık) sürümler planlanmalı, gerçekleşebilecek aksiliklerin planlara etkisi böylelikle bu kısa sürelerle sınırlandırılabilmelidir.


2 – Kısa Sürümler:
Her bir sürüm mümkün olduğunca kısa ve en değerli iş gerekleri içerir durumda planlanmalıdır. Yılda iki sefer veya tek sefer planlanan sürümlerden daha iyidir bir veya iki aylık sürümler. Bu pratiğin düzenli olarak işlemesi için birkaç önemli nokta:
- Planlama oyunu sonucunda ortaya çıkan öncelikler çerçevesinde oluşan en değerli hikayeler ilk sürümlerde gerçekleştirilmelidir,
- XP’nin bir diğer pratiği sürekli entegrasyon sayesinde, küçük sürümlerin paket haline getirilmesinde ki masraf minimum seviyeye indirilmelidir,
- XP’nin bir diğer pratiği basit tasarım ile bu sürüm için yeterli daha fazlası olmayan tasarımlar yapılmalıdır.


3 – Metafor:
En iyi durumda, yazılımı geliştirmeye tek metafor ile başlarsınız. Buna ulaşabilmek için önemli birkaç noktayı sıralar isek;
- Metaforun pratik ile uyum sağladığına dair gerçek kodlardan ve testlerden hızlı ve anında geri bildirimlere ulaşılmalıdır,
- Müşteriniz ile sistem ve metafor hakkında rahatlıkla konuşabilmeniz gerekmektedir,
- Metaforun pratikte hangi anlama geldiği anlamalı ve buna paralel yenilemeler yapabilmeniz gerekmektedir.

4 – Basit Tasarım:
Doğru bir tasarımın özelliklerini sıralamaya çalışırsak; tüm testlerden başarıyla geçmiş, tekrarlanmış mantıklar içermeyen, tüm niyetleri programcıya açıklanmış ve mümkün en az sayıda sınıf veya metot kullanılmış tasarım diyebiliriz. Birim testleri ile tasarım XP içerisinde birbirlerine çok bağlı pratiklerdir. Tasarımın hiçbir şekilde karmaşık olmaması ve testlerden geçebilecek kadar olması, gelecek düşünülerek hiçbir şekilde eklemeler yapılmaması ve fazlasını içermemesi gerektiği vurgulanmaktadır. . Bu pratiğin düzenli olarak işlemesi için birkaç önemli nokta:
- Endişe oluşturmayan değişimler, XP pratiklerinden yeniden yapılandırma (refactoring) adıma bırakılmalıdır,
- Tasarıma başlamadan açıkça belirtilmiş bir metafora sahip olmalısınız,
- Programlamayı çift kişi yapacağınızı unutmamalı (bir diğer XP pratiği – pair programming), buna göre gayet basit ve anlaşılır tasarım yapmalısınız.


5 – Test:
XP pratiklerinde geliştirilen yazılımın testlerinde hem müşterinin hem de programcının sorumlulukları kapsamında yer alan alanlar bulunmaktadır.
Müşteri (veya son kullanıcı) fonksiyonel testleri yazmakla sorumludur. Teslim alacağı ürünün isteklerini (gerekleri) karşıladığından nasıl emin olacağı sorusunun cevabını kendisi vermeli ve bu tespiti yapabilmek için gerekli testlerin içeriğini belirlemelidir.
Programcılar her bir işlevsel özellik için birim testlerini yazmak ile sorumludur. Bu, her bir metot için bir test yazmak anlamına gelmemektedir.
Bu pratiğin etkili işlemesi için birkaç önemli nokta:
- Bir önceki XP pratiğinin sonucunda, basit tasarlanmış bir yazılımın testleri de çok basit ve tamamen amaca odaklanmış şekilde olmalı,
- Programcılar çift olarak çalıştıkları için, birim testleri yazarken sıkça yardımlaşmalar ile mümkün olduğunca görülmeyen bir nokta kalmamasına özen göstermeliler,
- Bu pratiğin önemli sonuçlarından biri, yazılımın tüm testlerden başarı ile geçtiği tespit edilince duyulacak güvendir,
- Duyulan bu güven ile bir diğer XP pratiği olan sürekli entegrasyonun gerçekleştirilmesi sancısız ve acısız olacaktır.


6 – Yeniden Yapılandırma:
Yazılım geliştirme XP mantığını kullanarak, önce yeni bir işlevsel özelliği eklediniz ve testinden de başarılı olarak geçtiğini saptadınız. Bundan sonra programcı, testinden yine başarı ile geçecek şekilde yeni eklediği özelliği daha basit gerçeklemeye çalışabilir. İşte bu iyileştirme çabası XP kapsamında “yeniden yapılandırma” olarak adlandırılmaktadır.
Bu pratiğin yazılım geliştirme sürecinin içerisindeki rolü ve tam yeri konusunda çeşitli çalışmalar vardır. Ayrıca pratiklerin en çok tartışılan konusu olarak öne çıkmaktadır. XP’nin bu pratik ile yazılım tasarım aşamasını hafiflettiği öne sürülmektedir. Yazılımın hafifletilmesinden doğan çeşitli soru işaretlerine dikkat çekilmektedir. Yani, bu pratik başlı başına bir tartışma konusu olarak ele alınmaktadır.
Bu pratiğin etkili işlemesi için birkaç önemli nokta:
- Basit tasarım sonucu ortaya çıkmış üründe yeniden yapılandırma da bir o kadar basit olmalıdır,
- Bir diğer XP pratiği gereğince belirli bir kodlama standardına sahip olduğunuzdan, yeniden yapılandırmadan önce kaynak kodda format yenilemesi yapmanıza gerek olmamaktadır,
- Değişikliklerin doğruluğundan emin olabilmeniz için gerekli tüm birim testlerine sahip olduğunuz için yeniden yapılandırma sonucundan da kolayca emin olabilirsiniz.


7 – Çiftli (Eşli) Programlama:
XP mantığında tüm kaynak kodu üretimi iki kişi ve tek bir makine, tek bir klavye kullanılarak gerçekleştirilir. Bu çiftin içinde iki ayrı rol vardır. Bir kişi elinde klavye ile metodu en doğru şekilde nasıl gerçekleyebilirim diye düşünmekte, diğer eleman ise daha stratejik düşünmektedir. Bu pratik tamamen dinamik olarak işlemektedir, ve sabah veya öğleden sonra roller değişebilmektedir.
Bu pratik ile ilgili yapılan çalışmaların ölçümleri çok kısıtlı olarak yayınlanmaktadır. Yayınlanan ölçümlerin değerlendirilmesi ile erişilen sonuçlar ise oldukça olumlu gözükmektedir. İlk bakışta çoğu programcının kuşku ile yaklaştığı bu konuda uygulamalar ile ilgili yazılar arttıkça daha olumlu bir tabana oturacağını düşünmekteyim. Çeşitli açılardan uygulanması en zor görülen XP pratiği olarak görülmektedir. Bu doğrultuda, bu pratiği bizim organizasyonumuza uygun hale getirmek için terzicilik yaparak kesip biçebiliriz diye düşünmekteyim. Belki de XP pratiklerinin uygulamaları esnasında en çok makaslanacak madde bu pratik olacaktır.

8 – Ortak Sahiplenme:
Bu pratiğin karşısında iki ayrı kaynak kodu sahiplenme modeli yer almaktadır.
Bunlardan en eskisi hiçbir sahiplenmenin olmadığı modeldir. Hiç kimse kaynağın hiçbir parçasını sahiplenmemektedir. Bir kişi kodda herhangi bir değişiklik yapmak istediğinde, kendine uyacak şekilde herhangi bir kaygısı olmadan, herhangi bir standart uygunluk gözetmeksizin bu değişikliği gerçeklemekteydi. Tabii bu yaklaşımın kötü sonuçları çabucak ortaya çıkmıştır.
Bu durumu kontrol altına alabilmek için, bireysel sahiplenme yaklaşımı doğmuştur. Sadece bir kişi resmi bir şekilde kaynak kodunda değişiklik yapabilmektedir. Herhangi bir kişi kodda değişikliğe gerek gördüğünde, kaynak kodu sorumlusuna bunu resmi kanallardan bir değişiklik isteği ile bildirmektedir.
Bu yaklaşımın en büyük dezavantajı, kaynak kodu sorumlusunun herhangi bir nedenle bu sorumluluğu devretmesi gerektiğinde ortaya çıkmaktadır. Bu anda, kaynak kodu devralmak için istekli bulmakta zorlanılmakta, istekli bulunsa dahi devir işleminin hiç kolay olmayacağı hem zaman hem gider açısından büyük maliyetler doğuracağı bilinmektedir.
XP yaklaşımında, takım içerisindeki herkes tüm sistem üzerinde sorumluluğu paylaşmaktadır. Tabii ki, herkes aynı düzeyde sistemin tüm parçalarına hakim olacak anlamına gelmemektedir bu yaklaşım. Ama çift programlama pratiğinin ve gözden geçirmelerin etkisi ile bireylerin sistemin tamamı üzerindeki bilgisi en yüksek düzeyde tutulmaya çalışılmaktadır.
Bu pratiğin etkili işlemesi için birkaç önemli nokta:
- Bir diğer XP pratiği çiftli programlama sayesinde, kaynak kodları üzerinde birden fazla programcı etkin hale gelebilmekte,
- Yazılmış birim testleri sayesinde kaynak devir teslim işlemi daha az sancılı hale gelmekte,
- Bir diğer XP pratiği sürekli entegrasyon ile, kaynak kodu devir alan programcılar istediği zaman kaynağın ve ara yüzlerinin sistem içerisinde sergilediği davranış özelliklerini gözlemleyebilmektedir.


9 – Sürekli Entegrasyon:
XP yaklaşımında geliştirme günü içerisinde kaynak kod sisteme en az bir defa entegre edilmelidir. Bunu sağlayacak makineler ve simülatörler üzerine çalışmalar yapılmalıdır. Bu altyapıya gerekli kaynağın ayrıldığı ve altyapının oluşturulduğu göz önünde tutularak, bu pratiğin uygulanması ile ilgili önemli noktalar:
- Sürekli entegrasyon ve test pratiklerinin birlikte uygulanması ile, sistemde oluşmuş herhangi bir hata veya kusurun tespiti hızlı ve çabuk şekilde yapılabilmekte,
- Ayrıca işlevsel özellik eklemeleri ve düzeltmeleri de sürekli entegrasyon ile en üst seviyede test edilebilmekte,
- Çift programlama pratiği ile entegrasyon safhası süresi yaklaşık yarıya indirgenebilmektedir.


10 – Haftada 40 Saat:
XP yaklaşımında, sürekli şekilde fazla mesai yapma bulunmamaktadır. Planların ve öngörülerin haftada 40 çalışma saati üzerinden yapılmasını önermektedir. Dağınık şekilde 60 saat çalışma yerine tamamen konsantre olunmuş verimli 40 saat tercih edilmesi gerektiği vurgulanmaktadır.


11 – Müşteri (Kullanıcı) ile İç içe Olmak:
XP anlayışında gerçek müşteri, geliştirme takımından gelecek sorulara hızlı cevap verebilmek, planları kolay yönlendirebilmek ve uyuşmazlıklara çabuk çözümler bulabilmek için takım ile birlikte oturmalıdır.
Gerçek hayata baktığımızda belki de en zor şart, takım ile sürekli haftada 40 saat oturacak son kullanıcılar bulmaktır. Son kullanıcı tarafının yöneticilerinden bunları istemek gerçekten zor görünmektedir. Bizzat yöneticiler yerine bunların temsilcileri, haftada 40 saat olmasa da gerek duyulduğu vakit, zaman ayırtabilecek bilinçli bir müşteri tarafı oluşturmak mümkün gözükmektedir. Tabii bu noktada bir diğer önemli nokta ortaya çıkmaktadır. Bu bilinçte ve XP pratiklerinde kendi üzerlerine düşün sorumlulukları yerine getirebilecek müşteriler bulabilme imkanımız var mi? Çünkü müşteri XP içerisinde, fonksiyonel testleri yazmak, planlamalarda bizzat kilit rol oynayıp önceliklendirme yapmak, sürümlerin kapsamlarını belirlemekle yükümlüdür.


12 – Kodlama Standardı:
XP’nin birçok pratiği bu pratik ile yakından ilintilidir. Bunlardan “ortak sahiplenme” ve “çiftli programlama” en önemlileri ve direk olarak etkilenenleridir.
Takım içerisindeki herhangi bir kişinin sistem yazılımlarının herhangi bir yerinde değişiklik yapabilme hakları olduğu bir durumda, belirli bir standart en çok aranılandır diye düşünüyorum. Aksi durumda kaynak koda açıp bakan birinin bu kaynaktan neler algılayabileceği veya ne ile karşılaşacağı büyük bir soru işareti olacaktır.
Yapılan araştırmalar sonucunda yayımlanan makalelerde, yazılım geliştirmede en çok rastlanan yanlışlık olarak “belirli bir kodlama standardının yerleşmemiş” olması olarak belirtilmektedir.
Geri kalan 12 XP pratiğinin tamamına bakıldığında birbirleriyle ilişkileri, geldiğimiz bu noktada çok daha net ve anlaşılır olarak ortaya çıkmaktadır. Her bir pratikte elde edilecek başarı diğer bir pratiğe bağlanabilmektedir. Yine de pratiklerden sadece bir tanesini seçip organizasyonunuz içerisinde uygulayabilirsiniz. Gerçekte bu pratiği uygularken farkında olmadan diğer pratiklerinde en azından genel anlayışlarına yakınlaştığınızı hissedeceksiniz. Çünkü, pratikler şu yada bu şekilde birbirleriyle ilişkilenmiştir. Atlanmaması gereken nokta, XP pratiklerinin bir bütün olarak görülebilmesi ve uygulanabilmesidir.
XP temel pratiklerinin giriş seviyesinde yer aldığı bu yazı hakkında da görüşlerinizi sabırsızlıkla bekliyorum.
İyi çalışmalar.

Özgür ERALP
2004

Not: "Haftada 40 Saat" pratiği 2005 güncellemesinde pratikler arasından çıkartıldı.

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın




Copyright© 2001-2018. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.