İyi Yazılım

İyi yazılım paylaşımları

Yazılım Geliştirme Süreci

"Yazılım Geliştirmek" Kodlamaktan İbaret Değildir!

Tek Kişilik Yazılım Evi, adı üzerinde “yazılım geliştiren” bir yapıdır. Yapı dediysem, kafanızda büyük bir şey canlanmasın.  “Tek Kişilik” bir yapı…
Zaman zaman proje bazlı olarak kaynaklarını artırdığı olur. Bazen da dış kaynak kullanımı yapılır. Ama genelde tek bir kişiyle çalışır.

Peki, “Yazılım Geliştirme” Nedir?
İsterseniz öncelikle ne olmadığından bahsedelim.
Yazılım geliştirme, bilinenin aksine sadece kodlama değildir. Bir iki kullanıcı ekranı tasarlayıp, arkasına kod yazarak veritabanıyla konuşturmaktan ibaret değildir. Bu işler yazılım geliştirme sürecinin sadece bir bölümüdür. Ama toplamda “yazılım geliştirme süreci” kodlamaktan çok daha fazlasıdır.

“Yazılım Geliştirme Süreci” Nedir?
Bilinenin ve sıklıkla uygulananın aksine yazılım geliştirme hadi “yeni bir proje açalım, bir form çekelim” şeklinde yapılmaz. İlk olarak yazılımdan ne beklendiğinin belirlenmesi gerekir. Yani çözümün tanımlanmasıyla başlanır yazılım projelerine. Ardından çözümün geliştirilmesi adımı gelir. Son olarak da çözüm müşteriye kurulur ve bakım/destek süreci başlar.
Tek Kişilik Yazılım Evi’nde her şey çok basittir. Yazılım geliştirme süreci de basitçe tanımlanmıştır.
1.        Tanımla ve planla
2.        Çözümü geliştir
3.        Yazılımı kur ve destekle

Birinci Aşama: Tanımlama/Planlama
Ortada bir müşteri varsa yazılım projesinden bahsedilir. Bir müşteri varsa, mutlaka bir beklenti de vardır!
Müşterinin ne istediğini öğrenip, ayırdığı bütçeyle belirlediği zaman dâhilinde gerçekte nelere ulaşabileceğinin belirlendiği aşamadır bu aşama. Yazılımın “ne yapacağı”, bu aşamanın yazılım geliştirme sürecindeki payıdır. Bu aşamanın birde her bir yazılım geliştirme sürecinin bir proje oluşu nedeniyle planlama, bütçeleme, ekip oluşturma vb. yönü de olacaktır.

İkinci Aşama: Geliştirme
“Ne istendiği” tam olarak anlaşıldıktan sonra, sıra bunu yapmaya gelir. Öncelikle istenenin hangi teknolojileri, programlama dillerini, veri tabanı altyapısını kullanarak, nasıl sağlanacağı belirlenir. Çözümün tasarımı adımı olarak bilinen bu adımdan sonra ancak kodlamaya başlanır. Kodlama sırasında ve sonrasında da yapılanın isteneni karşılayıp karşılamadığı sürekli test edilir.

Üçüncü Aşama: Bakım/Destek
Yazılımlar canlı varlıklardır. Yazılımların yaşam döngüsü iki temel süreçten oluşur. Geliştirilme ve bakım.
Müşterinin istekleri ve kaynaklar çerçevesinde geliştirilen yazılım, müşteri yerine yüklendikten ve kullanıcılara eğitimleri verildikten sonra gerçek anlamda yaşamaya başlamıştır. Bu noktadan itibaren kullanıcı ihtiyaçlarının farklılaşması, işin yapılış biçiminin değişmesi, donanım yükseltmesi, yeni teknolojilerin gelişmesi gibi birçok farklı nedenden dolayı yazılımlarda değişiklik yapılması gerekecektir. İşte bu süreç bakım sürecidir.

