Yazılıma ve Programlamaya Yeni Başlayanlar için Tavsiyeler


tavsiye“Yazılım işine nereden başlamalıyım?”, “Yazılım sürecinde bana ne tavsiye edersiniz?”,  “Hangi kitabı okumalıyım?”, “Kendimi nasıl geliştiririm?”, “Sizce hangi görev benim için daha uygun?” gibi sorularla hem yeni başladığım akademik kariyerimde hem de 12 yılı aşkın özel sektör iş yaşamım süresince sürekli karşılaştım. Yazının başlığı “Yeni Başlayanlar” için olsa da aslında burada değindiğim bir çok konu bu işi yapanlar için ömür boyu geçerli diye düşünüyorum. Konuyu 3 kategoride ve alt maddeler halinde toparlamaya çalıştım. Farklı bakış açılarına göre yeni kategoriler ve onlarca alt madde eklenebilir. Ana kategoriler aşağıdaki gibi:

  1. Sosyal Tavsiyeler
  2. Genel Teknik Tavsiyeler
  3. Kodlama Tavsiyeleri

Read more of this post

Advertisements

Yazılımcı Konsantrasyonu, Beyin Akış Modu ve Bölünmeler


Giriş

Yazılım geliştirme yaratıcı bir iş çıkartmayı hedefleyen bir süreç olup, mutlak dikkat ve konsantrasyon gerektirir. Chicago Üniversitesi Psikoloji Bölüm Başkanı Mihaly Csikszentmihalyi tarafından yapılan bir çalışmada yazılımcıların beyinlerinin sanatçıların çalışma tarzına sahip olduğu görülmüştür. Programlama sırasında beyin bir “akış” (flow) moduna geçmekte, etrafla ilişkisini kesmekte ve bir probleme günlerce konsantre olabilmektedir. Ciddi bir çevresel izolasyon gerektiren akış moduna girildiğinde, üretkenlik maksimum düzeydedir ve tüm kritik kodlamalar bu seviyede yapılır.

Read more of this post

Yazılım Maliyet Tahmineleme Tecrübeleri


Yazılım mühendisliğinde maliyet hesabı her zaman problem olmuştur. “Bu iş kaç Adam/Gün tutar?” sorusuyla sıkça karşılaşıyoruz. Adam/gün veya Adam/ay ölçütleri bir kaynağın/kişinin belirtilen zaman dilimindeki iş gücü anlamına gelir. Tabi bu noktada yine kafa karışıklıkları başlar. 6 A/G’lik bir işi hızlandıralım diye 2 kişi ile yapmaya çalışsak ve kaynak/kod, modül, altyapı, insan vb. her bir şeyi bir kenara bıraksak, matematiksel basit formülle 6/2=3 A/G’de biter? Gerçek hayat böyle değil, öncelikle bunu anlamamız lazım. Hep şu örnek verilir; “Aynı bebeği 2 kadın birlikte daha kısa sürede doğurur mu?” Eğer bunun cevabı “Evet” ise (veya bir gün böyle bir durum ortaya çıkarsa), yazımı değiştirmem gerekecek 🙂
Mevzu gerçekten derin…Maliyet hesabı; bulunduğunuz firmanın yazılım süreçlerini hangi methodlarla uyguladığına, ilgili işin o dönemdeki aciliyetine, (şirket yönetiminin baskısına 🙂 ) vb. bir çok duruma bağlı olabilir.

Scrum Nedir?


Scrum günümüzde popüler olan Çevik Yazılım Geliştirme (Agile Software Development) Süreçlerinin bir türevidir. XP (Extreme Programming) gibi klasik bir SDLC (Software Development Life Cycle ) olarak algılanması yanlıştır. 1990 yılının başlarında geliştirilen Scrum bir SDLC olmayıp, bize bir Agile Framework (Çevik Altyapı) sunar. Yani sadece yazılım geliştirme süreçlerinde değil şirketin diğer tüm süreçlerinde kullanılabilir. Başarısı kanıtlanmış bir yazılım geliştirme yöntemi olup; Microsoft, Google, Facebook gibi şirketlerde kullanılmaktadır. Değişen gereksinimlerle daha etkin bir yoldan başa çıkmak, çalışanların motivasyonunu artırmak ve müşteri ile proje arasındaki iletişimi geliştirmek istiyorsak Scrum kullanılması kaçınılmazdır.

scrum

Read more of this post