eXtreme Programming ve Bir Başarı Öyküsü

0
FZ
Bill Clementson son blog girdilerinden birinde birkaç gün önce gerçekleştirdikleri etkinlikte sunum yapan ve bir başarı öyküsü aktaran Ken Dickey'e yer vermiş.

Avustralya kökenli başarılı bir start-up olan Memetrics'in öyküsünü çarpıcı bir dille anlatan Dickey, eXtreme Programming metodolojisi ve Common Lisp'ten faydalanarak geliştirdikleri sistemi anlatan güzel bir sunum hazırlamış.

Keskin rekabetten ve gizli silahların gücünden hoşlananlar için incelenesi bir örnek. Afiyet olsun.

Görüşler

0
neurorebel
Hımm... XP... Amatör Delphi ve VB programcılarının proje geliştirme mantalitesinin "cool" bir isim verilmiş hali... Yazıda bahsi geçen geliştirme adımları standart bir sistem analizinin iterasyonları zaten. Eğer işin başında doğru dürüst analiz yapılırsa çok daha sağlam ve esnek ürünler ortaya çıkar. Ayrıca başarıyı neye göre ölçüyoruz ? Eğer amaç, hayatında konsol bile kullanmamış bir kaç adamı kaşıkla yavaş yavaş mama vererek memnun etmekse; evet XP iyi bir tekniktir. Ama XP modern yazılım geliştirme anlayışıyla kesinlikle uyuşmaz. Yazılım *katmanlardan* oluşur. Bu nedenle ürünün kalitesi işin başında modellemeye ayrılan vakitle doğru orantılıdır. Ortalıkta nerede n'aptığı belli olmayan ve 10larca megabytelık paket boyutlarına ulaşan pek çok başarılı(!) yazılım var. Bunlar ölçüt değil... Olmamalı...
0
anonim
Keşke bu satırları yazmadan önce XP hakkında biraz daha okusaydınız. XP de katmanlar vardır, hatta XP de dizayn da vardır. AMA XP her bir ayrıntıyı en ince şekilde planlamaya karşıdır. XP için kabaca şöyle bir algoritma uygulanabilir.

1 İhtiyaç analizini yap, gereksinimleri belirle
2 İskelet tasarımı oluştur.
3 Testleri yaz
4 Çalıştırılabilir kodu yaz
5 Test et
6 Kodu değiştir
7 Dokümantasyonu değiştir
8 Müşteriye göster ve değişen ihtiyaçlara göre 3 adıma geri git.

Daha fazlası için aşağıdaki adreslere gözatılabilir.

http://www.fazlamesai.net/index.php?a=article&sid=1300
http://www.bilgidata.com/localhost/bilgidata/yazi_liste.jsp@kategori=Proje.html
http://www.godoro.com/Divisions/Ehil/Mecmua/Magazines/Columns/txt/html/article_XP.html
http://www.martinfowler.com/
0
mdakin
XP, üzerinde çok tartışılan ve bence de eksikleri olan bir metodoloji olsa da "Amatör Delphi - VB programcılarının mentalitesi" diye aşağılanamayacak kadar iyidir. Etrafımızdaki bir kaç kişi XP yapıyorum diye işleri ellerine yüzlerine bulaştırdıysa bu metodolojinin suçu değil. Örnek verecek olursak amatör (hatta kendisini profesyonel sanan) delphi ve VB programcıları:
  • Tasarım yapmaz, XP tasarıma önem verir
  • Asla test yapmaz, Otomatize edilmiş testler XP nin belkemiğidir, olmazsa olmaz
  • iteratif geliştirme yapmaz, blok halinde bir çamur yığını oluşturur, XP en baştan itibaren çalışabilen bir yazılımın adım adım planlı şekilde sürekli testlerle kontrol edilerek ilerlemesini sağlar. Otomatize edilmiş build ortamları ve sürekli testlerin işletilip regresyonların belirlenmesi de XP nin önerisidir

