4/07/2016

Yazılım Projelerinde Tahminleme Derdi

Wikipedia'ya göre,  projenin tarifi aşağıdaki şekilde verilmiş:

Proje, bir probleme çözüm bulma ya da beliren bir fırsatı değerlendirmeye yönelik, bir ekibin, başlangıcı ve bitişi belirli bir süre ve sınırlı bir finansman dahilinde, birtakım kaynaklar kullanarak, müşteri memnuniyetini ve kaliteyi göz önünde bulundururken olası riskleri yönetmek şartıyla, tanımlanmış bir kapsama uygun amaç ve hedefler doğrultusunda özgün bir planı başlatma, yürütme, kontrol etme ve sonuca bağlama sürecidir.

Yani projeyi konuşuyorsak, bir başının ve sonunun olması gerekiyor. Bunun için de en temelinde yapılabilecek işin ölçülebilir olması lazım doğal olarak. Peki yazılım projelerini göz önüne alırsak, bu ne kadar mümkün? Şu teknik bu teknik vs. falan bahsetmek istemiyorum. Ben gerçekten bunun ne kadar mümkün olduğunu sorguluyorum :) Bir yazılım projesinin %100 tahmin edilebilmesi için şartları sıralayım:

1) Yapılacak işin en ince detayına kadar biliniyor olması
2) Baştan çıkartılacak analizin %100 değişmez ve hatasız olması
3) En doğru teknik çözümün 1 kerede baştan çıkartılmış olması
4) Projede görev alacak insanların kesin belirlenmiş olması ve taslak olarak belirlenmiş görevlere yetkinliklerine göre atanmış olması. Ahmet'in 2 günde yapacağı, Mehmet 5 günde yapabilir; bu çok doğal bir durumdur ve süre üzerinde etkisi vardır.  Gene de bütçe tarafında değişikliklere sebep olma pahasına, kaynak yönetimi ölçeklenerek süre üzerindeki etkisi zayıflatılabilir. Tabii ki projenin tanımındaki "sınırlı finansman" tabirinin de altını çizmek lazım :)
5) Proje kadrosunun bu işe benzer işleri yapmış olması (Aksi takdirde tahminleme işin niteliğine göre daha büyük bir risk içerecektir)

Yukarıdaki şartların bir araya gelmesi mümkün mü? Bence, işin çapına göre elbette mümkün. Fakat bu işin içerisinde olan herkes görmüştür ki gerçek dünyadaki işler çoğunlukla bu şekilde ilerlemiyor.

***

Bu yazımda bu derde bir çözüm önerme işine girişmeyeceğim ama bir probleminin çözülemediğini düşünüyorsanız, zaten o problem var olduğu şartlarda çözülemiyordur. Bu problemi çözmek için öncelikle şartları ve bakış açını değiştirmek gerekmektedir.

Bu yazıyı okuyan herkes eminim, yazar acaba ne zaman çevik yöntemleri övmeye başlayacak diye düşünmüştür sonuna gelene kadar :) Tarz olarak uzun uzun derdini anlatmayı seven bir insan değilim. Birinin yalın bir şekilde anlatabileceği meramını uzun uzun okumaktan da hoşlanmam aslında. Çevik yöntemlerin bu konuda ki yaklaşımı da kısa bir yazıda anlatılabilecek bir konu değil. Zaman zaman, olabilecek en yalın şekilde bu konuda da paylaşımlar yapmak isterim kısmet olursa.



Hiç yorum yok: