Özel yazılım yaptırmak istiyorsunuz. Peki nasıl bir işe giriştiğinizden haberiniz var mı ?

Neredeyse 30 yıldır kodlamaya uğraşıyorum. Hazırlıksız girişilen pek çok iş gibi özel yazılım projeleri de çok acı verici olabiliyor: Zaman ve para kaybı, hayal kırıklığı, gelecek planlarınızın aksaması. Daha kötüsü, girişimler başarısız yazılım denemeleri nedeniyle çalışma hayatına son noktayı koyabiliyor.

Bu nedenle özel yazılım yaptırmadan önce aşağıdaki önemli noktaları kavramak size çok kritik avantajlar sağlayacaktır.

  1. Okumayı ve yazmayı sevin
  2. İsteklerinizi listeleyin
  3. Planlı olun
  4. Yazılım geliştirme ekibine zaman ayırın
  5. İşveren değil partner
  6. Herkesin projeye katkı yapmasını sağlayın
  7. Özel yazılım ucuz bir iş değildir
  8. Sabırlı olun
  9. Aşamalara bölerek çalışın
  10. Çok fazla şeyi aynı anda hedeflemeyin
  11. Tekerleği yeniden icat etmelerini istemeyin
  12. İletişiminiz daima yazılı olsun
  13. Bir sözleşmeniz olsun
  14. Yazılımın tamamlanmasından sonrasını da düşünün
  15. Bonus püf noktası: Size doğruları söyleyen bir programcı ile çalışın

1) Okumayı ve yazmayı sevin

Günümüz dünyasında hemen yazı ile iletişim standart oldu. Ancak şöyle sözleri sıkça duyuyorum:

"Ertan bey, size telefonla ulaşmak istiyorum, yazmayı sevmiyorum..., gönderdiğiniz mail çok uzun, hepsini okuyamadım..., ne istediğimi telefonda hemen tarif edebilirim..."

Binlerce yıl önce mağaralara ve taşlara yazılar yazmak zorunda kalan atalarımızın kemikleri sızlıyordur herhalde. Pek çok insanın, yazı yazma veya okuma alışkanlığının olmaması 21. yüzyıla yakışmıyor. Daha da acısı, çağın gerisinde bırakıyor.

TV ve sosyal medya kültürü insanları dar alanda düşüren, sadece iki noktanın arasını birleştirebilen bir toplum yarattı. Ancak yaşadığımız yüzyıl bilgi çağı. İnsanların yerini robotlar alıyor. Yazmak ve okumakla problemleri olan insanların yapacağı çok fazla şey kalmıyor.

Yazılım projesi, adı üstüne yazarak yapılan bir çalışmadır. Problemlerinizi ve ihtiyaçlarınızı yazılımcının, iş ortaklarınızın ve kalan herkesin anlayacağı bir metinde toplayabilirseniz ilk adımı doğru atmışsınız demektir.

2) İsteklerinizi listeleyin

bir liste yapın

Projeden beklediklerinizi, hedeflediğiniz noktaları listeleyin.

Bu metin, şirketinizdeki ilgili herkesin kontrolünden geçmeli. Bu talepler, yazılım geliştirici ile çalışmadan önce hazırlanmalı ve yazılım geliştirici ile gözden geçirilmelidir.

Ne istediğinizi belirlemeden özel yazılım işine başlamayın.

3) Planlı olun

Projenizle ilgili ana hatlarını belirledikten sonra yazılım geliştirici ile birlikte etkili bir plan yapın. Ana hatları belirleyin. Önemli ve kritik noktaları gözden kaçırmamaya çalışın.

Firmanızda yazılımın çözmeye çalıştığı sorunu yaşayan kullanıcı veya uzmanlarla görüşerek planlama yapın.

Ev yaptırırken plan yaparız, yola çıkarken ve hatta hafta sonu gezerken bile plan yaparız.

Plansız iş yapmayın!

4) Yazılım geliştirme ekibine zaman ayırın

yazılım toplantısı

İş hayatım boyunca en çok karşılaştığım sorunlardan birisi, verimsiz iş toplantıları. Önemli bir projeyi konuşurken veya bir yazılım eğitimi sırasında en sık gördüğüm eylem, sık sık telefon görüşmelerinin yarattığı kesintilerdir.

