Tuesday, December 25, 2007

TEKNİK METİN OKUMAK

Sn Kemal ERTAŞ'a
(Çukurova HOBİM)

Oku!

Bir insanın mesleki başarısı hayatta çevirdiği sayfa sayısı ile orantılıdır. Bir müzisyen kaç nota sayfası çevirirse o kadar çok başarılı olur. Bir mühendis kaç teknik kitap sayfası çevirirse yine o kadar çok başarılı olur.

Onun için boş durma oku!

Sakın okuma!

Eğer neyi, nasıl ve ne zaman okumağı bilmiyorsan… Sırf sana söylendiği için, ödev verildiği için, başkasından gördüğün için, o kitabın hakkında çok konuşulduğu için…

Sakın okuma! Çünkü okumak ciddi bir iştir.
Hayatta yaptığım bir çok işi batırdım… Düşünüyorum da elime geçen imkanlarla benden daha becerikli olan arkadaşlarım karşılaşsaydı kimbilir neler olurdu… Ama birkaç tane iş var ki iyi yaptığımdan, hatta dünya çapında iyi yaptığımdan eminim. Bunlardan biri okumak… Özellikle teknik metinler… 1991’de uluslararası GRE Müzik sınavına girdim. Esasen mühendislik eğitimi görmüş olmama karşın müziğin bir çok mesleki kitabını zamana karşı okuyarak 6 ay gibi kısa bir sürede hazırlandım. Sonuçta bütün dünyada o sınavı son beş yıl içinde alan çoğu müzisyen kişilerin yüzde 91’inden iyi bir sonuç elde ettim…

Kitap okumak ciddi bir iştir. Bir düşünürseniz genç bir insanın, ya da bir mühendisin okuyabileceği kitap miktarı sınırlıdır… Mesleki durumlarda zaman da sınırlıdır, dayanmak gücünüz de… Hele proje sonunda karşılaştığınız teknik bir problemi çözmek için okuyorsanız… Yorgunluk bir yandan, okuduğunuzu anlayamamak öte yandan…

Gençlikte farkına varmaz insan… Okuyabileceğiniz sayfa sayısı sınırlıdır hayatta… Eğer o sınırları doğa üstü bir inatla zorlamağa kalkarsanız, belki çok iyi bir profesyonel olursunuz ama çok çok ‘iyi’ de olabilirsiniz… ‘Mesleğinde çok iyi olan profesyoneller’ gibi mesela…

Ne okuduğunuz, doğru kitabı seçmeniz hayati derecede önemlidir. Gidip JAVA kitabında C++ komutunu arar, bu arada rasladığınız ilgi çekici şeyleri okursanız, hem yorulur hem de kaybolursunuz… İnternet’te bir şey ararken çekilen güçlüğün bir yanı budur… Görmek, çabuk görüp yakalamak, anahtar kelimeleri doğru seçmek ve yazıları okumadan kendinizi rahat bırakıp hafifçe göz gezdirmek sayfa üstünde… Bırakınız, aradığınız şey kendiliğinden gözünüze doğru fırlasın…

Teknik metin okumak ciddi bir iştir! Aşağıda bazı ipuçlarını sizinle paylaşacağım.


Okuduğun bir cümle ya da kısımı anlamayınca kendini aldatma! Anlamadığını itiraf et! Ama moralini bozma. Okumaya devam et. Ya daha sonra gelen satırlar anlamadığın kısımı açıklar ya da genel olarak o paragraf ya da bölümün anlamı tümden gelerek senin anlamana yardımcı olur.

Teknik metinlerde bildiğin şeyleri yeniden okuma! Hayat kısa! Genel kitaplarda, anladığından emin olduğun şeyleri geçiştir! Bir yazar sana çok bilinen şeyler söylüyorsa ya dinler gibi yapıp kafanı dinlendir, ya da onu sıkıştıracak bir soru sor! Çünkü hayat kısa!

Öngör! Tahmin et! Hayal kur! Bir yazıyı okumadan önce kafanda bir öngörü olsun! Bu öngörüyü içinde bulunduğun bağlamdan, kitabın ya da yazının isminden çıkarabilirsin. Kafalarımız bir ipucuna sahip olduklarında daha kolay ve hızlı çalışırlar.

Teknik bir kitapta ya da internette bir şey ararken soyut kavramlar değil somut anahtar kelimeler ara. Bu anahtar kelimeleri ne kadar iyi seçersen ve arayışın ilerledikçe bu kelimeleri kalitece ne kadar iyileştirir ve sayıca artırırsan araman o kadar odaklanır ve etkisi ışığı odaklayan bir mercek gibi güçlenir.
Eğer hiç sonuç elde edemiyorsan tersini yap, arayışının odaklayış gücünü azalt.
Ne aradığını bil! Nereye gittiğini bil! Aksi takdirde hiçbir zaman hedefe ulaşamazsın.

Kitap okurken rasladığın bilmediğin kelimeleri hemen sözlükten arama! Biraz bekle, okumağa devam et! Eğer kendiliğinden anlam kafanda oluşmamışsa, ve yazıyı anlamak bakımından o kelimeyi anlamağa hala ihtiyaç hissedersen mutlaka sözlüğe bak.

Elindeki kitabı okumağa birinci sayfasının birinci satırından başla. İçindekiler, önsöz ve kaynaklar bir kitabın neyi nasıl anlattığını anlamak için en pratik kaynaktır. Her kitabı okumak zorunda değilsin. Eğer okumağa değer bir kitap ise, içindekiler bölümünü okumuş olmak kitabı daha kolay okuman için gerekli zihinsel önkoşulları, öngörüyü(anticipation) yaratır.

Çalışma bilgisayarında Google tercüme motoru, Mirriam-Webster sözlüğü gibi araçlar elinin altında hazır olsun. Bir kelimeye takılınca salonun bir başından diğerine “Ali Rıza Bey sizin İngilizceniz iyidir” gibi garip çığlıklar atma. Kitap okuyuşun da bir edebi adabı olmalı!

Find ile veya kağıt kaynakların fihristi gibi bir araç kullanarak aradığın kelimenin yaklaşık yerini bulduktan sonra önce tarayarak oku. Bu ilk tarayışta aradığın konu ile ilgili diğer anahtar kelimelerin varlığını dene… Bir şeyin yerini kabaca bulmak gerektiğinde yalnızca ilgili kelimelerin varlığını kontrol etmektir taramak… Teknik metin okumak öncelikle taramaktır.

Hızlı okumak zorundasın! Proje teslim süreleri çok kısa. Çabuk okumak zorundasın! Fiildedir anlamın çoğu, her kelime aynı önemde değil. Okurken özne ve fiillere dikkat etl gerisini es geç! Taa ki, vicdanın seni dürtünceye… Zaten o zaman önemli yere gelmiş olduğunu fark edeceksin.

Sabret! Sabırla çevir sayfaları, sanki 10 misli daha fazlasını zevkle çevirecekmiş gibi… Kitap okumak zordur. Başarmak için kendi kendini şevklendirmek zorundasın. Başarı için motivasyon kontrolü şart. İnatla çevir sayfaları, kafan durduğunda bile. Okuyamasan bile resmine bak “aaa buradaymış diyerek”… Unutma, orada ne olduğunu sen değil, bir başka sen hatırlayacak, ‘senden içeri’…

Önemliyi önemsizden ayır! Anayı ayrıntıdan… Bir konuyu tararken, her şeye aynı dikkat seviyesi ile bakma! Değişken konsantrasyon, zihinsel kaynakların rasyonel kullanımı şart!

Neyin nerede olduğunu bil! Her şeyi akılda tutmak imkansız ama bir kitapta neler olduğunu otomatik olarak aklına kaydetmeli bir mühendis… Okuduğu bir şeyin nerede olduğunu çok uzun süre sonra bile hatırlamalı.

Mesleğinle uğraş! Mesleki ve uzmanlık kitapları oku! Bir kaçı dışında genel kitaplarla zaman kaybetme! Mesleki kitaplar arasında özel ilgi alanların olsun…

Kendi yanında durarak oku! Okurken kendi omuzunun üstünden bak kendine, ne yapıyor bu çocuk, niye yapıyor, yaptığı şeyin bir anlamı var mı diye sor kendine.

Bulabilirsen, büyük bir kütüphanede ya da internette, bazan öylesine dolaş! Hiçbir şey aramadan! Google ile arayışta en az çıktı veren yerlere bak, kenarda köşede kalmış şeylere… Bazan, kişinin aklı değil ama gözü önemli şeyler yakalayabilir.

Monday, December 10, 2007

BİLGİSAYARLAR HİSSEDER Mİ?

Bilgisayar hisseder mi? Bilgisayarın duyguları var mı? Bilgisayar sevinç, sevgi, kızgınlık, korku, mutluluk, suçluluk, üzüntü, utanış, umut ve diğer bir çok duyguyu duyar mı? Bilgisayarın duyguları davranışları üzerinde ‘hoş veya rahatsız edici, yumuşak veya yoğun, geçici veya uzun süreli, ve araya girici veya genişletici’ [1] etkiler yapar mı? Bilgisayarlar ‘duyguları yaşarlar mı?’ Çevrelerindeki korkutucu, sevindirici, üzücü şeylere tepki gösterirler mi?

Schachter “bir duygusal hal bir fizyolojik uyanış hali ve bu uyanış haline uygun bir muhakemenin her ikisinin birden fonksiyonu olarak değerlendirilebilir. Muhakeme, bir bakıma bir yönlendiriş işlevi görür. Geçmiş tecrübeler ışığında yorumlanan şu andaki durumdan doğan muhakemeler kişinin duyguları anladığı ve ad bulup etiketlediği çerçeveyi sağlar. Fizyolojik uyanış halinin “hiddet”,”sevinç”, “korku” veya başka bir şey şeklinde etiketleneceğine karar veren muhakemedir. [4] ” “an emotional state may be considered a function of a state of physiological arousal and of a cognition appropriate to this state of arousal. The cognition, in a sense, exerts a steering function. Cognitions arising from the immediate situation as interpreted by past experience provide the framework within which one understands and labels his feelings. It is the cognition which determines whether the state of physiological arousal will be labelled as “anger”, “joy”, “fear”, or whatever. ”
İÖ II. yy.’dan bu yana tarihte duygu için bir çok tanım yapılmış. Descartes, Hume[3] , James, Cannon, Dewey[2], Freud, ve diğerleri.

Bilgisayarların bir iç dünyaları var mı? Çabuk bir cevap vermek çok zor… Belki soruyu bir parça değiştirsek… İnsan dışında herhangi bir varlık duygulara sahip mi? Belki daha iyisi: Hayvanlar hisseder mi? Darwin “çeşitli duygu ve hislerin etkisi altında, insan ve daha aşağı hayvanlar tarafından farkında olmadan irade dışı kullanılan ifade ve mimiklerin çoğu [5]” ‘ndan bahseder. ( “most of the expressions and gestures involuntarily used by man and lower animals, under the influence of various emotions and sensations.” )

Hayvanların hiç biri “Üzgünüm!” diyemez. Yine de, bir kedi bir bahçede oturan kişiye yaklaşıp, kafasını yere doğru eğer ve bir şey yer gibi yapar. Dikkatli bir gözlemci hayvanın yemek istediğini anlar. Hayvanlar ihtiyaçları için iletişim kurabilirler. Sorun, onların verebildiği mesajları anlayamamız. Ne hayvanları ne de bilgisayarları biz insanlarla aynı duygu dağarcığını kullanmadıkları için yargılamamalıyız, kendi duygularını dışa vuramadıkları, bize ifade edemedikleri için…

Bu durum ‘Bilgisayarlar hissetmez’ iddiasına yeterli geçerlilik sağlar mı? Burada etik açıdan yanlış bir şey var mı? Bilgisayarlarla ilişkilerimizdeki bu sessiz fikri-kabul yüzünden hiç kaybımız oluyor mu? Üniversitelerdeki İnsan Bilgisayar Etkileşim dersleri yeterince techizatlı mı ya da yeterince teknik bulunmadıkları için aşağı mı görülüyor? Neden o kadar çok mühendis ve büyük sistem operatörü uzun süreli yüksek konsantrasyon gerektiren işler yüzünden acı çekiyor, bilgisayarları önünde?

Gerçekten, bilgisayarın bir yüzü yoktur. Bir memeli hayvan ya da insanınki gibi bir yüz… Gözleri, kulakları, derisi, bir başı, vücudu yoktur… Bir dakika… Bilgisayarların göremediği, işitemediği ve değemediğinden emin misiniz? Peki, tarayıcı, mikrofon, klavye ne oluyor? Bilgisayarlar insan duyularının sağladığına benzer etkileşim işlevlerine sahiptir.

‘Bilgisayarlar hisseder mi? ’sorununun hayati noktası şu: Hissetmeden düşünmek mümkün mü? Duygular olmadan muhakeme var olabilir mi? Hissetmeden matematik hakkında bile düşünebilir misiniz? Bir problem çözerken hiçbir şey hissetmediğinizi kabul etsek bile, fazla zihinsel enerjinizi bir şekilde boşaltmak zorundasınız bir şekilde… Başarı durumunuza göre gurur ya da aşağılık duygusu duyabilirsiniz.

