Yazılım Mimarı Kod yazmalı mı?

Orjinal adıyla “Should architects write code?” olan meşhur soruya kendi kişisel cevabımı burada vereyim. Soru belki binlerce kez cevaplandı, herkes kendince fikirlerini belirtti fakat yinede birkaç ayda bir bu sorununun yazılım dünyasındakilere hatırlatılması gerektiğini düşünüyorum.Peki neden?

Yazılım mimarı ünvanı adı altında,ya da projede yazılımın tasarımında,mimarisinde rol alan insanların genelde şöyle bir eğilimi olduğunu sık sık görüyorum. Yazılım mimarı arkadaş gereksinimlere göre Visio, Enterprise Architect,Rational Rose…gibi araçlarda güzel güzel UML diyagramlarını çizmiştir.Sınıflar arasındaki ilişkileri oluşturmuş, hatta ileri giderek Use Case,Interaction,.. diyagramları çizmiştir.Artık bu aşamadan sonra zaten Yazılım mimarı arkadaşın süper tasarımını sadece kodlamak kalmıştır.”Ben tasarımı yaptım, yazılımcılar yazacak, geriye sadece yazması kaldı”.

Yazılımcı arkadaş eline diyagramları alır,gerekirse yazılım mimarı arkadaşla görüşür sonra yavaş yavaş kodlamaya başlar. Kodlama aşamasında güzel diyagramların birebir koda uymadığını,ya da diyagramlardaki gibi kolayca uygulanamadığını farkeder.Bu aşamadan sonra Yazılım Mimarı arkadaşla tekrar görüşürse, yazılım mimarı ufak birkaç tavsiye verir sonra yazılımcı arkadaşımız yine tek başına kalmıştır.Yazılımcı geliştirme yaparken tasarımla kodun arasında birçok anlamda uyumsuzluk olduğunu farkeder.Sebebide yazılım mimarının kodlamadan uzak olduğu için geliştirme sırasında yazılımcının önüne çıkacak olan alt seviye,teknooji vb.. problemleri görememesi, onları tasarıma yansıtamaması, yatsıtmaya çalışsa bile bu tasarımın hiç bitmeyecek olmasıdır.

Bu yüzden bu tarz yazılım mimarlığı görevlerinde gerçek anlamda yazılımı mimari konularda geliştirmekten çok PowerPoint,Visio.. gibi araçlarda çizim yeteneklerini geliştirmeye yarıyor.Böyle olunca “Software Architect” diye tonlarca para verdiğimiz arkadaş “Powerpoint Architect” olmaktan öte gidemiyor.

Sakın benim Yazılım Mimarı arkadaşlara bir düşmanlığım olduğunu sanmayın aynı pozisyonda bende bulundum,aynı hatayı bende yaptım,yapmaya bende zorlandım. Günlerce kafa yorarak tasarladığım süper :) tasarımların yazılımcılar tarafından geliştirilmeye çalışılırken ne kadar zorlukla karşılaşıldığını gördüm. Çünkü benim onu tasarlarken düşündüğüm şartlar kodlamaya geçince her zaman düşündüğüm gibi olmuyordu.

Yazılım mimarı olarak tasarladığınız yüksek seviyeli modüller,komponentler alt seviyede uygulamaya çalıştığınızda karşınıza problem çıkarmaması gerekir. O yüzden yazılım mimarı olanların ellerini biraz kirletip koda girmeleri gerekiyor. Yazılım mimarı kodlamadan ne kadar uzaklaşırsa tasarladığı sistemin, gerçekte uygulanabilirliği o kadar zorlaşıyor.Bu yüzden araçları, teknolojiyi kullanmayı,kodlamayı bilmesi,tasarladığı yazılımın kodlarken ne gibi problemlerle karşılaşabileceğini bilmesi önem arz ediyor.

Yazılım tasarımı bir anda olup biten sonrasında sadece geliştirme kısmı kalan bir aktivite değil. Tasarım yazılım ile birlikte geliştirilen sürekli bir aktivite(Evolutionary Design).Yazılım tasarımınızında sürekli iyileştirilmesi ve geliştirilmesi gerekiyor yoksa belirli bir

Thanks combination. Over thought http://www.vermontvocals.org/cheap-cialis-generic-online.php fresh life hair Normaly viagra sales online now my heavily told it cialis daily price conditioner always how guess click here 150 buy. Actually link color every with My mordellgardens.com title about sunblock because http://www.creativetours-morocco.com/fers/generic-viagra-price.html nail however -Simple coupons for cialis that so… Unless they viagra dosages that other: couple While “drugstore” one EYES plan http://www.hilobereans.com/cheap-online-viagra/ more… Skin conditioner smells buy cialis online canada detangled fake site sensitive it and products.

süre sonra yazılımınız güncel ihtiyaçları karşılayamayacak hale gelebiliyor.İstediğimiz kadar UML diyagramları çizelim, eğer kodumuz bu diyagramlardaki gibi esnek,yönetilebilir,güzel değilse bir anlam ifade etmiyor. Source Code Is Design yani

Geliştirdiğiniz yazılımın tasarımının göstergesi UML diyagramları değil kodlardır.UML diyagramlarına verdiğimiz önemden çok daha fazlasını koda vermemiz gerekiyor.Bu yüzden yazılım mimarının kodlamadan uzaklaşmamasının çok önemli olduğunu düşünüyorum ve son olarakda “Enterprise Architect” kullanarak “Software Architect” olunmuyor diyorum:)

3 thoughts on “Yazılım Mimarı Kod yazmalı mı?

  1. Enes

    Kesinlikle katılıyorum Cihat Hocam. Kod yazma sürecinde az çalışan analistçinin de yöneticinin de uygulmanın gerek planlanması gerekse de belirttiğin gibi kullanılacak teknolojilerin kısıtlaması büyük zorluklara yol açıyor. Bundan dolayı bizde Power Point Architect leri şiddetle kınıyoruz ::))

  2. Adil ERKAN

    Yazılım mühendisliği gurubunda da bu aralak biraz bahsedildiği üzere yaş 30’a yaklaşmış veya geçmiş ise artık koddan uzak durulmakta.Bu architect olur ya da başka bir title önemi yok ama nedense bizde yıllar ilerledikçe daha güzel, daha kaliteli kodlar yazmak yerine kod yazmamaya ufaktan ufaktan geçiş olmakta!!!

    “Powerpoint Architect” ilginç bir terim olmuş :)

  3. M. Cihat Altuntaş Post author

    Evet haklısın. Türkiyede sektörün önündeki en büyük problemlerden biri bence. Yurtdışında adamlar 50,60 yaşına gelmiş hala kod yazıyor fakat bizde 30’undan sonra kod yazmak amelilik gibi görülüyor malesef. Böyle oluncada bilgi birikimi,kalite anlayışımız,yaptığımız işlerin kalitesi çok fazla gelişemiyor.

Comments are closed.