Yazılım Emek Rejimi: Agile ve Waterfall

Ahmet Gire
401 Görüntüleme
9 Dk Okuma Süresi

20. yüzyılın sonları ve 21. yüzyılın başlarında yazılım üretim süreci standartlarında kimi değişimler yaşandı. Geçmişteki gibi nihayete erdirilmiş analiz dokümanları üzerinden tastamam bitmesi gereken büyük projelere uygun yöntemlerden ziyade parça parça ilerleyen ve her anında belirli bir pazar değeri potansiyeli hedefleyen proje yönetim metodolojileri kullanılmaya başlandı. Bunun en büyük nedenlerinden biri, internetin yaygınlaşması ve bir uçak yazılımından ziyade küçük ölçekli projelerin en başından potansiyel bir değişim değerine sahip olabilmesi gelir.

Büyük ve eksiksiz analizlerle ilerleyen metodolojiye Waterfall ismi verilmişken 21. Yüzyılın ilk çeyreğinde iyiden iyiye moda olacak olana da Agile denildi. Bunlar bir yazılım projesinin gidermesi gereken ihtiyacın tespit edilmesinden son ürünün kullanıcılara sunulmasına kadar geçen sürecin nasıl işletileceğine dair metodolojilerdir. 

Marx, kapitalizmin doğuş hikayesini Kapital’in ilk cildinde etraflıca aktarırken çok temel bazı kavramları kullanır. Bunlardan ilki artık değerdir. Kapitalizm her şeyden önce sermayenin artık değer biçiminde sermaye ürettiği sistemdir. Bunu da işçinin ürettiği değer ile işçiye ödenen ücret arasındaki farka el koyarak yapar. Artık değer tam da bu aradaki farktır.

Artık değerin iki türü vardır. İşçilerin çalışma saatlerinin uzatılması yoluyla genişletilen artık değer, mutlak artık değerdir. İşçinin ücreti sabitken -ya da azalırken- artan çalışma süreleri, işçinin ürettiği değerden çok daha az pay aldığını gösterir. Böylece sermayenin elinde kalan artığın kütlesi artmış olur. Ancak bu artık değerin sınırlılıkları vardır. Bu sınırlılıkların en başında insanın biyolojik varlığı gelir. İnsan yemek, içmek ve uyumak zorundadır, sonsuzca çalıştırılamaz.

Artık değerin ikinci türü ise göreli artık değerdir. Kapitalizmin alametifarikası burada yatar. İşçinin çalışma saatlerini uzatmaktansa birim zamanda üretilen değer miktarının artırılmasına yönelen bu artık değer türü, asıl olarak toplumsal üretici güçlerin üretim kapasitelerinin artırılmasını tetikler. Her kapitalist, göreli artık değeri arttırma çabasına giriştikçe, bunun için teknik insanları daha yoğun biçimde fonladıkça, toplumun üretici gücünde bir artış yaşanır. 

Bunun en klasik örneği sanayi kapitalizminin doğuşudur. Bir işçi birim zamanda 1 metre kumaş dokuyabilirse makineleşmiş üretimle birlikte aynı işçi aynı zaman diliminde 100 metre kumaş dokuyabilir hale gelir ve bu makineleşmiş üretim yaygınlık kazandıkça toplumun üretici güçlerinde bir artış yaşanır. Böylece hem kâr oranı arttırılmış olur hem de işçinin yaşaması için gereken maddelerin üretimi için daha az toplumsal emeğe ihtiyaç duyulur. Örneğin makineleşmiş üretimle birlikte birim zamanda ekmek üretim miktarı da artmıştır artık.

Böylece bir iş gününde artık değer iki yönden artmış olur, ilki, işçinin birim zamanda yaptığı üretim miktarı artar, ikincisi işçinin kendinin -ve ailesinin- yeniden üretimi için gerekli olan toplumsal emek miktarı azaldığı için ürettiği değere nazaran ücreti düşer. Göreli artık değeri arttırma çabası, işçi sınıfının toplumsal üretimden aldığı payın göreli olarak azalmasına neden olur.