Her şeyi sonua kadar kontrol edebilecek mesleki güce sahip olsanız bile, yazılım mühendisliği ya da hava trafik kontrolü gibi bir muhakeme işinde çalışırken çeşitli duygular duymak zorundasınız. Basit eşleştirişten kaynaklanan zevk duygusundan kaçınmanız mümkün değil[6]. Aksi takdirde, düşünmek fiilinin doğal yapısına karşı çalışıyor olabilirsiniz ve kendi akıl sağlığınıza zarar verebilirsiniz. Gerçekten Winkielman [8] “hissel yanıtların bilgi işleyişin kendi dinamiklerinden de kaynaklanabilir” “affective responses may also result from the dynamics of information processing itself.” [7] der. Yüksek akıcılık olumlu hissel tepki yaratır.[9]” der.

Duygularımız düşünüş sürecinin iç mekaniklerini etkiler. Bir bağlamdan diğerine geçiş, konu değiştiriş hızı, konsentrasyon miktarı, farklı soyutlayış seviyeleri arasında düşünüş derinliği değiştiriş, bir problemi çözmek için tutkuya (obsesyon) kapılmak, düşünüş hızı düşünürken içinde bulunduğumuz duygusal durumdan güçlü şekilde etkilenirler… “Endokrin sisteminin çeşitli salgı bezleri beyin içinde belirli yerlere etki eden hormonları kan dolaşımına salgılar, duygu ile ilgili olanlar dahil” “The various glands of the endocrine system release hormones into the bloodstream that have effects on specific sites in the brain, including those involved in emotion” der Cornelius [5] . Beynimizde farklı düşünüş hızı türleri vardır. Emniyet ile ilgili (acil durum içermeyen) işler yaparken beyinlerimiz yavaş türde çalışır, duygusal bir şey yaparken ya da hayal kurarken ise düşüncelerimiz uçmaya başlar… Düşünüş hızı çok işlemcili beynimizde bir işlemciden ötekine geçişimizi sağlar. Duygular ve doğru ruh haletini(mood) seçmek ‘düşünmek’ fiilini gerçekleştirmek için doğru işlemci bileşkesini seçişimize yardımcı olur.

Freud “düşünceler cathexlerdir- bellek izleridir basitçe- nihai ilan ediliş şekilleri hisler olarak algılanan duygular ve hisler boşaltış süreçlerine eşdeğerdir.” ” “ideas are cathexes-basically of memory traces- whilst affects and emotions correspond to processes of discharge, the final manifestations of which are percieved as feelings.” [11] der. Hinde “Araya giren bir değişken midir yoksa varsayımsal bir yapı mıdır?” “Is it an intervening variable or a hypothetical construct?” [12] ve “Duygu ve muhakemenin yakınca bağlandığı zincirler ve çevrimler cinsinden tanımlanabilir en iyisi, duygu.” der. “emotion is best defined in terms of chains or loops with emotion and cognition closely linked. “ [12] İnanıyorum ki, “Bilgisayarlar hisseder mi?” sorusu hakkında bir sonuca varmak için LINUX işletim sistemi kitaplarına bakmalıyız…

“Bir kesiş (interrupt) [13] genellikle işlemci tarafından çalıştırılan komutların akışını değiştiren bir olay olarak tanımlanır. Bu tür olaylar CPU yongası içindeki ve dışındaki donanım devreleri tarafından üretilen elektriksel işaretlere denk düşer.” “kesiş işaretleri işlemci yazılımını normal kontrol akışının dışına doğru yön değiştirtmek için bir yöntem sağlar. Bir kesiş işareti geldiğinde, CPU yapmakta olduğu işi durdurmak ve yeni bir faaliyete geçmek zorundadır.”
“An interrupt [13] is usually defined as an event that alters the sequence of instructions executed by a processor. Such events correspond to electrical signals generated by hardware circuits both inside and outside of the CPU chip.” “interrupt signals provide a way to divert the processor to code outside the normal flow of control. When an interrupt signal arrives, the CPU must stop what it's currently doing and switch to a new activity;”

Eğer Dewey’in duygu tanımına bir benzetiş yaparsak ve klavyeye bir dokunuş örneğini ele alırsak; (1) “duygu”nun ismi klavye kesişi (keyboard interrupt) (2) bir amaca yönelik davranış, işletim sisteminin kesiş muamelesi programı (interrupt handler program) (3) duygusal özelliğe sahip nesne (an object that has an emotional quality) klavyeye değen kişi, kullanıcıdır… Dewey’in “sakin ve şiddetli duygu” tanımları kesiş sisteminin yazılım ve donanım kesişlerine denk düşer… İnsan duygu sistemi ve bilgisayar kesiş sisteminin arasındaki benzerlik muhakemenin kendi doğasından kaynaklanır. Muhakeme, yaşayan madde ile bir çeşit etkileşim içine girmeden var olamaz.

Bilgisayarların kesiş altsistemi insan fizyolojisine benzer: “Hipocampus ve amygdala’nın her ikisi de duyu organlarından ve visceradan gelen girişlerle karmaşık şekilde birbirlerine bağlıdır. … Onlar, belki de lymbic sistemin başka organları da, visceranın çeşitli organlarından gelen bilgi ile duyusal bilgileri birleştirirler, ANS ve sinir sisteminin diğer kısımlarının duygu ifadesi “çıkışını” kontrol etmek için ANS’ten gelen geribesleyişte olduğu gibi…(LeDoux, 1986 Neurobiology of Emotion). [14]”
“Both the hippocampus and amygdala are complexly interconnected with inputs from both the sensory organs and the viscera. … They, and perhaps other structures of the lymbic system, appear to integrate sensory information with information from the various organs of the viscera as well as feedback from the ANS to control the “output” of emotional expression in the ANS and other parts of the nervous system (LeDoux, 1986 Neurobiology of Emotion). [14]”

Etkileşimin doğası “duyu organlarından gelen girişleri [14]” işleyen bir mekanizmanın varlığını gerektirir. Klavyeye değdiğinizde veya fareyi tıklattığınızda, bir CD’yi sürücüsüne yerleştirdiğinizde vb. bu “duyu işaretini” taşıyan donanım bağlantıları, Kesiş Ricası Hatları (interrupt request lines)
sezgisel olarak çalışır ve amygdala’ya eş değer olan kesiş kontrolörünü (interrupt controller) tetikler…
Kesiş kontrolörü işletim sistemini tetikler, duyuların duyguları tetiklediğine çok benzer şekilde. Normal muhakeme işlemi duraklar ve işletim sistemi ilgili kesiş hizmet servisini çalıştırır, Weyle’nin “duygu” “feel” ‘suna eşdeğer bir adı olan… Kesiş hizmet servisi görevini örn. diske yazmak, şeklinde yerine getirdikten sonra başarı durumu ile ilgili bilgiyi geri döndürür… Bu arada, bilgisayarın diske yazarken bir miktar titreyiş ve gürültü ile yapışı insanın “uyarılış” hali ile benzer bir durum arz eder.

Ezop’a göre “tilki erişemediği üzüme ekşi der”. Sartre “ bilinç tarafından yönlendirilen vücut, duygu aracılığı ile dünya ile ilişkilerini değiştirir, dünya özelliklerini değiştirsin diye… [15]” der. (“in emotion it is the body which, directed by consciousness, changes its relations with the world in order that the world may change its qualities. ”) Bilgisayar sağlıklı bir şekilde işleyemeyeceği bir durumla karşılaştığında, 0 ile bölüş gibi, bir bölüş istisnası ilan eder ve program çalışışını ilgili kesiş işleyicisine gönderir, anormal bir şekilde durmak yerine…

Başlangıçtaki sorumuz “Bilgisayarlar hisseder mi?” idi. Cevabım ‘Hayır!’, çünkü onlar duygularını insanlar ile aynı “duygu” tipleri şeklinde, hiddet, korku gibi dışa vuramazlar. Öte yandan, bilgisayarlar yazılım ve donanımlarında gömülü bir kesiş ve istisna sistemine sahiptirler, insanın duygusal sistemine eşdeğer olan…

Cevabım ‘Hayır!’, öyle ise neden bu makaleyi bu kadar büyük bir şevkle yazdım? Çünkü, “Bilgisayarlar hisseder mi?” sorusu yanlış… O kadar kötü olmayan bir soru “Bilgisayarlar neden bizim gibi hissetmiyor?” olabilirdi. Sonunda, bilgisayarları yapan biz değil miyiz, uzak geçmişten bize miras kalan b ilgi ve sağduyu ile… İşletim sistemlerini yaratmak için yıllarca insan emeği sarf edildi ama onun kullanıcı üzerindeki etkileri üzerinde pek o kadar değil…

Hava Trafik Kontrolü gibi büyük ve karışık sistemler mühendis ve kontrolörlerin uzun süre yüksek konsantrasyon ile çalışmalarını gerektirir. “Bilgisayarların hissedebilmelerini dilerdim,” onlarla çalışan kullanıcıları duygularını kaybetmesin diye…


Ali Rıza SARAL

Not : Bu yazının daha geniş bir halini İngilizce olarak aşağıda bulabilirsiniz:
http://largesystems-atc.blogspot.com/2007/12/do-computers-feel.html

KAYNAKLAR:
[1] Strongman, The Psychology of Emotion, syf. 1.
[2] Calhoun, Solomon, What is an Emotion, syf.152, Dewey, The Theory of Emotion.
[3] Calhoun, Solomon, What is an Emotion, syf.97, Hume, A Treatise of Human Nature.
[4] Calhoun, Solomon, What is an Emotion, syf.174, Schachter and Singer, Cognitive, Social, and Physiological Determinans of Emotional State.
[5] Cornelius, ‘The Science of Emotion’, syf. 23.
[6] Brian Bayly, The Brain’s Internal Reward from Matching, syf. 1.
[7] Pronin, Wegner, Manic Thinking, Independent Effects of Thought Speed and Thought Content on Mood.
[8] Winkielman et al., The Hedonic Marking of Processing Fluency: Implications for Evaluative Judgment, syf. 191.
[9] Winkielman et al., Affect and Processing Dynamics, Emotional Cognition, from Brain to Behaviour, syf. 120.
[10] Cornelius, ‘The Science of Emotion’, syf. 224.
[11] Calhoun, Solomon, What is an Emotion, syf. 192, Freud, The Unconscious.
[12] Strongman, The Psychology of Emotion, syf. 3.
[13] Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, Interrupts and Exceptions, syf. 96.
[14] Cornelius, ‘The Science of Emotion’, syf. 226.
[15] Calhoun, Solomon, What is an Emotion, syf.247, Sartre, The Emotions: A Sketch of a Theory.

DO COMPUTERS FEEL? (1500words)

To Dr. David B. Williams
ORAT-Illinois State University

Does computer feel? Does computer have emotions? Does computer feel joy, love, anger, fear, and others? Is the effect of the feelings of computer on its behaviour “pleasent or unpleasent, mild or intense, transient or long-lasting, and as interfering with or enhancing” [1] ? Do computers ‘experience emotions’? Do they react toward things in the environment that have such emotional qualities as frightening, cheering and saddening?

Schachter states “an emotional state may be considered a function of a state of physiological arousal and of a cognition appropriate to this state of arousal. The cognition, in a sense, exerts a steering function. Cognitions arising from the immediate situation as interpreted by past experience provide the framework within which one understands and labels his feelings. It is the cognition which determines whether the state of physiological arousal will be labelled as “anger”, “joy”, “fear”, or whatever. [4] ” Many more definitions of emotions have been made through the history beginning with 2nd cty BC, Aristotle. Descartes, Hume[3] , James, Cannon, Dewey[2], Freud, and many others.

Do computers have an ‘inner’ sentimental world? Too difficult to answer quickly… May be we should change the question a bit… Does any being except the human have feelings? Maybe the better: Do animals have feelings? Darwin writes about “most of the expressions and gestures involuntarily used by man and lower animals, under the influence of various emotions and sensations. [5]”

None of the animals can say “I feel sad.” Nevertheless, when a cat approaches a person sitting at a garden caffee, it bends its head to the ground and imitates as if it eats something. A careful observer may understand the animal needs food. Animals can communicate their needs. The problem is, most of us do not percieve the messages they are able to give. We should not judge neither animals nor computers as insensitive because they can not express themselves with the same emotional vocabulary as us the human-beings

Does this situation provide enough validity to the claim that ‘Computers do not feel’? Is there something wrong here ethically? Do we loss anything because of this silent assumption in our relations with computers? Are the Human Computer Interaction classes in many universities well equipped or even down-played as not technical enough? Why do many engineers and large system operators suffer from long duration high concentration jobs in front of their computers?

Indeed, computer does not have a face. A face like a human or even a mammal. It does not have eyes, ears, a skin, a head or a body… Wait a minute… Are you sure that computers can not see, hear or touch? What about scanner, microphone, keyboard? Computers do have many interaction functionalities similar to those that basic human senses provide.

The crux of the issue of ‘Do computers feel?’ is: Is it possible to think without feeling? Can cognition exist without emotions? Can you think even mathematics without feelings? Even if we assume that you really did not feel anything while solving a problem, you would still need to discharge the unused mental energy in some way. You might experience pride or humility depending on your success.

Even if you have the professional power to control everything, you must experience feelings when you are working in a cognitive job, like programming or air traffic control (ATC)… You can not avoid the pleasure from simple matching [6] . Otherwise, you may be working against the nature of thinking and you may hurt yourself mentally. In fact Winkielman [8] states “affective responses may also result from the dynamics of information processing itself.” ,[7], “ High fluency elicits positive affective reaction. [9] ”

The mechanics of the thinking process is affected by our emotions. Switching from one context to another, the rate of changing subjects, the amount of concentration, the depth of thinking through different abstraction levels, getting obsessed to solve the problem, thinking speed are dramatically affected by the affective situation we are in while thinking… “The various glands of the endocrine system release hormones into the bloodstream that have effects on specific sites in the brain, including those involved in emotion” says Cornelius [5] . There are different speed modes of thinking in our brains. Our brains work in a slow mode when we are doing something related with safety (not emergency) where as our ideas fly when we are doing something sentimental or dreaming… Thinking speed helps us to switch from one processor to another in our multiprocessor brain. Feelings and selecting the right mood help us to choose the right processor combination to do the ‘thinking’.

Freud states “ideas are cathexes-basically of memory traces- whilst affects and emotions correspond to processes of discharge, the final manifestations of which are percieved as feelings. [11] “ Hinde asks “Is it an intervening variable or a hypothetical construct? [12] ” and argues that “emotion is best defined in terms of chains or loops with emotion and cognition closely linked. [12] ” I believe, to reach a a conclusion on the question of “Do computers feel?” we shall have a look at the LINUX operating system books…

“An interrupt [13] is usually defined as an event that alters the sequence of instructions executed by a processor. Such events correspond to electrical signals generated by hardware circuits both inside and outside of the CPU chip.” “interrupt signals provide a way to divert the processor to code outside the normal flow of control. When an interrupt signal arrives, the CPU must stop what it's currently doing and switch to a new activity;”

If we make an analogy between Dewey’s emotion definition and work on the example of a touch to the keyboard; (1) the “feel“’s name is keyboard interrupt (2)purposeful behaviour is the interrupt handler program of Operating System (3) an object that has an emotional quality is the person who touches, namely the user. Dewey’s “Calm and Violent emotions” is analoguous to soft and hardware interrupts… The basis of the similarity between the human emotional system and the computer interrupt system arises from the very nature of cognition. Cognition can not exist without some sort of interaction with living matter.

Interrupt subsytem of computers is similar to the human physiology: “Both the hippocampus and amygdala are complexly interconnected with inputs from both the sensory organs and the viscera. … They, and perhaps other structures of the lymbic system, appear to integrate sensory information with information from the various organs of the viscera as well as feedback from the ANS to control the “output” of emotional expression in the ANS and other parts of the nervous system (LeDoux, 1986 Neurobiology of Emotion). [14]”

The nature of interaction requires the existence of a mechanism which processes “the inputs from the sensory organs [14]” When you touch the keyboard or click the mouse, press the Esc button, put a CD in the driver etc. the hardware connections, Interrupt Request Lines that carry this “sensory signal” instinctively work and trigger the interrupt controller, analogous to the amygdala…
The interrupt controller trigs the operating system very similar to the senses trigging emotions. The normal cognitive processing comes to a halt and the operating system runs the related interrupt service routine, which has a label analogous to Weyle’s “feel”… When the interrupt service routine does the task, for example writing to the disk, then returns back information about its success…
By the way, when the computer writes to the disk some trembling and noise indicate a similar situation to human “arousal”…

Aesop’s fable says; the fox tries to reach the grapes on the wine, but it can not. He says “They are sour anyway.” Sartre suggests “in emotion it is the body which, directed by consciousness, changes its relations with the world in order that the world may change its qualities. [15] ” When the computer meets a situation that it can not healthily handle, for example a division by 0, it issues a division exception and diverts the program execution to the related interrupt handler rather than abnormally ending…

Our initial question was “Do computers feel?” My answer is ‘no’ because they can not express their feelings with the same “feels” as humans, such as anger, fear. On the other hand, computers do have an embedded interrupt and exception system in soft and harware which is analogous to the human emotional system…

Then if my answer is ‘no’, why did I write this article with such an ambition? Because, the question “Do computers feel?” is wrong … A not so bad question chould be “Why don’t computers have emotions like us?” After all, it is us who have created computers with the knowledge and wisdom passed down from the distant past… Many man-years have been spent to create operating systems but relatively less on the effects of it on its users.

Large and complex systems such as ATC systems demand long duration high concentration working from engineers and controllers. I wish “Computers could feel” so that their users do not lose their feelings working with them…

Ali R+ SARAL

Ali Rıza SARAL is an Electronics Engineer(ITU), composer(ISU) and a former civil servant of EUROCONTROL (European Agency for the Safety of Air Navigation) Software Team Karlsruhe. He has cured 24 documented Operational Deficiencies of the German KUIR airspace which includes Frankfurt.

REFERENCES:
[1] Strongman, The Psychology of Emotion, p. 1.
[2] Calhoun, Solomon, What is an Emotion, p.152, Dewey, The Theory of Emotion.
[3] Calhoun, Solomon, What is an Emotion, p.97, Hume, A Treatise of Human Nature.
[4] Calhoun, Solomon, What is an Emotion, p.174, Schachter and Singer, Cognitive, Social, and Physiological Determinans of Emotional State.
[5] Cornelius, ‘The Science of Emotion’, p. 23.
[6] Brian Bayly, The Brain’s Internal Reward from Matching, p. 1.
[7] Pronin, Wegner, Manic Thinking, Independent Effects of Thought Speed and Thought Content on Mood.
[8] Winkielman et al., The Hedonic Marking of Processing Fluency: Implications for Evaluative Judgment, p. 191.
[9] Winkielman et al., Affect and Processing Dynamics, Emotional Cognition, from Brain to Behaviour, p. 120.
[10] Cornelius, ‘The Science of Emotion’, p. 224.
[11] Calhoun, Solomon, What is an Emotion, p. 192, Freud, The Unconscious.
[12] Strongman, The Psychology of Emotion, p. 3.
[13] Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, Interrupts and Exceptions, p. 96.
[14] Cornelius, ‘The Science of Emotion’, p. 226.
[15] Calhoun, Solomon, What is an Emotion, p.247, Sartre, The Emotions: A Sketch of a Theory.




Kind regards.

Ali R+ SARAL

My Address:
Ali Riza SARAL
Barbaros Mah. Sedef Sk. 13/13
Uskudar / ISTANBUL
TURKEY
Tel: 0090 (216) 474-8818
e-mail: arsaral(at)yahoo.com

DO COMPUTERS FEEL? (3000 words)

To Dr. David Williams of ORAT-ISU

Does computer feel? Does computer have emotions? Does computer feel joy, love, anger, fear, happiness, guilt, sadness, embarressment, hope and many other emotions? Is the effect of the feelings of computer on its behaviour “pleasent or unpleasent, mild or intense, transient or long-lasting, and as interfering with or enhancing” [1] ? Do computers ‘experience emotions’? Do they react toward things in the environment that have such emotional qualities as frightening, cheering and saddening?

Dewey [2] defines emotion as a composition of (1) a “feel“ (the feeling of fear, pride, humility, etc.), (2)purposeful behaviour (3) an object that has an emotional quality. He describes the so-called
expressions of emotions as ‘the reduction of movements and stimulations originally useful into attitudes”. These reductions are grouped as “servicable associated habits”, “analogous stimuli”, “antithesis”, and “direct nervous discharge”.

Hume [3] states “pride and humility, tho’ directly contrary, have yet the same object. This object is self, or that succession of related ideas and impressions, of which we have an intimate memory and consciousness”. “the passions either take place alternately; or if they encounter, the one annihilates the other, as far as its strength goes, and the remainder only of that, which is superior, continues to operate upon the mind”. “we find, that a beatiful house, belonging to ourselves, produces pride.” “a quality I discover in these passions is their sensations, or the peculiar emotions they excite in the soul, and which constitute their very being and essence. Thus pride is a pleasent sensation, and humility a painful; and upon the removal of the pleasure and pain, there is in reality no pride nor humility.”

Schachter [4] states “an emotional state may be considered a function of a state of physiological arousal and of a cognition appropriate to this state of arousal. The cognition, in a sense, exerts a steering function. Cognitions arising from the immediate situation as interpreted by past experience provide the framework within which one understands and labels his feelings. It is the cognition which determines whether the state of physiological arousal will be labelled as “anger”, “joy”, “fear”, or whatever.”

Many more definitions of emotions have been made through the history beginning with 2nd century BC, Aristotle. Descartes, Spinoza, Hume, Darwin, James, Cannon, Dewey, Schachter, Singer, Freud, Brentano, Scheler, Heidegger, Sarte and many others… Hoping to have enticed you to a wonderful journey in these precious people’s works I would like to repeat my initial question once more...

Do computers have an ‘inner’ sentimental world? Too difficult to answer quickly… May be we should change the question a bit… Does any being except the human have feelings? Maybe the better: Do animals have feelings? In his ‘The Expression of Emotions in Man and Animals,’ Darwin writes “most of the expressions and gestures involuntarily used by man and lower animals, under the influence of various emotions and sensations.” You can find “Some of Darwin’s illustrations of familiar emotional expressions in animals [5] ” in Cornelius’s book ‘The Science of Emotions’.

None of the animals can speak like us. Neither can they say “I feel sad.” Nevertheless, when a cat or a bird approaches a person sitting at a garden caffee, it bends its head to the ground and imitates as if it eats something. A careful observer or a tender person with compassion understands or feels that the animal needs food. Animals can communicate their needs. The problem is, most of us do not percieve the messages they are able to give. We do not get nervous in front of a loud speaker playing music but many get afraid when a dog says simply a’hello’ just using his very limited vocabulary and powerful vocal tract.

We should not judge neither animals nor computers as insensitive because they can not express themselves with the same emotional vocabulary as us the human-beings. In order to percieve whether computer has feelings or not its emotions have to be easily percievable by us, namely we should share more or less the same ‘feels’ with computers as in animals. We can not percieve the emotional expressions of computers easily.

Does this situation provide enough validity to the claim that ‘Computers do not feel’? Is there something wrong here ethically? Do we loss anything because of this silent assumption in our relations with computers? Are the Human Computer Interaction classes in many universities well equipped or even down-played as not technical enough? Why do many engineers and large system operators suffer from long duration high concentration jobs in front of their computers?

Indeed, computer does not have a face. A face like a human or even a mammal. It does not have eyes, ears, a skin, a head or a body… Wait a minute… Are you sure? Are you sure that computers can not see, hear or touch? What about scanners, microphones, keyboard, power-on button? Don’t they provide the similar functionality as eyes, ears, skin… Computers do have many functionalities that basic human senses provide.

Computer has a head, that you can look into its face, namely the monitor, or a body that supports its being, namely the case or box that contains the mainboard. The problem is that they do not appear to our eyes as we are conditioned to see as a head or a body… Microsoft has invented a solution to this problem… They have a sweet doggy appearing at the side of the directory search. The doggy itches the ground or searches something in a book… It can express curiosity because it has a face… Microsoft uses the dog image to express the emotions of the computer during directory search. It has a healing effect on the user… It makes the user smile and lose concentration for a short while…

* * *

The crux of the issue of ‘Do computers feel?’ is: Is it possible to think without feeling? Can cognition exist without emotions? The pith of the matter is this. Can you think even mathematics without feelings? Can you study mathematics without feeling anything? Even if we assume that you really did not feel anything while solving a problem, but after that you will need to discharge the unused mental energy in some way. Besides, you will experience pride or humility depending on your success.

Even if you have become a great ‘professional’ who has the power to control everything, you must experience feelings when you are working in a cognitive job, like programming or air traffic control… [6] “ A spasm of pleasure can arise without any external stimulus, purely by operations within one’s own brain. For example, a person who has just woken from sleep may have an insight and experience a spasm of pleasure arising from it. The insight is cognitive, with neural correlates largely in the cortex, whereas the spasm of pleasure, physiologically quite separate, is largely subcortical.” As a finite human being you can not avoid the pleasure from simple matching [6] . Otherwise, you may be working against the nature of thinking and you may hurt yourself mentally.

In fact, even the thinking process itself creates emotions without any external inputs and it does so independent from the things you think [7] . Winkielman [8] et al. states “affective responses may also result from the dynamics of information processing itself.” “Fluency with which one can extract information from the presented stimulus is hedenocially marked. High fluency elicits positive affective reaction.” “ease of processing is consistently associated with more positive evaluations. [9] ”

Our feelings about our thinking process helps us to complete missing data or speed up our thinking process. “the fluency signal may be connected to affect by indicating the state of the ongoing processing operations. Thus, high fluency may indicate progress toward successful recognition and trigger positive affect due to the reinforcing value of maintaininfg the current, successful cognitive strategy and the ability to free resources for other tasks. [9] ” The link between the metacognitive system and the affect system is further supported by neuroimaging and elektropysiological data [9] .
It has been proved that brain’s parts related to metacognitive regulation and emotion processes or emotional control are the same [9].