Acil olmayan, gün içerisinde başka bir saate kaydırılabilecek görüşmeleri, kritik kararlar alırken yapma alışkanlığı. Hem imajınız bozulur, hem de önemli konuları kaçırırsınız.

Ayrıca karşınızdaki insanların zamanına saygı göstermemek de iyi bir davranış değildir.

Yazılım ekibi ile toplantılarda kesintisiz bir ortam çok daha etkili sonuçlar üretecektir.

5) İşveren değil partner

Özel yazılım projeniz ancak sizin katkınızla başarılı olabilir. Sadece para vererek işinizin bittiğini düşünmeyin.

Özel yazılımın çözmeye çalıştığı alanda uzman olan sizsiniz. Muhasebe gibi standart uygulamalar dahi olsa, yazılım geliştirme ekibi ile birlikte çalışmalısınız.

Yazılım Geliştirme ekibine doğru bilgileri vermek, yazılım teslimatlarını test etmek, yazılım geliştirme ekibinin ihtiyaç duyduğu zamanı onlara ayırmak zorundasınız.

6) Herkesin projeye katkı yapmasını sağlayın

takım çalışması

Bir yazılım geliştirici arkadaşım anlatmıştı.

Proje başladıktan 6 ay sonra müşterisinden şöyle bir talep gelmiş. “bay/bayan X, artık somut bir şeyler görmek istiyor, sabrı kalmadı…” Adını ilk defa duydukları bu kişinin yazılımın çözmeye çalıştığı sorun konusunda firmadaki en yetkili ve uzman kişi olduğunu duyduklarında şaşkına dönmüşler.

Yazılımın çözmeye çalıştığı konudaki sorunları yaşayan kişiler ile yazılım ekibini bir araya getirin.

7) Özel yazılım ucuz bir iş değildir

Pek çok girişimci, özel yazılım ile paket yazılımın arasındaki farkı anlamıyor. Ücretsiz indirdiğiniz bir mobil uygulamanın maliyeti milyon dolarlar olabilir. Özel yazılımın maliyetli bir iş olduğunun bilincinde olun.

Dışarıda sayısız ücretsiz yazılım var. Açık kaynak kodlu yazılımlar hayat kurtarır.

Uzun süre web siteleri oluştururken WordPress kullandık. WordPress, daha düşük maliyete daha çok fonksiyon ve özelliklere sahip web siteleri sahip olma fırsatı veriyor.

Ancak herşeyi WordPress ile çözmek mümkün değil. WordPress ile tema ve eklenti programlamak mümkün. Her özel yazılımın ihtiyacına göre farklı araçlar kullanılması gerekiyor. Bu noktada Symfony veya Laravel PHP frameworklerden başlayarak Django veya Next.JS gibi teknolojiler öneriyorum.

Projenin ihtiyaçları ve hedefleri hangi teknolojiyi seçmemiz gerektiğine karar vermemizi sağlıyor.

Eğer özel yazılım yaptırmak istiyorsanız, bunun maliyetli bir iş olduğunun farkında olun.

Eğer bütçeniz yeterli değilse hazır çözümlerden size en uygununu tercih etmeye çalışın.

8) Sabırlı olun

yazılım geliştirmede sabırlı olun

Yazılım geliştirme uzun dönemli bir iştir. Her şey planlı bile olsa beklenmedik sorunlar ortaya çıkabilir. Gecikmeler yaşanabilir. Dünyanın en büyük yazılım şirketleri bile yazılım gecikmeleri yaşarlar.

9) Aşamalara bölerek çalışın

En önemli adımlardan başlayarak yazılımı aşamalara bölün.

Ben aylık safhaları tercih ediyorum. Her ay tamamlanan işleri denetlemek daha kolaydır. Projenin hangi aşamada olduğunu daha kolay anlayabilirsiniz.

Gecikmeler olursa mutlaka takipçisi olun.

10) Çok fazla şeyi aynı anda hedeflemeyin

Yazılım geliştirme projesinde küçük adımlarla hedeflerinize ulaştıracak bir plan yapın. Aynı anda birden fazla hedefe odaklanıp projeyi sabote etmeyin.

Özel yazılım geliştirmenin karşısındaki en önemli tehlike, acele ederek sonuca çabuk ulaşacağını sanmaktır. Hızlı ve çok fazla hedefi yapmaya çalışırken hata yapma riskinizi arttırırsınız.

