Ö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.
- Okumayı ve yazmayı sevin
- İsteklerinizi listeleyin
- Planlı olun
- Yazılım geliştirme ekibine zaman ayırın
- İşveren değil partner
- Herkesin projeye katkı yapmasını sağlayın
- Özel yazılım ucuz bir iş değildir
- Sabırlı olun
- Aşamalara bölerek çalışın
- Çok fazla şeyi aynı anda hedeflemeyin
- Tekerleği yeniden icat etmelerini istemeyin
- İletişiminiz daima yazılı olsun
- Bir sözleşmeniz olsun
- Yazılımın tamamlanmasından sonrasını da düşünün
- 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.
21. Yüzyılın başarılı patronları ve çalışanları düzenli okuyan insanlardan oluşacak, bunu bir yere not edin.
— Ertan Kayalar (@ertankayalar) May 17, 2017
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
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
İş 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.
Özel yazılım yaptırırken işveren değil partner olduğunuzun farkında olun{' '} https://t.co/N04BDAuJCG via{' '} @ertankayalar
— Ertan Kayalar (@ertankayalar) 18 Mayıs 2017
6) Herkesin projeye katkı yapmasını sağlayın
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.
Yazılım geliştiricinin karşısına doğru kişileri koyun. Başarı için başka bir yol yoktur. https://t.co/N04BDAuJCG{' '} via{' '} @ertankayalar
— Ertan Kayalar (@ertankayalar) 18 Mayıs 2017
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ş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
Ö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.