Yazılım endüstrisi de kapitalizmin genel yasalarından azade değildir. Öncelikle her ne kadar üretim aracı olarak bilgisayar ve internet gibi pek çok kişinin erişebileceği araçlar kullanılsa da onların işleyebileceği ağ (iş “network”ü) için sermaye gereklidir. Bir yazılımcının geçmişinde bir sermaye birikimi yoksa aylarca bilgisayarında üretim yapabilmesi eşyanın tabiatı gereği imkansızdır.

Yazılımcının dahil olduğu genel üretim ilişkisi emeğini ücret karşılığında satmasıyla ortaya çıkar. Bu da yazılımcının dahil olduğu emek sürecinde de bir artık değer üretildiğini gösterir. Yazılımcı çalıştığı sürenin bir kısmını kendi yeniden üretimini sağlamak için ücret olarak alırken diğer kısım kapitaliste kalır. Yazılımcı yukarıda Marx’ın kol emeği üzerinden ortaya koyduğu artık değer, mutlak ve göreli artık değer gibi kavramlardan azade değildir. Yazılım emek süreci de kapitalistin en fazla artık değeri işçiden sağmaya çalıştığı süreçlerden biridir. Marx, Kapital’in ilk cildinde metanın karşıladığı ihtiyacın “mideden mi yoksa hayallerden mi” kaynaklandığının kapitalist üretim tarzında bir öneminin olmadığının altını çizer. Üretim tarzı sömürülen emeğinden kol emeği mi zihin emeği mi olduğuna en başından kayıtsızdır. O halde yazılım emek süreçleri de Marx’ın analiz yöntemiyle incelenebilir.

Agile yöntemi asıl olarak yazılımcının emeğinin metaya enjekte edilme oranının arttırılması için geliştirilmiş bir perspektiftir. Waterfall’un uzun proje adımlarında hatalı bir tasarım üzerine geliştirilme yapıldığında metaya aktarılmayan “yitirilen” emek zaman miktarı, Agile’ın “sprint” mekanizmasıyla en aza indirilmeye çalışılır. Son kullanıcıyla düzenli iletişim, proje sürecinde yaşanacak aksaklıkların maliyetini azaltmak içindir. Agile yazılım projelerini belirli zaman dilimlerine bölerek potansiyel bir hatanın maliyetini projenin bölünmüş bir parçasıyla sınırlamaya çalışır. Böylece tasarımda bir hata üzerine çok fazla birikim yapılmadan geri alınmış olabilecektir.

Dahası Agile ile her iki haftada -iki hafta genelde ideal sprint süresi olarak kabul edilir- bir mini proje teslimi yapılır. Agile metodolojisinde bu iki haftalık proje yükünün yazılım takımı tarafından özerk biçimde belirlendiği kabul edilir. Ancak yazılım emek süreçleri daha en başından ücretli emek ve sermaye arasındaki eşitsiz ilişkinin damgasını taşır. 

Yazılım takımlarının bitirmeye söz verdikleri iş yüklerinin iki hafta sonunda bitirilmesi gerekir. Ancak eşitsiz ilişkinin yarattığı güç asimetrisi, yazılım takımlarına kendi iş planlarını yapabilecekleri bir özgürlük alanı sağlamaz. Böylece Agile bu zorunluluk halini gizler, üstüne söz verilen işin yapılması biçiminde ahlaki bir borç zemine yaratır. İşçi ile kapitalist arasındaki iktisadi ilişkiye bir anda ahlaki bir boyut katılmış olur. Bu ahlaki boyutu katan da Agile metodolojisinin farklı yöntemlerinin yazılım üretiminin sınıflı karakterine kayıtsız olmalarıdır. 

