Yazılım Yöneticilerinin Teknik Yetkinlikleri

Yazılımla ilgili aldıkları kritik kararların sağlıklı olması, uygun metodolojiler izleyebilmesi, yazılım projelerinde çalışanlara empatik yaklaşabilmesi, onları anlayabilmesi ve karşılaştıkları zorlukları takdir etmesi ve çözmek için öngörülü olması, aralarındaki çatışmaları yönetebilmesi, bu çalışanların iş yapış sekillerini yönlendirip, kalitesini sorgulayabilmesi ve kendilerini geliştirmelerinin önünü açabilmesi, performanslarını değerlendirebilmesi vb. pek çok sebepten dolayı yazılımı yönetenlerin çok donanmlı olması gereklidir.

Bu yetkinliklere sahip olmayan yöneticilerin, yönettikleri kişiler tarafından saygıyla anılmayacağı aşikardır. Zaten mali kısıtlar, sıkışık proje planları, zor müşteriler, anlayışsız üst yöneticiler tarafından sıkıştırılan yazılım yöneticilerinin sıkıntılarını altında çalışanlara doğrudan yansıtmadan, onlarla sağlıklı bir ilişki götürebilmesi sadece sabırlı ve anlayışlı olma gibi kişisel özelliklerle halledilemeyecek durumlara sebep olmaktadır. Bu yüzden yazılım yöneticilerinin yukarıda bahsettiğim donanımlara da sahip olması gereklidir.

Bu ülkeye döndükten sonra aklıma gelen şeylerden birisi de yöneticileri daha güncel tutmak üzere bazı eğitim, workshop ya da seminer tipinde oturumlar düzenlemekti. Bunla ilgili bir kaç girişimim de olmadı değil ama malesef tutmadı. Yurt dışında teknik insanlar kadar yöneticilere de hitap eden konferanslar olduğunu, ya da hem son derece teknik hem de daha metodolojik, ufuk açan, stratejik ve geleceğe yönelik oturumların olduğu konferanslar varken nedense ülkemizde bu türden bir araya gelmeler o kadar az ki. Yazılım yöneticilerimiz genelde tanışmak, ayaküstü sohbet yapmak, “networking” ve dedikodu 🙂 için bir araya geliyorlar. Sunumlar da reklamdan ibaret. Halbuki sektörümüz hem süreç hem de teknolojik açıdan çok dinamik. Gün geçmiyor ki yeni bir kavram, yeni bir yaklaşım ya da yeni bir teknoloji ortaya çıkmasın. Webden mobile, kurumsal yapılardan gömülü sistemlere, donanımdan yazılıma o kadar çok gelişme ve değişme oluyor ki.

Neyse, uzun lafın kısası, son zamanlarda yazılım yöneticileriyle, karşılıklı tartışmalı bazı  workshoplar düzenleme imkanı buldum. Bu çalışmaların ana başlıklarını katılımcılarla birlikte belirledim. Nihayetinde şu konulardan oluşan bir içerik ortaya çıktı:

  • Software Development Process
    • Phases, Activities, Roles and Artifacts (Analysis, Design, Coding, Test & Maintenance)
      • Business and Software Requirements Analysis
      • OO Design with UML and Design Patterns
      • Quality Coding with Unit Testing, Clean Code and Understanding Developers’ Work
      • Software Quality, Reviews and Testing (V Model and V&V)
      • Configuration Management & Continuous Integration
      • Maintenance
      • Project Management
      • Performance management of the IT employees and talent management
  • Software Development Methodologies
    • Classical Waterfall
    • Modern Methodologies
    • Spiral Process
    • Unified Process and RUP
    • Agile Processes
      • Scrum
      • Extreme Programming
  • Enterprise Architectures
    • Historical sketch
    • Modern architectures
      • Multi-tier architectures
      • Web Architectures
      • Mobile Architectures (iOS, Android, etc.)
      • Integration Architectures, web services and SOA
      • Data Architectures, Data Mining and Data Warehouses
      • Cloud computing
      • SAAS and SAAP
  • Java
    • Before Java
    • Java SE
    • Java ME
    • Java EE
    • Java EE – Web Architectures and Technologies
      • Protocols, langauges, frameworks
      • Java web technologies
      • Servlet and JSP
      • JSF
      • Other web frameworks.
      • Tomcat and other web servers
    • Java EE – Enterprise Technologies
      • EJB
      • JMS
      • Databases access in Java : JDBC, JPA, and Hibernate
      • Web Services: JAX-WS (SOAP WS) and JAX-RS (RESTFul)
      • Java Security and JAAS
      • App Servers: Weblogic, Glassfish, etc.

 

Yazılım Geliştirme Metodolojileri

 

Bir masa etrafında, samimi bir ortamda, imkanlarınıza göre 2-3 günde, farklı kaynakları kullanarak işleyediğim bu konular, hem katılımcılara pek çok konuda giriş mahiyetinde bilgiler veriyor, hem ortak bir teknik dil sağlıyor, hem de kendi yapılarını tartışma ve eleştirme imkanı veriyor. Teknolijik olarak son kısımda Java’nin ele alındığı bu tip workshopları bir kaç kere yaptım ve son derece iyi geri dönüşler aldım.

Sizce böyle bir çalışmada başka hangi konular ele alınmalıdır?

Bu yazı toplam 1143 defa görüntülenmiştir.