Fatihsoysal.com

Freelance Proje İş Alımı


Merhaba, şu anda anahtar teslim freelance proje iş alımları için uygunum.
Tekliflerinizi buradan yada fatihsoysal@outlook.com e-posta adresi üzerinden benimle paylaşabilirsiniz. Çok kısa bir süre içerisinde tarafınıza geri dönüş sağlanacaktır.

Kategoriler


Zaman Kavramı ve Yazılımcı

Fatih SoysalFatih Soysal

Merhabalar, özellikle iş tecrübesi az olan yazılımcıların büyük sorunudur zaman kavramı. Bu zaman yönetimini sağlıklı yapmak çok zordur. Yazılımcıların zaman yönetim yeteneği çoğunlukla çok kötüdür. Genellikle firmalar çeşitli yöntemleri izleyerek bu süreci olumlu yöne çevirirler. İlerleyen yazılarımızda bu yöntemlerden bahsedeceğim. Zamanı sağlıklı kullanamamanın çeşitli nedenleri vardır. Çoğunlukla yazılım projeleri eğer başka bir nedeni yoksa tahmin edilen proje tamamlanma süresinin çok daha sonrasında tamamlanır. Bunlardan bir kısmı da çeşitli nedenlerden iptal edilir. Bu yazımda yapılan hataları sizlerle paylaşacağım.
Nedenleri
· Yazılımcılar zaman yönetimi planlaması yaparken aslında çok zaman alan kodlama dışı aktiviteleri dikkate almazlar.
· Bu noktada yazılımcıların da öngörmekte zorluk çektikleri bir nokta var. Örneğin bir hata ile karşılaşıyorsunuz, bu hatanın çözümünü bulamıyorsunuz, Türkçe kaynak sıkıntısı var. İşte bu noktada süreç en az sorunun çözümü kadar uzuyor.
· Yazılımcılar müşterilerin veya yöneticilerin projede bir değişiklik isteği, bu isteğin onaylanması vb. süreçlerin yavaşlığını hesaba katmazlar.
· Yazılımcılar her zaman aslında yazılması istenen ürünün ne olduğunu tam anlamazlar. Hatta bazen bir prototip yazıldıktan sonra yaklaşımın yanlış olduğunu, her şeyin baştan yazılması gerektiğini anladıkları bile olur.
· Aynı zamanda çoğu müşteri tam olarak ne istediğini bilmez, ya da tam olarak ne istediğini aktaramaz. Bu işlem de süreci yavaşlatabilir.
· Eğer geliştirilen proje her zaman yapılandan farklı bir yapıda ya da kategorideyse, programcılar öğrenme ve adaptasyon sürecini hesaplayamazlar.
· Programcılar, bir ürünün gerçekten hatasız çalışır hale gelmesinin gerektiği süreyi hesaplamazlar. Halbuki bazen hata düzeltme süreci geliştirmeden çok daha uzun sürer.
Uluslararası standartlarda ise listelediğimiz parçalar 12 madde olarak listelenmektedir. Şimdi dilerseniz bu maddelere göz atalım. (12 Problems With Software Estimation)

  1. Bilinmeyenin üzerine plan yapmak imkansızdır
    Çoğu yazılım birbirinden farklıdır ve her projede neredeyse daha önce hiç yapılmamış bir ürün geliştirilir. Projede yapılacaklar belirli olsa bile, karmaşık bir sistemi geliştirmek, istenen belli olmasına rağmen bile zordur.
    Bir program birçok farklı yöntem ile yazılabilir. Zaman planlaması aşamasında net olarak belirlenemeyen dizayn seçimleri, bir yazılımın bitiş zamanını doğrudan etkiler. Yapılan zaman planlarının, istenildiği şekilde yürüyebilmesi için kabul görmüş belli başlı yöntemler vardır, fakat en iyi yöntemle bile yapılan plan, yazılım geliştirme aktif olarak başlamadığı için öngörü ve varsayımdan ibarettir.
    Yapılan Planlar Genelde İyimserdir
    Çoğu programcı planlarını oldukça iyimser varsayımlar üzerine yapar. Proje başladığında daha üretken olacaklarını düşündüklerinden veya projenin karmaşıklığını tam olarak anlayamadıklarından iyimser varsayımlarda bulunmuş olabilirler. Bu planları değerlendiren kişiler genelde bu iyimser planlamaları biraz daha genişletip daha gerçekçi hale getirirler. Örneğin kodun yazılması bir haftada biter gibi bir tahminde bulunulmuşsa bunu 2 hafta veya bir aya çıkarmakla daha gerçekçi planlar elde edilebilir.
  2. Verilen Zaman Sonuna Kadar Kullanılır
    Çoğu programcı verilen zamanı sonuna kadar kullanmaya meyillidir. Yaptıkları işi erken bitirseler bile, kalan zamanı projeye katkısı olmayacak kod düzeltmeleri yapmak, kod işleyişini biraz daha hızlandırmak için harcarlar. Bazen de işini bitirdikten sonra verilen zamanın bitmesini bekleyip farklı bir işe başlamazlar. Bu yaklaşımla işler asla planlandığından çabuk bitmez.
  3. Firmalar Zaman Planlamasına Oldukça Fazla İtimat Eder
    Ürün çıkış tarihleri, fuarlara katılım ve tanıtım tarihleri hepsi projenin zaman planlaması baz alınarak yapılır. Satış ve pazarlama birimleri anlaşmalarını bu tahminler üzerine yapar ve yapılan planlamada oluşacak bir gecikme daha başka yapılan birçok planın da gecikmesine neden olur.
  4. Öngörülemeyen Şeyler Üzerine Çok Fazla Zaman Harcanır
    Yapılan tahminler mükemmel bile olsalar, proje üzerinde çalışırken karşımıza öngöremediğimiz birçok problem çıkar. Proje esnasında beklemediğimiz yeni işler çıkmış olabilir. Çoğu şirket planlarını yaparken bu gibi durumlar için ekstra zaman ayırır, fakat varsayımlar üzerine yapılmış bir plana varsayımlar üzerine ekstra zaman eklemekle ne kadar güvenilir bir şey elde etmiş oluruz?
  5. Zaman Planlamasına Tahmin Gözüyle Bakılmaması
    Yapılan zaman planları aslında bir tür tahmindir fakat insanlar buna tahmin gözüyle bakmazlar, bu planlara kesinlikle aksamayacak gerçekleşecek gözüyle bakılır ve başka planlar da buna güvenerek yapılır. İlk planda olacak bir gecikme bu yüzden zincir etkisiyle diğer planları da etkiler.
  6. Yazılımcılar Arasındaki Verimlilik Farklarının Göz ardı Edilmesi
    Bu durum yapılan zaman planlamalarını daha da zorlaştırır. İnşaat sektöründe duvar ustalarının ortalama bir duvarı örme hızını bilebilirsiniz fakat bir işi yapma hızı programcılar arasında çok büyük farklılık gösterir. Programcı kendi yapacağı işin zaman planlamasını kendi yaptığında işiniz az da olsa kolaylaşır çünkü kendi üretkenlikleri hakkında sizden daha çok bilgileri vardır. Fakat bu tahminleri onlar yerine genelde proje yöneticileri yapar ve bütün programcılara eşit üretkenliktelermiş gibi davranırlar.
  7. Müşterinin İsteklerindeki Değişiklikler Proje Planına Yansıtılmaz
    Proje devam ederken, ortaya ufak ufak bir şeyler çıkmaya başladığında müşteri ortaya çıkan bazı özelliklerden memnun olmaz, değiştirtmek ister veya memnun kalır ve ekstra bir kaç şey daha eklenmesini ister. Bu gibi değişiklikler proje planına bazen yansıtılmaz fakat her gelen istek yapılacak fazladan iş olduğu için bu gibi durumlar plana yansıtılmak zorundadır.
  8. Gerçek Anlaşıldığında Genelde Çok Geç Kalınmıştır
    Önceki maddelerde belirtmiştik, programcılar genelde iyimser tahminlerde bulunurlar. Çoğu zaman iyimser tahminde bulunduklarına ve projeyi yetiştiremeyeceklerine inanmazlar ta ki son gün gelip te daha yapılacak birçok işin kaldığı anlaşılıncaya kadar. Fakat artık çok geç kalınmıştır, proje gecikmiş ürün çıkış tarihi ertelenmiştir.
  9. Bir Plan Geciktiğinde Diğerleri de Güncellenmeli
    Programcılar genelde projenin planlanan bir kısmını zamanında bitiremediklerinde, diğer yapacakları işlerin planlarını güncellemezler. Arada kaybolan zamanı sonraki işleri daha hızlı yaparak kapatacaklarına inanırlar, fakat genelde tam tersi olur. Böyle bir durum genelde iyimser tahmin yapıldığına işarettir
  10. Planlar Gerçekleşmediğinde Programcılar Suçlanır
    Planlar geciktiğinde suçlanacak birileri bulunmaya çalışılır ve bu genelde plana ayak uyduramayan programcılar olur. Bu stresli bir çalışma ortamı yaratır ve programcı sonraki projelerde suçlanmamak için yaptığı zaman planlamalarında geniş davranır.
  11. Planları Yanlış İnsanlar Yapar
    Programcılar üzerinde çalıştıkları konuyla ilgili tahminleri kendileri yapmalılar. Proje yöneticisi bu tahmini onun yerinde yaptığı zaman zamanlama konusunda sıkıntılar yaşanır.

Fatih Soysal

Kullanım ve kodlama mükemmeliyetini odak alan uygulamalar oluşturma deneyimine sahip, profesyonel olarak 15+ yıl üzeri deneyime sahip bir yazılım mühendisi.

    Subscribe
    Bildir
    guest

    0 Yorum
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x