Utah’ta bir grup yazılım gurusu tarafından ortaya atıldığı düşünülen Agile yöntemi genel üretim süreçlerinin tarihi düşünülürse pek de istisnai sayılmaz. Sosyal devlete eşlik eden Fordist üretimin bir yansıması gibi görülebilecek olan Waterfall -iş bölümünün netliği, mesleki olarak takımların ayrılığı gibi- birçok yerde yerini Kaizen üretimin yansıması gibi görülebilecek olan Agile’a bırakır. Genel toplumsal üretim yapma biçimlerindeki değişim yazılım sektörünü de etkilemiştir. Bu açıdan bakıldığında Agile tam da kapitalizm tarihine eşlik eden göreli artık değerin artırılması çabasının bir örneğinden başka bir şey değildir. 

Ancak burada işyerindeki güç ilişkilerinin bu değişimlere yön verdiği gerçeği göz ardı edilmemelidir. Orta düzey yöneticilerle yazılımcılar arasındaki güç ilişkileri, daha üst düzey yöneticilerin şirket içindeki güçleri gibi birçok dinamik emek sürecinin şekillenmesinde önemli faktörlerdir. Taylor’un ortaya attığı işçilerin üretim sürecindeki hareketlerinin saniyeler seviyesinde planlanmasına dayanan “Bilimsel yöntem”, birçok işyerinde uygulanmaya çalışılsa da işçiler tarafından ya direnişle karşılanmıştır ya da sabote edilmiştir. Yazılım emek süreçleri üzerine yürütülecek tartışmada da emek sürecine dahil olan farklı çıkar gruplarının çatışmaları göz önüne alınmalıdır.

Bu yazıyı bir tartışma başlatıcı olarak düşünmek yerinde olacaktır. Bu yazıdan çıkaracağımız sonuçların başında yazılım üretim sürecinin de kapitalist üretim tarzındaki diğer sektörlerde  olduğu gibi eşitsiz bir ilişkinin gölgesi altında sürdüğüdür. Ücretli emek ilişkisi, eşitsizliğin birincil ve yapısal nedenidir. İkincisi, her kapitalist, üretim sürecinde daha fazla artık değer çekmek ister. Bunun için işçiler ya fazla mesailere zorlanır ya daha yoğun çalıştırılırlar ya da her ikisi birden. Yazılım sürecindeki metodoloji değişiklikleri de benzer bir hedefin yansımaları olarak okunabilir. Üçüncüsü yazılım emeği tasarım vs gibi özgün çözümlerin beklendiği zihin emeği alanlarında olduğu gibi disiplin ve özgürlük gerilimini barındırır. Yazılımcının efektif çözümler bulması için zamana ve özgürlüğe ihtiyacı vardır. Ancak kapitalist üretim tarzı emeğin disipline edilmesi üzerine kurulmuştur. Agile bir anlamda bu gerilimin yönetilmesi çabasıdır. 

Ancak Agile evrensel bir yöntem sunarken her iş yerinin, kapitalizmde cisimleşmiş altyapısal ve küresel iktisadi zemin üzerinde şekillenmiş kendine özgü işleyiş biçimi vardır. Tam da iş yeri ilişkilerinin, kapitalizmin yapısal sınırları içinde oluşmuş bu özgünlükleri Agile’ın uygulanmasında farklılıklar doğurur. Sonuç olarak yazılım emek süreçlerini analiz etmek için hem kapitalizmin kendi özgün yasaları göz önünde bulundurulmalı hem de işyerindeki farklı çıkar gruplarının aralarındaki güç ilişkileri anlaşılmalıdır. Böylelikle Agile gibi yönetim metodolojilerinin üstünü kapattığı eşitsiz sömürü ilişkileri tekrar gözler önüne serilirken bu eşitsizliğe karşı işyerlerinde nasıl mücadele edilebileceğine dair de bir fizibilite çalışması yapılmış olur.

Bu Makaleyi Paylaşın