Önem derecesine göre bir plan yapın. En önemli bölümleri gerçekleştirdikten sonra kalanları yaparak devam edin.

11) Tekerleği yeniden icat etmelerini istemeyin

Mümkün oldukça "hazır malzeme" kullanın. Problemlerinizi çözecek parçalar daha önce başkaları tarafından hazırlanmış olabilir. Programcıya bunları kullanıp kullanamayacağını sorun.

WordPress, binlerce eklenti ve teması ile kısa sürede bir web sitesi kurmanızı sağlar. Örneğin WooCommerce eklentisi ile aynı anda hem bir blog hem de bir sanal mağazanız olabilir. (Ayrıca dijital pazarlama yapmak için idealdir.](https://pazarlama.info.tr)

Drupal, Joomla veya Prestashop gibi hazır açık kaynak pek çok çözüm de aynı yoldan gider.

Python, Javascript veya PHP Frameworkler, hazır programlama altyapısı sunarak, içine sayısız hazır küçük programcıklar kurmanızı sağlarlar. Bu proje süresini ve bakım maliyetlerini azaltır.

Yazılım teknolojileri ile igili daha fazla ayrıntıyı aşağıdaki yazımda bulabilirsiniz.

Özel yazılım teknolojileri seçerken neden dikkatli olmalı ?

12) İletişiminiz daima yazılı olsun

En başta söylediğim gibi: yazmayı sevin. İletişiminiz yazılı olursa, arada konuşulmayan, unutulan veya atlanan konular olmaz.

İletişiminiz geriye doğru kayıt altında olursa eksik bırakmazsınız. Yazılı iletişim konu üzerinde daha net düşünme imkanı verir.

Ben saatlerce telefon konuşması yapmak yerine dökümantasyonu tercih ediyorum.

13) Bir sözleşmeniz olsun

Her iki tarafın da kazanacağı bir sözleşme yapın.

Sözleşme yapmadan bir işe başlamayın.

Sözleşmenin anlamadığınız maddeleri varsa bunu sorun.

Ekte teknik jargondan uzak proje detayları ve basit aylık projenin planlandığı bir zaman tablosu sunmalarını isteyin.

14) Yazılımın tamamlanmasından sonrasını da düşünün

Özel yazılımda işiniz tamamlanmakla bitmez. Yazılımın bakımı da çok kritik bir noktayı oluşturur.

Bakım ve desteğin koşullarını en baştan belirleyin.

Yukarıda bahsettiğim PHP frameworkler gibi uzun dönem desteklenen yazılımlar kullanın.

Yazılım yaşayan bir projedir. Sürekli geliştirilmeye açık olması ve hatalardan ayıklanması gerekir.

15) Bonus püf noktası: Size doğruları söyleyen bir programcı ile çalışın

riskler

Özel yazılım projesi pek çok risk taşır. Bu riskler, projenin gecikmesi, hatalı çalışması veya projenin bir türlü tamamlanmaması vb. şekilde gerçekleşebilir. Bu risklerin gerçekleşmeden önce işaretlerini ilk gören kişiler yazılım geliştiricilerdir.

Size olumsuzlukları açıkça ve erken söyleyebilecek bir yazılım geliştirici ile çalışın.

Zararlarınızı erken telafi etmek gibisi yoktur.

Sonuç

Pek çok girişimci için özel yazılım geliştirme hayal kırıklığı veya çok zor bir iş olarak hatırda kalır. Aslında özel yazılım karmaşıktır ve iyi planlanmadığı takdirde kolayca raydan çıkabilecek bir çalışmadır.

Özel yazılım yaptırmak isteyen herkes doğru katkıları yapmak zorundadır.

Eğer iyi bir planlama yapar doğru kişilerden oluşan bir ekip oluşturabilirseniz başarılı olmanıza herhangi bir engel yoktur. Size bahsettiğim temel noktalara dikkat ederek kolayca risklerinizi azaltabilirsiniz.

Sizin özel yazılım projeniz nedir ? Nasıl bir tecrübeniz oldu ? Yorumlarda paylaşabilirsiniz.

Eğer yazıyı beğendiyseniz sosyal medyada paylaşarak başkalarının da faydalanmasını sağlayabilirsiniz.