Bunlardan başka, sürekli refactoring gibi şeylerin amatör VB programcılar için hiç bir şey ifade etmediği de aşikar. XP bu kuralalrı kendisi uydurmadı, hemen hepsi zaten yıllardır iyi programala ve geliştirme teknikleri olarak zaten biliniyordu. Dediğinizin tam aksine, XP modern yazılım geliştirme anlayışının bir parçasıdır, kullanılabileceği yerler de çoktur. Siz istediğiniz kadar "katmanlı" yazılımınızın başında uzuun bir süre modellemeye zaman ayırın, eğer müşteriniz fırıldak gibi karar değiştiriyorsa, takımınızın tamamı guru seviyesinde adamlardan oluşmuyorsa o yazılımı bitene kadar en az on kere baştan modellersiniz. Hızlı değişime adapte olan modellerin, ki XP olmak zorunda değil, başka çevik yöntemler de var, gayet başarılı olduğu örnekler var. XP için benim de eleştirebileceğim şeyler var, ama bu şekilde körü körüne kötülemek doğru değil.
0
neurorebel
Evet biraz körü körüne kötüledim. Kusura bakmayın :) Sadece bu aralar bu konuda biraz hassas ve sinirliyim... XP'nin daha iyi bir seçim olabileceği projeler mutlaka olabilir. Ama sinir bozucu olan, kimi insanların VB'yle, Delphi'yle veya benzer komponent tabanlı herhangi bir geliştirme sistemiyle yaptığı yanlışları doğruymuş gibi göstermek namına "Bunun adı XP !" diye bağırması.
0
bm
Aslinda anliyorum ben ruh halinizi. Ben de pek memnun degilim zaten bildigimiz bazi seylerin paketlenip sonra bilip anlayamayacak insanlarin agzina sakIz olmasindan. Hmm iyi bu calisti ama biraz temizleyip duzenlemek istiyorum yerine simdi refactor etmem lazim denmesinin merifet olmasi benim de hosuma gitmiyor. Yalniz bu bahsedilen insanlar tam oyle degil. Buyuk bir _yenilik_ iddialari yok bence, yalniz XP demekten, o terminolijiyi kullanmakan filan cekinmiyorlar, presniplerinin bir butun olarak faydali olduguna inanmislar. Bir ara bu Memetrics, sirf ortamin hoslugu yuzunden pek de para vermeden ABD'den AU'ya genc lispci getirtip calistirirdi. (pair programming ya, hizli uyum, hizli verim vs. vs.).
0
FZ
Valla Delphi'cileri ve VB'cileri bilmem de görülen o ki berbat bir sözdizimi olan Common Lisp dilini kullananlar da bu proje için eXtreme Programming kullanmışlar. Söz konusu adamların hayatlarında konsol kullanmamış adamlar olmadıklarına bahse girerim (hayatında konsol kullanmış olmak her ne demekse ve konumuzla ne ilgisi varsa). Memetrics'in başarısına gelince herhalde rekabet ettiği ortamlara bakarak bir karar verilebilir.

Ben neyle neyi kıyasladığınızı anlamadığım gibi yazıda linkleri verilen belgeleri, sunumları okuduktan sonra mı böyle bir kanıya vardınız onu da anlamadım.
0
neurorebel
Hayatında konsol kullanmamış demekle yazılım işi hakkında hiç bir fikri olmayan kişileri kastetmiştim...
0
tongucyumruk
Bir süredir aklımda olan birşeydi, tam yazmak için fırsat oldu bana da...

Lisp ortamlarındaki yazılım geliştirme metodolojisinin XP'deki birim testi kavramını farklı bir boyuta taşıyabileceğini düşünüyorum. Şu ana kadar özellikle Practical Common Lisp gibi kaynaklarda gördüğüm kodlar genelde Lisp ile yazılan kodların diğer dillerde belki "aşırı" diye nitelenebilecek ölçüde parçalanmış olduğu. Burada parçalanmadan kastım tabiiki köt birşey değil. Sadece gördüğüm kadarıyla genelde Lisp'te kod yazma tarzı problemi mümkün olabilecek en küçük fonksiyonlara bölüp sonra da bu fonksiyonları bir araya getirerek çözümü oluşturmak yönünde. Bunun tipik bir örneği bahsi geçen kitapta gördüğüm spam filtresi [1].