Yazılım Geliştirme Sürecinde En Önemli Adım Nedir?
Profesyonel olarak bir yazılım evinde çalışıyor veya tek başınıza proje geliştiriyor olabilirsiniz. Belki de ikinci iş olarak birileri için yazılım geliştiriyorsunuzdur. Belki bir öğrencisiniz ve ödeviniz bir yazılım projesi. Belki de hobi olarak kendinize bir yazılım üretiyorsunuz. Sebep ya da şekil ne olursa olsun, yazılım geliştirme sürecinin en önemli adımı “ne yapılacağının” doğru belirlenmesi ve doğru planlanmasıdır.
Ne yapılacağını doğru anlamadıysanız, ne kadar kaliteli bir tasarım çıkartıp, ne kadar doğru bir şekilde kodlarsanız kodlayın sonuç hatalı olacaktır. Tabii ki sonrasında yapacağınız şeyi nasıl yapacağınızı (tasarım) doğru belirlemeniz ve bunu doğru kodlamanız (geliştirme) önem kazanacaktır.  Ama neticede ne kadar iyi bir uygulama geliştirmiş olursanız olun, müşterinin beklentisini yerine getiremeyen bir uygulama, başarısız bir uygulama olacaktır.

Demek ki Yazılım Geliştirme Kodlamaktan İbaret Değilmiş!
Olaya “Tek Kişilik Yazılım Evi” çerçevesinden bakarsak, yazılım geliştirme aslında tüm süreçleriyle bir yazılım projesini gerçekleştirme anlamına gelir. Bu açıdan, yazılım geliştirme analiz, tasarım, kodlama, test ve bakım aşamalarından oluşur. “Yazılım Geliştirme Süreç Yönetimi” ya da ‘Yazılım Geliştirme Yaşam Döngüsü’ adı da verilen bu süreç, bu blogun temel konusudur.
Bundan sonraki yazılarda “Yazılım Geliştirme Sürecini” tüm boyutları, aktörleri ve işleyişiyle ele alıp, Tek Kişilik Yazılım Evi çerçevesinden sunacağım.

14/2/2008
Kadir Çamoğlu
kadircam@hotmail.com

Okuyucu Yorumları

Toplam 18 Yorum

çok güzel ve açıklayıcı bir yazı olmuş. ellerinize sağlık...

Bilgilendirici bir yazı, teşekkürler.

Yabancılar yazılım gelistirir. Biz de her konuda olduğu gibi sadece yorum yaparız

Güzel bir yazı olmuş fakat şunu kimse açıklamıyor. Bu işin standardı nedir? Detaylı aşamalar istiyoruz.

T.Ş..K EDERİM BİLGİ İÇİN AMA BUNLARI ZATEN SEKTÖRDE OLAN BİRİ BİLİR SOFTWARE VEYA HARDWARE HK ANLATTIKLARINIZ BİRAZ DAHA İYİ OLABLİRDİ...

Bu blogda amacım, yazılıma başlayacak olanlara ve yeni başlayanlara temel kavramlarla ilgili farkındalık yaratabilmektir. Bu nedenle konuların derinlemesine detaylı anlatıldığı yazıları burada bulamayabilirsiniz.

günlerdir netten bu tip bir yazı aruyordum. Gerçekten mükemmel anlatmışsınız. benim için çok faydalı oldu. teşekkürler.

Çok Güzel Anlatım Olmuş Teşekkür Ederim...

exselde klasorleri ara motoru yapip istedigimiz urunleri aratip teklif sayfasina atabilirmiyiz

Mail gonderdim musait olursaniz cevaplarinizi beklerim.

Anlatım gayet açık ve net anlamak istiyorsanız anlarsınız tabi niyetde önemli

Abi ben programlamacı olmayı düşünüyorum hangi dilden başlamalıyım?

@10 Mayıs 2016 07:51 delphi seninin için kolay olabilir

Merhaba , Ben 25 yaşında bir bireyim , çocukluğumdan beri hep yazılım işiyle uğraşmak istiyordum , fakat bir destek bulamadım , maddi ve manevi olarak . Şuan kendime güvenim var maddi yönden , bir kursa başlayarak bu işe başlamayı düşünüyorum , sizce nasıl bir yol izlemeliyim . Yardımlarınız için şimdiden teşekkür ederim .

Ben 9 yaşında bir çocuğum. Fransızca öğreniyorum ve Ingilizce bilmiyorum. Ne yapabilirim?

Yazilimcilligi nasıl yapabilirim

gerçekten biraz daha açıklayınız

Güzel açıklamışsınız elinize sağlık Benim bi sorum var ama ; 100 gününüz ve bu süreçlere bölmek zorundasınız nasıl paylaşım yaparsınız

Sen de yorum yaz

Takip Edin