The mechanics of the thinking process is affected by our emotions. Switching from one context to another, the rate of changing subjects, the amount of concentration, the depth of thinking through different abstraction levels, getting obsessed to solve the problem, thinking speed are dramatically affected by the affective situation we are in while thinking… “The various glands of the endocrine system release hormones into the bloodstream that have effects on specific sites in the brain, including those involved in emotion” says Cornelius [5] . A careful observer can notice that there are different working speeds of thinking in our brains. Our brains work in a slow mode when we are doing something related with safety or security(but not related to emergency) where as our ideas fly when we are doing something sentimental or dreaming… Thinking speed helps us to switch from one processor to another in our multiprocessor brain. Feelings and selecting the right mood help us to choose the right processor (or combination of processors) to do the ‘thinking’.

Let’s ask another question from the other side… Are feelings only a by-product of the thinking process, cognition? No. If you please read Schachter’s definition at the beginning of this article once more, you will notice that ‘physiological arousal’, trembling, increase in the blood temperature, heart rate etc. are also part of emotions. Also the instincts play a vital role besides the cognition element.
By observing human behaviour we can only notice that there is an intimate relation between emotion and cognition. We can go further by enhancing our sometimes ampirical experiments with today’s advanced neurological imaging techniques…

* * *

The main problem is to define ‘What is cognition?’ and ‘What is emotion?’ inorder to understand the character of the relation between them… Freud states “ideas are cathexes-basically of memory traces- whilst affects and emotions correspond to processes of discharge, the final manifestations of which are percieved as feelings. [11] ” He also adds “Even within the limits of normal life we can recognize that a constant struggle for primacy over affectivity goes on between the two systems Conscious and Unconscious, that certain spheres of influence are marked of from one another and that intermixtures between the operative forces occur. [11 ”

Hinde asks “the common view of emotion as a state has many attendant problems. Is it a motive or a trait? Is it an intervening variable or a hypothetical construct? [12] ” and argues that “emotion is best defined in terms of chains or loops with emotion and cognition closely linked. [12] ”
Strongman states “Emotions has sometimes been analysed as an intervening variable, anchored to observable stimuli and responses.”

I believe, any person who has studied data structures and computer architecture, can come to a similar conclusion after reading this article upto this point and maybe reading the references the better… Namely, a conclusion on the question of “Do computers feel?” Let’s have a look at the LINUX operating system books…

“An interrupt [13] is usually defined as an event that alters the sequence of instructions executed by a processor. Such events correspond to electrical signals generated by hardware circuits both inside and outside of the CPU chip.” “As the name suggests, interrupt signals provide a way to divert the processor to code outside the normal flow of control. When an interrupt signal arrives, the CPU must stop what it's currently doing and switch to a new activity;” “Each hardware device controller capable of issuing interrupt requests has an output line designated as an IRQ (Interrupt ReQuest). All existing IRQ lines are connected to the input pins of a hardware circuit called the Interrupt Controller, ”
“The Intel 80x86 microprocessors issue roughly 20 different exceptions. The kernel must provide a dedicated exception handler for each exception type. For some exceptions, the CPU control unit also generates a hardware error code and pushes it in the Kernel Mode stack before starting the exception handler.”

If we make an analogy between Dewey’s definition of emotion and work on the example of a touch to the keyboard; (1) the “feel“ (the feeling of fear, pride, humility)’s name is keyboard interrupt
(2)purposeful behaviour is the interrupt handler program of the LINUX Operating System (3) an object that has an emotional quality is the person who touches, namely the user. Freud states “certain spheres of influence are marked of from one another” in my above quotation from his article ‘Unconscious’. Which is analogous to “As the name suggests, interrupt signals provide a way to divert the processor to code outside the normal flow of control.” in my quotations from LINUX manuals. Dewey’s classifications of emotions have many similarities to interrupts and exceptions which also have different types. Dewey’s “Calm and Violent emotions” vs. soft and hardware interrupts… It is impossible to tell all the similarities between the interrupt processing subsystem of the computer operating system including the hardware architecture and the human emotion processing.

The basis of the similarity between the human emotional system and the computer interrupt system arises from the very nature of cognition. Cognition can not exist without some sort of interaction with living matter. The ideas in this article can not exist without being written on some sort of interaction media, may be a newspaper the better. By that, the journey of emotions begin, the reader holds the newspaper, maybe smells it, reads it and likes or even loves an article and binds to the newspaper with devotion…

Cornelius [14] outlines the results of recent neurophysiology research in his book “The Science of Emotion” in 10 pages. His book could outline the rest of all the past studies in 210 pages…
So if you want to have the answer of our question with his style in terms of physiology: “Both the hippocampus and amygdala are complexly interconnected with inputs from both the sensory organs and the viscera. They also serve as the origin of projections that connect them with Autonomic Nerve System as well as higher cortical areas. They, and perhaps other structures of the lymbic system, appear to integrate sensory information with information from the various organs of the viscera as well as feedback from the ANS to control the “output” of emotional expression in the ANS and other parts of the nervous system (LeDoux, 1986 Neurobiology of Emotion).”

The nature of interaction requires the existence of a mechanism which processes “the inputs from both the sensory organs. [14]” When you touch the keyboard or click the mouse, press the Esc button, put a CD in the driver etc. the hardware connections, Interrupt Request Lines carry this “sensory signal” instinctively work and trigger the interrupt controller, analogous to the amygdala…
The interrupt controller trigs the operating system very similar to the senses trigging emotions. The normal cognitive processing comes to a halt and the operating system runs the related interrupt service routine, which has a label analogous to Weyle’s “feel”… When the interrupt service routine does the task, for example writing to the disk, then returns back information about its success…
By the way, when the computer writes to the disk some trembling and noise indicate a similar situation to human “arousal”…

Aesop had told once upon a time a fable about the fox and the grapes; the fox tries to reach the grapes on the wine, but it can not. He says “They are sour anyway.” Sartre suggests “In short, in emotion it is the body which, directed by consciousness, changes its relations with the world in order that the world may change its qualities. [15] ” Isn’t it the same with computers? When the computer meets a situation that it can not healthily handle, for example a division by 0, it issues an exception of Divide error and diverts the program execution to the related interrupt handler rather than abruptly stopping…

Our initial question was “Do computers feel?” My answer is no because they can not express their feelings with the same “feels” as humans, such as joy, love, anger, fear, happiness, guilt, sadness, embarressment, hope usw. On the other hand, computers do have an embedded interrupt and exception system in both soft and harware which is analogous to the human limbic system…

Then if my answer is no, why did I write this article with such an ambition? Because, “Do computers feel?” is a wrong question… The right question should be “Why don’t computers have emotions like us?” It is us who have created computers together with the knowledge and wisdom passed to us from the distant past… We are the human-being who spend many man-years to create the operating systems but think very little on the effects of it on its users.

Large and complex systems, air traffic control systems and similar jobs demand long duration high concentration working from today’s engineers and system operators. Not to mention, the new growing engineers, toddlers who spend many hours on their computer games everyday… Have you noticed every soldier killed on the computer game, has to die convincingly, thus takes some time so that the kid’s concentration relaxes a bit in the mean time…

On the Christmas of 2008, I wish “Computers could feel” so that their users do not lose their feelings working with high concentration for long hours…

Ali R+ SARAL

Ali Rıza SARAL is an Electronics Engineer(ITU) and a former civil servant of EUROCONTROL Software Team Karlsruhe. He has cured 24 Operational Deficiencies of the German KUIR airspace which includes Frankfurt.

REFERENCES:
[1] Strongman, The Psychology of Emotion, p. 1.
[2] Calhoun, Solomon, What is an Emotion, p.152, Dewey, The Theory of Emotion.
[3] Calhoun, Solomon, What is an Emotion, p.97, Hume, A Treatise of Human Nature.
[4] Calhoun, Solomon, What is an Emotion, p.174, Schachter and Singer, Cognitive, Social, and Physiological Determinans of Emotional State.
[5] Cornelius, ‘The Science of Emotion’, p. 23.
[6] Brian Bayly, The Brain’s Internal Reward from Matching, p. 1.
[7] Pronin, Wegner, Manic Thinking, Independent Effects of Thought Speed and Thought Content on Mood.
[8] Winkielman et al., The Hedonic Marking of Processing Fluency: Implications for Evaluative Judgment, p. 191.
[9] Winkielman et al., Affect and Processing Dynamics, Emotional Cognition, from Brain to Behaviour, p. 120.
[10] Cornelius, ‘The Science of Emotion’, p. 224.
[11] Calhoun, Solomon, What is an Emotion, p. 192, Freud, The Unconscious.
[12] Strongman, The Psychology of Emotion, p. 3.
[13] Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, Interrupts and Exceptions, p. 96.
[14] Cornelius, ‘The Science of Emotion’, p. 226.
[15] Calhoun, Solomon, What is an Emotion, p.247, Sartre, The Emotions: A Sketch of a Theory.

Saturday, December 08, 2007

IEEE/EIA 12207 YAZILIM YAŞAM-DÖNGÜSÜ STANDARDINDA SÜREÇLERİN BİRBİRLERİ İLE İLİŞKİLERİ



IEE/EIA 12207.0 Koşul 1-Kapsam.
Amaç
: Bu uluslararası standart yazılım yaşam-döngüsü standartları için iyi-tanımlı deyimler kullanarak yazılım endüstrisi tarafından zemin alınabilecek ortak bir çerçeve-kurar. Yazılım ürünlerinin tedarik, geliştirim, işletim ve bakımı sırasında ve kendi-başına yeterli bir yazılım ürünü, ve yazılım hizmeti, ve yazılım içeren bir sistemin alımnda uygulanışı beklenen süreçler, faaliyetler, ve görevler içerir. Yazılım sabit donanımın yazılım kısmını içerir.

Koşul 4- Bu Uluslararası Standardın Uygulanışı
Bu standart bir yazılımın yaşam-döngüsü sırasında yapılışı gereken faaliyetleri bei ana süreç, sekiz destekleyici süreç, ve dört kurumsal süreç olarak gruplar. Her süreç bir dizi faaliyete; her faaliyet bir dizi göreve bölünür.

Beş Ana Süreç
Alım
Bir sistem, yazılım ürünü ya da yazılım hizmeti alan Alıcı’nın faaliyetlerini tanımlar.
Tedarik
Alıcıya bir sistem, yazılım ürünü ya da yazılım hizmeti sağlayan tedarikçi’nin faaliyetlerini tanımlar.
Geliştirim
Yazılım ürününü tanımlayan ve geliştiren kuruluş olan geliştirici’nin faaliyetlerini tanımlar.
İşletim
Bir bilgisayar sistemini kullanıcıları için gerçek ortamda işletim hizmetini sağlayan kuruluş olan işletici’nin faaliyetlerini tanımlar.
Bakım
Yazılım ürününü güncel ve işletim açısından verimli tutmak için bakım hizmetini sağlayan bakımcı’nın faaliyetlerini tanımlar. Bu süreç yazılım ürünün başka ortamlara nakli ve kullanımdan çıkarılışını kapsar.


12207’nin Yaşam-Döngüsü süreçlerinin ilişkileri:
YÖNETİM
TEDARİK
İŞLETİM
BAKIM
GELİŞTİRİM
ALIM
BELGELEYİŞ
ORTAK GÖZDENGEÇİR
DESTEK SÜREÇLERİ
KUR
KAL
PROB. ÇÖZÜMÜ
DENETLEYİŞ
DOĞRULAYIŞ
ONAYLAYIŞ
sözleşme
ALT YAPI
EĞİTİM
İYİLEŞTİRİM
KURUMSAL SÜREÇLER


Yaşam-Döngüsünün Dört Destek Süreci
Belgeleyiş
Bir yaşam-döngüsü sürecinin ürettiği bilgilerin kayıdı için yapılan faaliyetleri tanımlar.
Kurulum-Dağılımı Yönetimi
Kurulum-dağılımı yönetimi (configuration management) süreçlerini tanımlar.
Kalite Güvencesi
Yazılım ürünleri ve süreçlerinin belirlenmiş şartlarına uyumlu oldukları ve lurulu planlarına bağlı kaldıklarını nesnellikle güvence altına almak için yapılacak faaliyetleri tanımlar. Birleşik gözden geçirimler, Denetimler, Doğrulayış ve Geçerli Kılış(Onay) Kalite Güvencesi teknikleri olarak kullanılabilir.
Doğrulayış
Yazılım ürünleri ve servislerinin yazılım projesine bağlı olarak değişen derinlikte doğrulanışı (alımcı, tedarikçi, veya bağımsız taraf) için yapılacak faaliyetleri tanımlar.
Geçerlilik Kontrolü
Yazılım projesinin yazılım ürünlerini doğrulamak için (alımcı, tedarikçi, veya bağımsız taraf) yapılacak faaliyetleri tanımlar.
Birleşik Gözdengeçiriş
Bir faaliyetin durumu ve ürünlerini değerlendirmek için yapılan faaliyetleri tanımlar. Bu süreç, bir taraf(gözden geçiren)’ın diğer tarafı(gözden geçirilen) denetlediği durumda herhangi iki tarafça birleşik bir değerlendiriş şeklinde uygulanabilir.
Denetleyiş
Şartname, plan ve sözleşme’ye uyumluluğu belirleyen faaliyetleri tanımlar. Bir taraf(denetleyici) diğer bir tarafın(denetlenen) yazılım ürünlerini ve faaliyetlerini denetler. Bu sürece herhangi bir tarafça başvurulabilir
Sorun Çözümü
Geliştirim, işletim, bakım veya diğer süreçlerin uygulanışı sırasında bulunan sorunların, tabiatı ve kaynağı ne olursa olsun, tahlili ve halli için bir süreç tanımlar.

Yaşam-Döngüsünün Dört Kurumsal Süreci
Yönetim
Bir yaşam-döngüsü sürecinin uygulanışına ilişkin proje yönetimi de dahil olmak üzere yönetimin temel faaliyetlerini tanımlar.
Altyapı
Bir yaşam-döngüsü sürecinin altında yatan yapının kuruluşu için yapılan temel faaliyetleri tanımlar.
İyileştirim
Bir kuruluşun (bir başka sürecin alımcı, tedarikçi, geliştirici, işletici, bakımcı, veya yöneticisi) yaşam-döngüsü süreçlerini kurmak, ölçmek, kontrol etmek, ve iyileştirmek için icra ettiği temel faaliyetleri tanımlar.
Eğitim
Yeterli eğitime sahip personel sağlamak için yapılan faaliyetleri tanımlar.



Kaynaklar:
1. Singh, Raghu, "Introduction to International Standard ISO/IEC 12207: Software Life Cycle Processes," tutorial slides, Oct. 2, 1995.
2. Jim Wells, Software Engineering Process Office at SPAWAR Systems Center San Diego

Monday, November 26, 2007

BOŞLUK BIRAKMAK

Medeni tavırlar boşluk bırakmak ustalığına dayanır.

Bir kapıdan geçerken başkasına ya da bir bayana bizden önce geçebilmesi için boşluk bırakıp yol vermek ya da yaşlı bir insana otobüste yer vermek…

Konuşurken hiç kesintisiz ve yüksek sesle değil, karşımızdakinin gerek gördüğünde araya girebilişi için şans tanıyacak şekilde, zaman zaman biraz yavaşlayarak hatta durarak ve onu duyabileceğimiz şekilde hafifleyerek…

Otomobil kullanırken önümüzdeki şoförün hatalarına karşı öndeki araba ile bizimki arasında mesafe bırakarak…

Günlük hayatta ilişkilerimizde insanlara hata yapmak şansı tanımak için gerekli mesafe ve zararı telafi edecek maddi manevi payı bırakarak…

Diş fırçalarken diş macununun etkileyişi için zaman tanımak… Banyoda saç şampuanını sürüp köpürttükten sonra beklemek… Herhangi kimyasal bir işlemin gerçekleşişi için zaman tanıyarak…

İnsanlara davranışlarını açıklamaları ya da düzeltişleri için zaman tanımak…

Kendi bilinçaltımıza bilerek çözemediğimiz problemleri çözmek, ya da hatırlayamadığımız şeyleri bulup getirmek için bir an zaman tanımak, yaratıcılığımızı harekete geçirmek için sezgilerimize şans tanımak…

Kendimize zaman tanımak…

Medeni tavırlar yol vermek, yer bırakmak, mesafe bırakmak, zaman tanımak, pay bırakmak gibi nice boşluk bırakmak ustalıklarına dayanır.

Medeniyet ile boşluk bırakmak arasındaki ilişki yalnız soyut anlamda değil elle tutulur fiziki anlamda da geçerlidir, bir yaşlıya yer vermek gibi… Bunun bir başka örneği şehir planlamasında görülür. Roma ve Istanbul şehirlerini karşılaştırdığınızda: Her ikisi de Roma imparatorluğunun damgasını taşır. Bazı binalar hem işlevsel olarak hem de stil olarak aynıdır nerede ise… Günümüzde bu iki şehir karşılaştırıldığında ise, her ikisinde de eski şehirlere özgü benzer yapılaşmak görülür. Ancak günümüz Roma’sında meydanların alabildiğine genişliği şehrin o eski yapısına nefes aldıracak ‘boşluklara’ sağlar.

Bizden bir de olumlu örnek, belki pek o kadar kıymetini anlayamadığımız zaman zaman… Rumeli göçmenlerinde vardır ama sanıyorum bu adet Türk kültüründe yaygındır… Yemek yerken masadan yere kaşık düşerse ‘Yolda aç var’ denir… Masadaki her şeyin silip süpürülmemesini ve gelebilecek Tanrı misafirine de bir pay ayrılması gerektiğini hatırlatan ne güzel bir geleneğimiz… Belki hiç anlamını düşünmeden taşıya geldiğimiz…

Neden boşluk bırakmak?

Çünkü sınırlıyız… Algılayışımız sınırlı… Düşünüşümüz sınırlı… Hatırlayışımız sınırlı… Kavrayışımız sınırlı… Karar verişimiz sınırlı… Tepki gösterişimiz sınırlı…

Maddi manevi varlığımız hem miktar olarak, hem zaman olarak, hem kalite olarak, hem güzellik olarak, hem de doğruluk olarak sınırlı…İ

şte Miller 1956’da yazdığı TILSIMLI SAYI YEDİ, ARTI EKSİ İKİ:BİLGİ İŞLEYİŞ KAPASİTEMİZDE BAZI SINIRLAR adlı çığır açan makalesinde bu gerçeğe işaret ediyordu(The Magical Number Seven, Plus or Minus Two…). Şöyle bir düşününüz, kullandığımız bütün araçları, cihazları… Çamaşır makinası, ocak, buzdolabı, ütü, otomobil gibi… Yedi artı eksi iki kuralının nasıl titizlikle uygulandığını görürsünüz cihaz tasarımında…Ya da bu kuralın uygulanmadığı durumlarda, cep telefonları, TV kumandalarının nasıl insanı aşan, zorlayan, çoğu zaman sinir bozan etkileri olduğunu…

Miller bu makalesinde insan değerlendirişinde, dikkat edişinde, hatırlayışında, alglayışında ‘öğrenerek ya da sinir sistemlerimizin tasarımından kaynaklanan’ bir yedi artı eksi iki nesne sınırı olduğunu yazmıştı. Kısaca, yaklaşık en çok 6 – 7 nesneyi aynı anda görüp izleyebiliriz. Belirli koşullarda yapılan deneylerde en çok 6 – 7 şeyi hatırlayabiliriz, gibi…

Miller kuralı özellikle bilgisayar arayüzlerinin tasarımında kullanılır. Örneğin, dikkat edilirse rahat kullanılan programlarda, menu maddeleri hem yatay olarak hem de düşey olarak 6-7’yi geçmez. Geçtiği programlar vardır ama onları kullanan insanlar genel kullanıcılar değil daha çok uzman kişilerdir, örneğin Rational ile Lotus’ü karşılaştırabilirsiniz… Bir de donanımsal örnek, evinizdeki ocak-fırın ile bir pilotun önündeki kumanda panelellerini karşılaştırınız…

Bilgisayar arayüzlerinde çoğu zaman örneğin menu maddeleri 6 – 7’den çoktur. O zaman gruplamak(clustering) yoluna gidilir. Örneğin print ile ilgili menu maddeleri tek bir print menüsünde gruplanır… Miller sözkonusu makalesinde gruplamağı yeniden kodlayış(recoding) olarak adlandırır. ‘Giriş bilgisini gruplayışın ya da girişler dizisini birimlere ya da öbeklere(chunk) ayırışın önemini anlamalıyız.’ Mors kodu öğrenen bir insan ilk önce her dit – dat’ı ayrı bir bütün olarak algılar. Bir süre sonra onları harf olarak duymağa başlar. Daha sonra giderek harfleri de aşar ve doğrudan kelimeleri duymağa başlar… İletişim teorisi ağzında buna yeniden kodlamak denir.Printle ilgili bütün menüleri koymak yerine yalnız print anamenü maddesini koymak insanın yeniden kodlama eğilimine paraleldir.

Tabii, sınırlar yalnız algılamak, izlemek, hatırlamak, karar vermek konusunda değil…

Gönül ister ki, şimdi E5’e çıkıp hiç durmadan 150 ile gazlayabilelim… Ya da 200 ile, 300, 350 ile gazlayabilelim… Ya da akşam 5 bardak su ya da içen için rakı içebilelim… Hatta 9 bardak, dahası 12, 15, 20 bardak… İyice azdım… Denize gittiğimizde, hiç nefes almadan, bir saat suyun altında kalabilelim… Biraz da entel takılalım… Kitapçıya gittiğimizde, beğendiğimiz bir kitabı, en ufak ayrıntısına kadar, oracıkta ayakta 15 dakikada, sonuna kadar okuyabilelim… Zaman biraz tehlikeli gerçi ama… Zamanı istediğimiz hızda yaşayabilelim… İstediğimiz zaman uzatalım, istediğimiz zaman kısaltalım…

Son olarak, istediğim kadar uzun yazabileyim ama okuyucularım bir bakışta yazının uzunluğuna ve yoğunluğuna göre kapasitelerini ayarlayarak zevkle yazılarımı okuyabilsinler…

Evet, yazımın başında belirttiğim gibi,

Medeni tavırlar boşluk bırakmak ustalığına dayanır.

Çünkü sınırlıyız.

Çünkü var olan herşey sınırlı.

Evet, medeni tavırlar boşluk bırakmak ustalığına dayanır.

Çünkü medeniyet sınırlar içinde, sınırlara karşın ve gerektiğinde onları var ya da yok kabul ederek yaşamak ustalığıdır.

KISACA IEEE/EIA 12207 YAZILIM YAŞAM DÖNGÜSÜ SÜREÇLERİ STANDARDI NE YAPAR?

IEEE/EIA 12207 ABD Savunma Bakanlığı tarafından 1998’de kabul edilerek MIL-STD-498’in yerini aldı. Üç kısım halinde düzenlenmiştir:

IEEE/EIA 12207.0, Bilgi Teknolojisi Standardı-yazılım yaşam-döngüsü süreçleri. ISO/IEC 12207’yi özgün şeklinde ve altı eki ile birlikte içerir.

IEEE/EIA 12207.1, Bilgi Teknolojisi Standardı - yazılım yaşam-döngüsü süreçleri –Yaşam döngüsü verileri. Yaşam-döngüsü verilerinin kayıt edilişi için ek yönlendirim sağlar.

IEEE/EIA 12207.2, Bilgi Teknolojisi Standardı - yazılım yaşam-döngüsü süreçleri –Gerçekleştirim değerlendirişleri. Yaşam-döngüsü süreçlerinin ABD’de uygulanışından çıkartılan ekleyişler, seçenekler, ve açıklayışlar sağlar.

ISO/IEC 12207 Ne Yapar?ISO/IEC 12207 tüm yazılım yaşam-döngüsünün önde gelen süreçlerini, bunların birbirleri ile arayüzlerini ve etkileşimlerini düzenleyen üstdüzey ilişkilerini anlatır. Şekil 1 (fSingh [1]’den) onun içeriğini özetler.


Şekil 1 kuruluşların (genellikle) bir sözleşmenin parçası olan projeler aracılığı ile yazılım temin ettiklerini ve alım, tedarik, geliştirim, işletim ve bakım ile ilişkili faaliyet ve görevler yaptıklarını gösterir. Bunu yaparken, projeler birleşik gözden geçirimler, denetimler, kalite güvencesi, ve doğrulayış ile geçerlik kontrolü süreçlerini de gerçekleştirirler. Aynı zamanda belgeleyiş, kurulum-dağılımı yönetimi, sorun çözümü ve ihtiyaç uyarlayışı süreçlerini de uygularlar. Bu arada, kuruluş gerekli geliştirim altyapısını ve proje elemanlarına eğitim sağlayarak ve projenin yazılım sürecini iyileştirerek projeyi yönetir. Bu alt-parça süreçlerin ve Şekil 1 ‘deki ilişkileri ISO/IEC 12207 teknik içeriğinin kuşbakışı bir özetini sağlamaktadır.

Şekil 1. ISO/IEC 12207’nin teknik içeriği.

Şekil 2. Yazılım Yaşam-döngüsü Süreçlerinin Farklı Bakışaçılarından Görünümleri.

Şekil 2 (Singh [1]’den ) süreçlerin bir çok farklı bakış açısını göstermektedir. Şekil 2’nin ileri sürdüğü gibi alımcılar ve tedarikçiler yazılım geliştirimini sözleşme bakış açısından görürler. Bir alımcı ve bir tedarikçi arasında yazılım tedarik etmek amacı ile bir sözleşme ilişkisi oluştuğunda tedarik süreci başlar. Sözleşmenin koşullarına bağlı olarak, tedarik süreci yeni yazılım geliştirmek için geliştirim sürecini kullanabilir, yazılım işletim hizmetleri sağlamak için işletim sürecini, veya yazılımı onarmak ve iyileştirmek için bakım sürecini… Bu şekil aynı zamanda işleticiler ve kullanıcıların, geliştirici ve bakımcıların, ve diğerlerinin yaşam-döngüsüne ilişkin kendi ayrıcalıklı bakış açılarına sahip olduklarını gösterir.

Kaynaklar:
1. Singh, Raghu, "Introduction to International Standard ISO/IEC 12207: Software Life Cycle Processes," tutorial slides, Oct. 2, 1995.
2. Jim Wells, Software Engineering Process Office at SPAWAR Systems Center San Diego

Monday, November 19, 2007

“MÜDÜRÜM, DAYANAMIYORUM, BENİ HASTAHANEYE GÖTÜRÜN!”

VÜCUT BULUŞ ve KULLANICI ARAYÜZÜNÜN İNSAN SAĞLIĞINA ETKİSİ
(EMBODIMENT and EFFECT of USER INTERFACE on the HUMAN HEALTH)

Ali Rıza SARAL

Hiç kimse acı çekmek istemez! Hiç kimse yaptığı iş nedeniyle hastahaneye düşmek istemez. Yine de her yıl dünyanın her yerinde çok sayıda itfaiyeci, doktor, asker, mühendis, öğretmen, hava trafik kontrolcüsü müdürüne bu yazının başlığındaki sözleri söylemek zorunda kalır. BBC’de ilk jet motorunu yapan Whitney ile ilgili bir dizi seyretmiştim. Whitney’in bir yaştan sonra aktif mühendisliği bıraktığını anlatırken ‘her başarılı mühendisin karşılaştığı stress vb. aşırı zorlanmaların psikolojik sağlığını bozduğunu’ ifade etmişlerdi. Üstelik Whitney makine mühendisi idi ve daha o zamanlar Yazılım Mühendisliği yoktu…

Maastricht Hava Trafik Kontrolü merkezinde ~3oo Hava Trafik Kontrolörü çalışır. Her yıl %1’i zihinsel sağlık problemleri ile iş göremez hale gelir. EUROCONTROL’ün doktoru Herr VERMEIREN’e göre hastalanan kişiler işe başlamadan önce sağlık kontrolünden geçerler ve başlangıçta tam sağlıklıdırlar. Benzeri bir durum Yazılım mühendisleri ve öğrencileri için geçerli. Bir Bilgisayar bölümü Başkanı tanıdığım, zihinsel sorunların ne kadar sık karşısına çıktığından yakınmıştı…


Bazen işi başarmak her şeyden önemli olabilir… Örneğin askerlik, itfaiye gibi fedakarlık ya da kahramanlık gerektiren durumlar… Bazen risk alınmadığı halde bakarsınız ekibinizde insanlar hastalanmağa sonra da intihar etmeğe ya da kasıtlı olmayan trafik kazaları geçirmeğe başlarlar…
Hiç kimse acı çekmek istemez! Fakat işin bireysel ya da ekip olarak yapılış şekli, yürütülüş mantığı tatsız sonuçlar doğurabilir, mühendislikte…


Her insanın genel bir kişiliği var. Eğer dikkatli bakılırsa bu kişilik aslında birden çok kişiliğin bileşkesinden oluşur. Baba, mühendis, oğul, arkadaş, vatandaş, ahbap, oynadığımız tüm rollere ait, bazan benzer bazan çok farklı kişilikler… Aynı kişinin mühendisliği ile yöneticiliği bile farklı kişilikler taşıyabilir… Sorun bunların varlığı değil yeri ve zamanı, yanlış bağlamlarda etkilerinin devam edişidir.


Bir eş hem kendisinin hem de eşinin ondan beklediği, ona aktardığı, onunla paylaştığı herşeyin, kısaca kendisinin ve eşinin kafasında var olan eş oluş bilincinin vücut buluşudur (embodiment). Bir mühendis te öyle… Ona okulda öğretilen, sonra iş hayatında kazandıklarının eklendiği mühendisliğe ilişkin her şeyin bir vücut buluşudur mühendis.


“Vücut buluş bir vücut içinde yaşamak süreci ya da durumudur.” Her bir vücut buluşun canlı bir nesneye ait olması gerekmez… Var olan her nesne bir vücuda sahip olabilir ve böylece belirlenebilir bir kimliğin vücut buluşu olabilir… İnsanın farklı bağlamlarda farklı kişiliklere sahip oluşu, bir nesnede birden çok şeyin vücut bulduğu durumdur. Bisiklete binen insan durumunda ise iki nesnenin oluşturduğu bütünlük, tek bir vücut buluşun, bisiklete binen insanın gerçekleşişidir. (Bkz 2)


Önemli bir sorun mühendisin mesleki olan kişiliğinin mesai bitiminde iş yerinde kalmayışı… Kalamayışı… Hatta proje planlayışında yapılan ‘hatalar’ yüzünden çok uzun sürelerle gece geç saatlere kadar çalışılışı… Mühendisin bir çok kişilikleri arasında var olan doğal dengenin bozuluşu…


Aslında bu ve benzeri sorunlar yalnız mühendislere özgü değil. Örn. bir cerrah olan GATTI(Bkz 3), cerrahi araçların giderek cerrahın gözünde saydamlaştığını ve görünmez hale gelip neredeyse onun vücudunun doğal bir parçası haline geldiğini yazar. GATTI makalesinde vücut buluş deyimini vücudumuzun sınırlarının yapısı olarak, ya da çevremiz ile temasımızı düzenleyiş şeklimiz olarak tanımlar. Zaman içinde sabit kalan bir vücudumuz yoktur, ya da dünya ile iletişimimizi yalnız çıplak vücudumuz ile kurmayız. Fakat, çok sıklıkla uygun arayüzler kullanırız, vücudumuzun sınırlarını değiştiren ve böylece bizim ile çevremiz arasındaki etkileşimi değiştiren arayüzler…


GATTI bu makalesinde mesleki amaçlı araç kullanımı ile ilgili olarak şu önemli uyarıyı yapar: “Alteration of our embodiment has strong consequences both on our sense of our self (Clark, 2003) and on the mechanisms of collecting and processing of information. A change in the structure of the boundaries of our body means a change in the structure of the boundaries of our mind”. yani; “Vücut buluşumuzun değiştirilişi hem kendi benlik duygumuz (Clark, 2003) hem de bilgi toplayış ve işleyiş mekanizmalarımız üzerinde güçlü sonuçlar doğurur. Vücudumuzun sınırlarının yapısında ki bir değişim zihnimizin sınırlarının yapısında bir değişim anlamına gelir”. GATTI bu makalesinde ‘laparoscopic video-surgery’yi cerrahide vücut buluşun değişime uğradığı bir durum olarak ele alır.


Mesleki amaçlarla kullandığımız araçlar, ustalığımız arttıkça vücudumuzun doğal bir parçası haline gelir, ama bu durum zihinsel yapımızda da küçümsenmeyecek değişimlere neden olabilir. Son on yılda, Yazılım mühendislerinin kullandıkları mesleki araçlar, RAD – Rapid Application Development Tool ya da IDE’ler - Integrated Development Environment gibi araçlar, çeşitli framework, kütüphaneler, DLL’ler vb. bir çok olanaklar açtı. Örneğin IBM Rational ’in çalışma masası ortamı bir çok olanaklara sahip. Bu araçların tasarımında, Miller’in yedi artı eksi iki kuralı çoğu kez kenara bırakılıyor… Karmaşıklığı yenmek için görsel olanaklar, spatial-konumsal boyutta sonuna kadar zorlanıyor… Ekranlar, kullanıcının seçeneğine bağlı olarak alabildiğine çeşitli parametrelerle doldurulabiliyor…


Yazılım mühendisi yalnız görsel algılayış açısından, büyük workstation’lar tarafından zorlanmakla kalmıyor… Yazılımcının uğraştığı programların karışıklığı ve boyutu da çok artmış durumda… Bu güçlüklerle baş edebilmek için yazılımcı görsel imkanlardan başka bir işletim sistemi gibi TODO, NOTES vb. Loglar, günlük işlerle ilgili küçük stack’ler, neyi ne kadar sürede yaptığının kayıtlarını tutmak durumunda… Son 1-2 senedir IDE’lere bu tür hazır log imkanları eklenmeğe başlandı. ISO12207, MIL498 gibi yazılım yaşam-döngüsü standartlarının yanlış uygulanışından kaynaklanan ‘zorunlu’ fakat gereksiz belgeleyiş çalışmaları da cabası…

“Protez cihazları vücudumuzun sınırlarını genişletir. Bu cihazlar tenimizin sınırlarından öteye bir devamlılık sağlarlar.” (Carolien HERMANS, 2002, Embodiment: the flesh and bones of my body). “BirVÜCUT ŞEMASIı bilinçaltı seviyesinde çalışır. Vücudun şeklini ve duruşunu (farkına varılmadan) kayıt eder. Kişinin vücut kısımlarının anlık durumlarını kayıt eder.”.

Rational gibi ‘mühendislik harikası’ IDE’ler ya da bileşik geliştirim ortamları yazılımcının elle yaparsa çok uzun sürede yapabileceği zihinsel işleri kolaylaştırır ve çabuklaştırır. Bir protez cihaz olarak yazılımcıların kullandığı IDE araçları onların zihinsel kapasite sınırlarını da geliştirir, yapılışı düşünülemeyecek şeyleri mümkün kılar. Burada IDE’nin aştığı güçlük zihinde tutulan şeylerin miktarı ve zihinde tutuş süresinin sınırlılığıdır. Ustalaşan bir yazılımcının kullandığı IDE giderek yazılımcının ‘vücut şemasının’ doğal bir parçası olur.


IDE araçları ile yazılımcının kapasitesinin artışı işleri azaltmaz. Aslında ileri IDE’lerin gelişitirilişinin nedeni yazılımcının yükünü azaltmak değil, tarihsel olarak donanımın çok ucuzlayışı sonucunda, yazılım karışıklığı ve büyüklüğünün artışı... GATTI’nin çaldığı uyarı çanlarının önemi burada ortaya çıkmakta... Büyük sistemlerde ya da yetersiz insan kaynakları ile küçük sistemlerde geliştirilen yazılımlarda, proje içinde öyle bir an gelir ki 1-2 kişi farkında olmadan, olamadan zihinsel tehlikeli bir eşik noktasını, hastalık noktasını geçerler.
Sorun üstünde çalışılan yeni ve karmaşık sistemlerin ve bunları geliştirmek için kullanılan araçların gerektirdiği mesleki kültürün henüz oluşmamış olmasıdır. 1980’lerin Quick Basic ya da FORTRAN’ı ile günümüzün C++, ADA ya da internet programlayışta kullanılan Csharp Visual Studio .NET ya da J2EE IBM Rational JAVA’sı ya da CORBA gibi framework’leri arasında karmaşıklık ve teknik imkanlar açısından dağlar kadar fark var.


Son 30 yılda HCI–insan bilgisayar etkileşiminde gerçekleşen gelişimlere karşın ve uluslararası eğitim standartlarında belirtilişine karşın hala ülkemizde sürekli olarak HCI dersi açan bir üniversitemiz yok(2004). Neurolog Bülent MADİ bir seminerinde son 10 yılda psikoloji alanındaki atılımların daha önce yazılan her şeyin yeniden düşünülmesini gerektirecek büyüklükte olduğunu söylemişti. HCI dersleri karmaşık–büyük sistemler (LARGE SYTEMS–COMPLEX SYSTEMS) için mühendis yetiştirilişinde hayati önemdedir. Dileğim hiç değilse BİLKENT üniversitesinin bu konunun da önemini görüp gerekli atılımı yapışı...

Büyük sistemlere bakıldığında da görülür ki operatörlerin altına girdikleri zihinsel yükün ölçüldüğü workload analysis çalışmaları son 5 – 10 yıldır yapılmakta(akademik)... Dünyadaki genel amaçlı bütün hava trafik kontrolü sistemlerinden hiç birinde kontrolör yükünü takip, gözetim ve kayıt işlemi yapılmamaktadır. Kanuni kayıtlarda(legal recording) sistemin her türlü bilgisi, uçuş sayısı, mesajlar, yükseklikler, planlar, bunların sayıları ve değişiklikleri kayıt edilmekte. Ama bu verilerden ayrık olarak kontrolörün iş yükünü çıkartan, bunları kişi bazında günlük haftalık döken programlar, deneysel amaçlı bir kaç öncül çalışma dışında yok. Daha kötüsü, gerçek zamanda, merkezi gözetim masasında oturan yöneticilerin kullandığı tümleştirici fonksiyonlar genel trafiğin radar görüntüsünden öte kontrolörlerin yükünü yalnız işe değil işi yapana göre de belirleyen tümleşik fonksiyonlardan yoksundur. Merkezi masada oturanlar ‘havayı koklayarak’ durumun tümleşik bir ‘izlenimini’ edinirler. Tabii bu ‘kokuyu’ kanuni olarak kayıt etmek mümkün değil...


Çoğu kez sorun, belirli bir işi yapmak için karmaşık bir IDE vb aracın seçilişi fakat bunun getireceği zihinsel yükün hesaplanmayışıdır. Bu tür yazılım araçlarında, yazılım mühendisinin üzerine binen yükü ölçen kolaylıklar henüz yok. Örn. gerçek çalışma süresi, kaç defa tuşlara basılmış, ne kadar compile edilmiş vb… Bu yüzden ne kadar sürede ne miktar iş yaparsanız uyarılışınızı gerektirecek, yoruluş sınırı, hastalanış sınırı gibi sınırlar henüz bilinmiyor. Bu sınırların belli olmadığı ve mühendislerin iş yükünün kontrol edilemediği günümüz yazılım dünyasında da çoğu kez FARKINDA OLMADAN, OLAMADAN sağlık sınırları aşılıyor. Biz ancak ekibimizde birisi hastalanınca ya da farkında olmadan trafik vb ciddi bir kazaya uğrayınca sanki bir şey ters gidiyor ya da ‘Abi bir uğursuzluk var’ anlayışına ulaşıyoruz.


Günümüz yazılım projelerinde büyüklük ve karmaşıklık ekip büyüklüğünün ve proje süresinin doğru belirlenişini güçleştirmekte... Bazı işler var ki bölemezsiniz. Eğer bölerseniz iş uzar ve kalitesi düşer. İşin karmaşıklığı fazla sayıda adam kullanmak şansınızı yok edebilir. Yazılım projelerinde süre tahmini yapmak o kadar güçtür ki örn. hava trafik kontrolünde bir iş öngörülenin iki misli kadar uzarsa bu normal karşılanır. Ayrıca ekonomik olarak elemanların ömür boyu ya da uzun sürelerle çalışması devri de geçmiştir. Yeni tanışılan mühendislerin kapasitesinin doğru belirlenişi güçtür. Bütün bu unsurlar yazılım mühendislerinin iş yükünü ölçen kolaylıkların yazılım araçlarına ve configuration management gibi tümleştirici yönetim araçlarına eklenişini zorunlu kılmaktadır. Change management, configuration management gibi harika araçlarımız var. Ama bunlarla bütünleşik, o programları yazanların durumlarını kontrol eden iş yükü yönetimi araçlarımız yok, henüz…


Hiç ORACLE için yazılmış gerçek bir karışık SQL komutu gördünüz mü? RENAULT Öneri Takip Sistemi için Rational RAD aracı ile bunlardan bir miktar yazdım… Tek bir SQL statement bu sayfadaki paragraflardan uzun olmak zorunda kalabiliyor işin gereği… Sonuç, uzun süreli olarak aşırı konsantre olmak zorundasınız… Düşünme şekliniz bugün ne giyeyim kravat takayım mı yüzeyselliğinden farklı bir boyut ve derinlikte olmak zorunda… Karlsruhe’de çalıştığım sistemde 800 bin satırlık bir problem alanında konusu sık sık değişen işletimsel yetersizlikleri(operational deficiency) düzeltmek zorunda idim. Bir dönem her gün yalnız aynı elbiseyi giydiğimi sonradan bir dostuma anlatmıştım. O da cerrahlar da farklı değildir demişti. Evde kullandıkları eşyaları hep aynı yere koyarlarmış… Uzman kişilerin kullandıkları araçlar, GATTI’nin de belirttiği gibi onların zihinlerinin çalışma şeklini değiştirirler.


“Protez cihazları vücut şeması içine emilip sindirilir. Tıpkı bir marangozun elindeki çekicin onun vücut şeması içine emilmesi gibi herhangi bir sanal vücut kısmı ya da arayüzü (klavye, fare, oyun sopası) vücut şemasının bir parçası haline gelebilir geçici ya da UZUN SÜRELİ olarak…”(Carolien HERMANS, 2002, Embodiment: the flesh and bones of my body).

VUCUT BULUS VE INSAN MAKINA ETKILESIMI adlı yazımda da belirttiğim gibi: Kazalar bileşik kimliklerin vücut buluşlarındaki bozukluklar yüzüden olur. Eğer bileşik kimlik yani kullandığı gelişmiş yazılım aracı ve elindeki iş ile bütünleşmiş ‘çalışan mühendis’ baskın hale gelirse, bir hedefe ulaşmak saplantısına kapılırsa ve bu durum elindeki işin ve bir baba, bir eş, bir oğul, sade bir insan olarak kendisinin ayrı ayrı yetenek ve sınırlarının unutulmasına neden olursa, bu sefer bileşik kimlik yüzünden bir kaza oluşur. Mühendis, bir insanın sağlıklı olarak iş yapabilmek sınırlarını farkında olamadan aşar. Rol oynarken kimlikleri şaşırmak ya da onları unutmak bileşik kimliğin başarısızlığına neden olur.


Başarılı mühendis iş yapmak için oluşturduğu teknik kişiliği ile kendinin diğer kişilikleri arasında ve güdüsel ön sınırlar dahilinde(prenoetic) en ideal dengeyi bulabilen kişidir.
Hiç kimse acı çekmek istemez! Ama hastahaneler de pek boş kalmıyor çeşitli nedenlerle…


“Olgusal teorisyenler (içinde yaşanılanı ve onunla tecrübe kazanılan) öznel vücut ile (gözlenen ve bilimsel olarak incelenen) nesnel vücut arasında ayrım yaparlar. Yaşanan vücud akıcı ve öngörerek yansıtıcı bir şekilde dünya ile içli dışlı olan birvücut bulmuş bilinç’tir. Günlük faaliyetlerimizle iştigal ettikçe, VÜCUTLARIMIZIN BİLİNCİNDE OLAMAMA ve onları hazır bulmak eğiliminde oluruz – sessizlik-içinde-iletilen-vücut (Jean-Paul SARTRE, 1943, Being and Nothingness)”.

Sorun mühendisin kullandığı araçların giderek onun “ vücut şemasının bir parçası haline gelişi”’dir.
Mühendis bir noktadan sonra yaptığı işin zorluğunu hissetmemeğe başlar. Oysa yapılan işin zihinsel yükü mühendisin algıladığı kadar hafif olmayabilir. Kullanılan araçların ‘ mükemmelliği’ ayrıca projede yapılan iş yükü tahminlerinde yanlış bir güvenlik duygusuna-false sense of safety kapılınmasına neden olur. Mühendisin bireysel sağlık riski sınırını geçtiğini fark etmeyişi yanında, sistem de proje planlaması sırasında yapılmış hatalar ya da çarpıklıklar içerebilir.


Yeni geliştirilen üretim araçları yazılım mühendisine ya da her türlü karmaşık sistem operatörüne eşsiz yetenekler kazandırmakta. Ancak bunların kullanıcı üzerinde yaptıkları etkiler sonradan edinilen tecrübeler ile öğrenilmekte… Kullanıcıların bu yeni duruma göre yetiştirilip eğitilişi ise ancak çok sonradan gelmekte… Oysa yeni yetenekler kazanan kullanıcılar bunlara uygun pedagojik psikolojik donanımlarla en kısa sürede donatılmalılar…


Bunun mümkün olmadığı durumlarda ise, örneğin büyük sistemlerde çalışan yalnız operatörler değil, operasyonel sorumluluk taşıyan herkes düzenli sağlık–psikolojik kontroller altında tutulmalı… Unutmayınız, günümüz imkanları ile bir psikiyatristin yeni bir hastasını tanıyışı 2-3 yıl zaman almakta. Eğer yaptığınız iş sizi zorluyorsa ya da zorluyabilecek bir iş ise, iyi bir doktor bulup onun öngöreceği sürelerle sohbete gitmenizi kuvvetle tavsiye ederim. Bu biraz Yahudi iş adamlarının ince ve cesur sağduyusuna benzer: İş sözleşmesi yapmadan önce, sözleşmeyi bir avukata götürünüz… Eğer iş batarsa en azından sizi savunacak bir kişi yanınızda olur(4)…


Son sözüm, ‘mühendis’lik mesleğinin vücut-buluşuna: Bütün kalbiyle çalışmak, büyük işler becermek vb saflıklarla insanları yetiştirmeği bırakınız. Mühendis çalışırken, kendi yanına oturup kendisini seyredebilen, yaptığı işin rasyonelliğini soruşturabilen meslek erbabıdır.


KAYNAKLAR:
1- Alberto Gatti :Sensing and Thinking through Technological Tools: The Impact on Cognitive Processes of a Change in the Organization of the Boundaries of Body. The Case of Laparoscopic Video-Surgery, Department of Philosophy and Social Sciences, University of Siena
2- Ali Rıza SARAL : VUCUT BULUS VE INSAN MAKINA ETKILESIMI,
http://akademi.cizgi.com.tr/categories.aspx?id=30
3- Ali Rıza SARAL : FARKLILASAN BEYIN,
http://akademi.cizgi.com.tr/categories.aspx?id=30
4- Avukat Mithat KORA’dan duydum.

Wednesday, November 14, 2007

ISO 12207 ve İlgili Yazılım Yaşam-Döngüsü Standartları

ISO 12207 ve İlgili Yazılım Yaşam-Döngüsü Standartları (1)

By Ali Rıza SARAL

ISO 12207’nin Kısa Tanıtımı

ISO12207 proje fikrinin ortaya atılışından projenin işletimden kaldırılışına kadar geçerli olacak yazılım yaşam-döngüleri için bir çerçeve-yapı önerir. Alım ve sağlayıcı rollerini dikkate aldığından özellikle alımlar için uygundur. Aslında, bu standart bir anlaşma ya da sözleşmenin geliştiriş, bakım, veya bir yazılım sisteminin işletilişini tanımladığı durumda her iki tarafın kullanımı için tasarlanmıştır. Ticari-raftan-alım yazılım ürünlerinin tedarikinde geçerli değildir.

ISO 12207 offers a framework for software life-cycle processes from concept through retirement. It is especially suitable for acquisitions because it recognizes the distinct roles of acquirer and supplier. In fact, the standard is intended for two-party use where an agreement or contract defines the development, maintenance, or operation of a software system. It is not applicable to the purchase of commercial-off-the-shelf (COTS) software products.

ISO 12207 ayrıcalıklı bir yaşam-döngüsü modeli veya yazılım geliştiriş yöntemini şart koşmaktansa her tarafın kabul ettiği deyim dağarcığını kullanarak bir süreçler dizi - yapısı sunar. Görece yüksek-seviyeli bir doküman olduğu için, 12207 bu süreçleri içine alan faaliyetlerin ve görevlerin ayrıntılarını belirlemez. Belgelerin, isim, biçim ve içeriklerini de önceden belirlemez. Bu yüzden, 12207’yi uygulamak yollarını arayan kuruluşlar bu ayrıntıları belirleyen ek standartları ve işlem süreçlerini kullanmak isteyebilirler.

ISO 12207 provides a structure of processes using mutually accepted terminology, rather than dictating a particular life-cycle model or software development method. Since it is a relatively high-level document, 12207 does not specify the details of how to perform the activities and tasks comprising the processes. Nor does it prescribe the name, format, or content of documentation. Therefore, organizations seeking to apply 12207 may want to use additional standards or procedures that specify those details.






ISO 12207 beş “ana işlem süreci” tarif eder – alım, tedarik, geliştiriş, bakım, ve işletim. Bu beş süreci “faaliyetlere” böler, ve faaliyetleri “görevlere” böler ve gerçekleştirilişleri üzerine şartlar koşar. Aynı zamanda sekiz tane “destek işlemi süreci” belirler – belgeleyiş, kurulum yapısı yönetimi, kalite güvencesi, doğrulayış, ortak inceleyiş, denetleyiş ve sorun çözüş – ve bunun yannda dört “kurumsal süreç” – yönetim, altyapı, geliştiriş, ve eğitim.



ISO 12207 :
primary processes: acquisition, supply, development, maintenance, and operation.
supporting processes: documentation, configuration management, quality assurance, verification, validation, joint review, audit, and problem resolution
organizational processes: management, infrastructure, improvement, and training.



Bu ISO standardı, kuruluşların yukarıda analatılan 17 işlem sürecini kendi projelerinin kapsamına uyacak şekilde uyarlamaklığını ve uygulanışı mümkün olmayan bütün faaliyetleri çıkartışını öngörür. O, 12207 uyumluluğunu, bu standardı uyarlamak için seçilmiş olan süreçleri, faaliyetler ve görevlerin başarısı olarak tanımlar…



The ISO standard intends for organizations to tailor these seventeen processes to fit the scope of their particular projects by deleting all inapplicable activities; and it defines 12207 compliance as the performance of those processes, activities, and tasks selected by tailoring.



Yaşam-Döngüsü Standartlarının Evrimi



ABD Savunma Bakanlığı kritik-görev çevreleri tarafından kullanılan DoD-STD-2167A ve bilgi işlem çevreleri tarafından kullanılan MIL-STD-7935’i birleştirip MIL-STD-498 adlı tek bir yaşam-döngüsü standardı yaratmak görevini üstlendi.



The Department of Defense - DoD undertook an effort to unify DoD-STD-2167A (used by the mission-critical community) and MIL-STD-7935 (used by the information systems community) to create one life-cycle standard--MIL-STD-498.



Tam 498 kabul edilmek üzereyken, nasılsa, ABD Savunma Bakanlığı tedarik politikalarını ticari standartlara dayanışa yönlendirdi. Sonuçta, 498 iki yıllık bir ara dönem için kabul edildi. IEEE ve Electronics Industry Association (EIA) 498’in yerine geçecek ticari bir eşdeğer üzerine ortak çaba başlattı. Bu çaba iki isimli tek bir standart ortaya çıkardı: bir IEEE Trial Use Standard 1498 ve bir EIA Interim Standard 640. American National Standards Institute (ANSI) bu belgeyi ANSI Joint Standard 016 olarak adlandırdı.



Just as 498 was nearing approval, however, the DoD shifted its acquisition policies toward more reliance on commercial standards. As a result, 498 was approved for an interim period of only two years. The IEEE and the Electronics Industry Association (EIA) then initiated a joint project to create a commercial replacement for 498. This effort produced one standard with two names: an IEEE Trial Use Standard 1498 and an EIA Interim Standard 640. Since both the IEEE and the EIA produced the standard, the American National Standards Institute (ANSI) designated the document as ANSI Joint Standard 016.



Bu arada, ISO12207 de yol almaya başlamıştı. J-016 yalnız geliştirmek sürecini ele alırken, 12207 yukarıda belirttiğimiz dört ana süreci de ele aldı. Dahası, 1992de, IEEE geliştiriş ve bakım faaliyetlerini ve bunların bağlantılarını sağlayan kendi yaşam-döngüsü standardını, 1074’ü tamamlamıştı. İlke olarak, 1074’ü kullanarak J-016 veya 12207’nin koşullarını sağlayan süreçler inşa edebilir. Şu anda yapmak gereken şey bu standartları ‘uyumlu’ kılmak ya da tek bir standart halinde birleştirmek.



Meanwhile, ISO 12207 was also underway. Whereas J-016 defined only the development process, 12207 described four additional primary processes, as discussed above. Furthermore, in 1992, the IEEE had completed its own life-cycle process standard, 1074, providing detailed descriptions of development and maintenance activities as well as their connections. In principle, one could use 1074 to construct processes that would comply with the requirements of either J-016 or 12207. The challenge now is to "harmonize" or otherwise converge these three different documents.



Kaynaklar :
1- Jim Moore, ISO 12207 and Related Software Life-Cycle Standards

Sunday, November 11, 2007

STANDARTLARI UYGULAMAK

Yazılım müşterisi açısından işin özü şu. “Öngörülen süre içinde çalışır durumda teslim edilen bir proje başarılı bir projedir”. “Başka hiçbir şey, hiçbir doküman, hiçbir hizmet bunun yerini alamaz”. “Müşteri işinin görülmüş olmasına ve kendi üretim sürecinin başarılı akışına bakar, yoksa harika bir yazılım sistemi sahibi olmak ancak özel olarak hobi türünden meraklı bir müşteri için belirleyici”.

Yazılım üreticisi açısından: “İşin alınması yapılıp bitirilişinden önemlidir”. “Ülkemizde piyasa derinliği az olduğundan az sayıda büyük proje için çok sayıda yazılım firması rekabete girmekte. Bu durum ihalelerde aşırı fiyat düşüşüne neden olmakta, sonuçta değil standartların gerektirdiği üretim süreçlerini uygulamak, üstlenici firmalarda, iş yerini bulsun diye dökümantasyon yazdırtacak bütçe bile kalmayabilmekte”. Hele müşteri özel olarak dükümantasyon istemeyi akıl edemiyorsa, üretim sürecinin doğal bir parçası ve ürünü olarak değil, çalakalem program yazılmakta…

Yazılımcı firmalar açısından: “Nakit akışını sağlamak hayatidir”. “Bir proje ihalesi alındığı zaman gelen nakit genel bütçeye akmakta, nakit akışını sürdürme kaygısı, her çıkan fırsatta yeni yeni projeler yüklenilmesine neden olmakta… Şirketin ayakta durması yapılan işlerin kalitesinden daha önemlidir”…

“Proje süresi her iki taraf açısından gerçekte olmaklığı gerekenden daha kısa olmak zorunda. Müşteri genelde planlayıştaki ya da gereksinim belirleyişteki teknik güçlükler yüzünden ihaleyi belirlemekte ve sonuçlandırmakta gecikir. Yazılım firması ise çok sayıda proje ile uğraştığından ve projeyi kısa bir süreye sıkıştırıp işgücü maliyetlerini düşürmek amacı ile proje başlangıcını geciktirir”.

“Her projenin müşteri tarafında bir veya birkaç sahiplenicisi bulunur. Yazılımcı firma bu kişilerle ilişkilerini düzenlemek, ihale sürecini hızlandırmak için bu insanları teşvik ve ikna etmek zorunda... Bu ilişkilerin yönetim biçimi yalnız ihale sürecinde değil, projenin gerçekleştirilmesi boyunca hayati derecede önemli. Gereksinimler dökümanında belirlenmiş ama yapılışı zorunlu olmayan bir gereksinimin zamanında farkına varılışı projenin kritik bir anında yazılım ekibine altın değerinde zaman kazandırabilir”.

Projenin bitirilebildiği durumlarda: “Önemli olan, ne pahasına olursa olsun, eksik, topal, müşterinin üstün körü kontrolünü geçebilecek şekilde projeyi bitirip çalışır durumda teslim etmek”. “Bitmiş bir projenin zaman içinde eksiklerinin çıkması yalnız doğal değil aynı zamanda iyi. Bitirilmiş bir projenin üstüne çok sayıda kullanıcı isteği gelişi yazılım firmasının nakit akışına katkıda bulunur, ayrıca mühendisler açısından da fazla yorulmadan iş yapıp proje yorguluk atmak imkanını doğurur”.

“İhalede belirlenen koşulların kontrol edilişi kuvvetli bir denetleyiş mekanizması ve genel olarak ta yaygın bir denetleyiş kültürünün varlığını gerektirir. Eğer bir ülkede denetleyiş toplumun ve ekonominin her kademesinde zayıfsa ve bir firma ihaleye girerken standartlara uyuşun gereklerini tümüyle yerine getirirse diğer firmalara karşı zayıf duruma düşer, teklifi pahalı kalır”.

“Bir yazılım paketinin kullanım ömrü birkaç yılı geçmemelidir. Bakım yapmaktansa paketi tamamen yeniden yazmak ya da yeni bir release çıkarmak ekonomik açıdan daha uygun olur yazılımcı firma için”. Ülkemizdeki genel anlayışa göre bakım önemli ve kıymetli değildir. Eskiyen şeyi atar yenisini alırsınız.

Müşteri açısından: “Gereksinimleri belirlemek ve iyi bir proje şartnamesi hazırlamak uzman personel ve zaman gerektirir. Çoğu zaman müşteri ne istediğini yalnız çok kabaca bilir. Gereksinimleri önceden görmek ve belirleyebilmek gelişmiş bir soyut düşünüş yeteneği gerektirir. Soyut düşünüş yeteneği toplumumuzda ve kültürümüzde az bulunan bir vasıf… Gereksinimleri özellikle az ve ayrıntısız belirtmek sonradan içlerini doldurmak imkanını yaratır, hatta baştan konuşulmamış unsurları eklemek mümkün olur”.

Yazılım firması açısından: “Müşteriye dökümantasyon vermek risklidir. Mümkün olduğu kadar müşteri yazılım firmasına bağımlı kalmalı ve istediği her hizmet için ödeme yapmalıdır. Dökümantasyon iyi yapılırsa her zaman bir rakip şirketin eline geçebilir ya da müşteri tarafından bu tür şirketler pazarlık alternatifi olarak kullanılabilir”.

“Yazılım firması içinde liderliğin dediği kayıtsız şartsız uygulanmalı, tartışmak ve fikir almakla zaman kaybedilmemelidir. Proje zamanı çok sınırlıdır zaten… Configuration Manager, testing vb. unsurlar proje zamanını arttırır, üstelik ne kadar gerekli oldukları bile şüphelidir? Yönetim gücünün azalışı ve dağılışı yalnızca işi yavaşlatır. Matrix management kabul edilemez. Şirket liderliği karşılıklı ‘sevgi ve saygı’ içinde projeyi yönetir”.

“Her şeyin belirli oluşu, yazılı ve programlı oluşu iyi değildir. İşin yürütülüşünde esnekliği azaltır. Hem ekonomik olarak, hem planlayış olarak, hem yönetim açısından esneklik ne kadar çok ise o kadar iyidir. Standartlar şirketin esnekliğini azaltır”.

“Elemanlardan bazıları kendilerini vaz geçilmez kılmak ve bu şekilde pazarlık güçlerini arttırmak ister. Ayrıca herkesin herşeyi aynı şekilde yapışı pek gerçekçi bir beklenti değildir ülkemizde... Her yiğidin bir yoğurt yeyişi vardır memleketimizde”.

“Standartların uygulanabilişi için ilk önce okunuşu ve kavranışı zorunlu. Bunun için yeterli İngilizce’ye sahip mühendis sayısı çok az ülkemizde… Alman devleti HER üniversite öğrencisine ABD’de 1 yıl Master bursu veriyor. Yabancı dil devletin sistemli bir yatırım politikası izlemesini gerektirir. Standartları anlayabilmek Batı kültürünü anlamağı ve hazmetmiş olmağı gerektirir. Bu işi 4 yıl İngilizce eğitim veren bir üniversiteden mezun tecrübe ve görgüsü pek olmayan genç ve ucuz elemanlarla yapmak mümkün değil maalesef”.

“Standartlar İngilizce. Program kullanıcı arayüzü Türkçe. Yazanların İngilizce’leri zayıf, dolayısıyla programlar da Türkçe esaslı… Bu standartların uygulanışı daha baştan zorda… Tam olarak anlamadan, ihale koşulları sağlansın diye bir şeyler karalamaktan başka çare yok”…

“Standartlar yazılım üretim sürecinin çeşitli soyutlanışlarından oluşur. Soyut şeyler zordur. Bizim insanımız soyut şeyleri sevmez. Elle tutulur iş olarak, program yazmak varken, ne olduğu, geleceği belirsiz işlerle zaman kaybetmek doğru değildir. Standartlarla uğraşan kişilerin tekrar benzeri bir iş bulmak olasılıkları programcılara göre daha azdır”.

“Her şeyin yazılı ve belgeli oluşu güvenlik ve gizlilik açısından sakıncalıdır. Her programın ve üstündeki her değişikliğin sorumlusunun belirli oluşu insan güvenliği ile ilgili işlerde vicdani yükü aşırı arttırır. Ayrıca, zaten kimin neyi yaptığı ilgili grup şefi tarafından bilinir. Eğer bu bilgi yazılı olursa hukuki sorunlarla karşılaşıldığında firmanın esnekliği azalır”.

“Standartlara uymak kaygısı formaliteyi çok arttırır. Bir yığın kağıt, dosya dosya ortalıkta dolaşmağa başlar. Mühendisler kağıt işi yapmak istemezler. Hem ainesi iştir kişinin lafına bakılmaz. Bizim kültürümüzde yazmak önemli değildir. Mimar Sinan bile onca eserinin yanında, nasıl yaptığını anlatan pek bir yazılı metin bırakmamış”.

“İş yapmaktan kaçan, sonucu doğrudan etkileyen kritik işlerden kaçan, yükün altına kendi girmeyip başkalarını süren bazı mühendislerin sığınmak için kullandıkları pozisyonlar genelde standartların uygulanışı ile ilgili pozisyonlardır. Bu tür kişilerin standartları anlamadan ve geliştirilen uygulamanın özünü bilmeden yaptıkları dogmatik düzenlemeler proje maliyetlerini çok arttırıp kadronun üretken kesiminin moralini bozabilir”.


Standatları uygulamak ile ilgili yukarıda belirttiğim görüşlerin kimileri doğru kimisi yanlış, bazıları nesnel bazıları değil, kimisi gerçek hayattan kimisi varsayım… Ama şu kesin bir gerçek, eğer Türkiye’de bir yazılım firması ISO9000 almak istiyorsa, ya da girdiği bir ihalede ISO12207 ya da Mil498’e uyma yükümlülüğü var ise, beş aşağı beş yukarı bu tür sorunlarla karşılaşacak…

Üstelik bu standartlar dünyanın gelişmiş ülkelerinin ihtiyaçlarına, kültürel ve ekonomik birikimlerine göre hazırlanmıştır. Ülkemiz ve toplumumuzun gerçekleri bu standartları raftan alıp uygulamağa uygun değildir.
Unutmayınız, uçağa binme kültürü hiç olmayan ya da çok yeni olan bir kadroya manevra gücü yüksek uçakların uçuş kontrolu için işletim sistemi yazdırılan bir ülkede yaşıyoruz. Üstelik bu kadro Do178B ya da eşleniği Avrupa standardına uyumu hedeflerken gelen yabancı uzmanları izlemekte zorlanacak kadar kötü bir İngilizce seviyesine sahip. Çünkü izlenen personel politikaları, günü kurtarmak kaygısı-zorunluluğu ile, İngilizce’si çok iyi olan kesimi tutamıyor ya da eldeki elemanları yetiştirmek için hiç değilse lider kadroyu uzun süreli yurtdışı görgü görevlerine göndermiyor.

Daha bir çok olumsuz ama gerçekçi örnek vermek mümkün. Peki, o zaman evrensel standartları Türkiye’de uygulamak mümkün değil midir?

Bunun bir yolu var. Dağa doğrusu en az bir yolunu biliyorum, Almanya Karlsruhe Hava Trafik Kontrolü merkezinde EUROCONTROL-STK’de gördüklerim ve Türkiye’de edindiğim tecrübeler ışığında… Standartları Uygulamak-II adlı yazımda buna değineceğim…

Önemi olan ne yaptığınız ya da bir şeyi yapıp yapmadığınız değil, neyi ne kadar nerede ne zaman ve nasıl yaptığınızdır.

İnce dikkatlerinize.

Ali R+ SARAL