Bu yönüyle Lisp'in XP tarzı yazılım geliştirmeye fazlasıyla uygun bir dil olduğunu düşünüyorum. Zira yazılımın tamamı genelde çok fazla parametresi olmayan (çoğunlukla tek parametreli) fonksiyonlardan oluştuğunda bu otomatik olarak refactoring'i kolay hale getirdiği gibi yazılımın kendisinin de bir tür birim test gibi çalışmasını sağlıyor ve gerekirse yazılacak ekstra birim testler için uygun bir platform oluşturuyor [2].

[1] http://www.gigamonkeys.com/book/practical-a-spam-filter.html
[2] http://www.gigamonkeys.com/book/practical-building-a-unit-test-framework.html
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Enterprise Uygulamalarda Common Lisp Faktörü

FZ

cs-lisp grubunca geçen sene Eylül ayında başlatılmış olan Lisp toplantıları serisi uzunca bir aradan sonra Ekim ayında yeni bir toplantı ile devam ediyor.

31 Ekim 2006, Salı akşamı 18:00'da İstanbul Bilgi Üniversitesi Dolapdere Kampüsünde düzenlenecek olan toplantının başlığı Enterprise Uygulamalarda Common Lisp Faktörü.

Toplantının detayları şöyle:

Lisp - Asla Ölmeyecek Olan Dil

FZ

ESR bir oyun ile ilgili grafik işlerini halletmek için GIMP kullanmaya başlamış ve bazı şeyleri otomatikleştirmesi gerekince GIMP'in nasıl programlanabileceğine göz atmış. Karşısına çıkan Script-Fu ortamında Scheme ile karşılaşınca kendini evinde gibi hissetmiş ve LISP — The Language That Will Not Die başlığı altında düşüncelerini ve yazdığı kodu paylaşmış.

Not: cs-lisp listesinde haber verdiği için için Recai Oktaş'a teşekkürler.

Avrupa Common Lisp Buluşması: Sunumlar ve Videolar

FZ

Bu sene 24 Nisan tarihinde, Amsterdam'da, 19 ülkeden 80'i aşkın katılımcıyla gerçekleşen ECLM2005 (European Common Lisp Meeting) pek çok ilginç sunuma ve konuşmaya ev sahipliği yaptı.

Daha önce burada sık sık adı geçen Practical Common Lisp kitabının yazarı Seibel'in "Lispçi olmayanlara Lisp'i nasıl anlatırsınız" başlıklı eğlenceli konuşmasından tutun António Menezes Leitão'nun "Lispçiler için Java" sunumuna dek pek çok videoya Weitz'in sitesinden veya İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri bölümü yansısından erişmeniz mümkün.

'Lisp Outside the Box' Düştü Mü?

okanakyuz

Nick Levine tarafından O'Reilly için 2009 yılında yazılması planlanmaya başlanan ve resmi sitesi lisp-book.org şeklinde olan hayal kitap tarih oldu gibi duruyor. Kitap her lisp meraklısı gibi benim de hayallerimi süslemekte, (Özellikle kısım 3 ve kısım 6) fakat görünen o ki bu proje tarih olmuş durumda. Bir arkadaşım ile sohbet ederken öğrendiğim bilgi bu kitaba asla kavuşamayacağımız yönündeki dedikodu. Kitap için tek satır bile yazılmamakta artık. Dilerim birisi çıkar ve yeni bir proje başlatır. Çünkü Hacker lugatında O'Reilly'den bir kitap çıkartmak dünyadaki en önemli 2 hadiseden biri (diğeri zengin olmak ve paraya para dememek)

Kent Pitman Lisp ve ötesi ile ilgili soruları yanıtladı - Bölüm 2

FZ

Kent Pitman, 2001 yılının sonuna doğru Slashdot camiasının Lisp/Scheme, standartlar, yazılım geliştirme ve diğer konulardaki sorularını cevapladı, meraklarını giderdi. Bir hayli detaylı olan bu soru cevap seansı uzunluğundan ötürü iki bölümde yayınlandı. İkinci ve son bölümü, Bilkent Üniversitesi, Bilgisayar Müh. bölümü öğrencisi Hayrettin Gürkök'ün çevirisi ile karşınızda... (1. bölüm burada, 2. bölümün ilk kopyası ise ileriseviye.org adresinde)