Blog

Birçok proje neden başarısız oluyor?

Herkesin aklında güzel bir fikir veya yapılmasını istediği bir proje var biliyorum. Bu işi yaptırabilmek içinde güvenilir bir yazılımcı aranıyor. Yazılımın hangi tür olduğu çok önemli değil. Yaşanan sorunlar hepsinde benzer. Bu yazımda biraz bunlardan bahsedeceğim ve örnek olarak ise yine mobil uygulama üzerinden gideceğim.

Mobil uygulama yaptırmak için 2 yöntem var diyelim. Yani siz öyle sanıyor olabilirsiniz 🙂 3. yöntemi yazının devamında sabredip okuyanlar için anlatacağım.

  1. Freelance mobil yazılım uzmanı (mobil uygulama yazılımcısı)
  2. Mobil uygulama geliştiren şirket (yazılım firması)

Bana hergün o kadar çok mesaj yada telefon geliyorki inanamazsınız.

Şu freelance ile çalıştım işimi yarım bıraktı ve ödememi geri iade etmiyor ne yapmalıyım?

Şu şirket ile anlaştık başta iyi gidiyordu sonunda istediğimiz sonuca ulaşamadık şimdi ne yapacağız?

Aslında freelance mobil yazılımcı yada mobil yazılım firması baktığımızda çok farklı değil. Diyeceksiniz ki firma ile çalışmak daha garanti değil mi? Şöyle söyleyeyim hiç garanti değil. Hergün binlerce firma açılıp kapanıyor. Adresi ve telefonu var diye güvenilir olmuyor maalesef. Evet web sitesi olabilir ve birçok referans koymuşda olabilir sitesine. Ancak bunu teyit etmeniz çok zor. Freelance içinde aynı şey geçerli.

Sonuçta ne yapacağınızı bilemeyip birseçim yapıyorsunuz ve şansınız var ise istediğinize yakın bir sonuç alabiliyorsunuz. Peki, ya şansınız yok ise? O zaman paranızı ve en kötüsü zamanınızı boşa harcamış oluyorsunuz. Zaman ise bugünlerde paradan daha değerli biliyorsunuz.

Ben bu sebepten freelance yada şirket olarak iş yapmıyorum. Peki ne mi yapıyorum?

Projenize teknik liderlik yaparak sizin tarafınızda çalışıyorum. Aşağıda örnek bir mobil projede yaptığım bazı işler ve sorumluluklarım yer alıyor.

1 – Projeye ait kurgunun kontrolü/şekillendirilmesi ve apple/google politikalarına uygunluğu,
2 – Teknik ekibin kurulması ve sonrasında takibi3 – Teknik iş planının belirlenmesi,
4 – İşi yapacak teknik ekip ile ve yönetim ile haftallık düzenli toplantılar,
5 – İşin (yazılan kodun) düzgün olmasının sağlanması,
6 – Kodun ve tüm dökümanların yedeğinin alınması, git ( versiyon kontrol) sisteminin kurulması,
7 – Kalite kontrol için iyi bir test sürecinin yürütülmesi,
8 – Kodun teslim alınması ve sonrasında işin yürütülmesi için plan yapılması,
9 – Altyapının (server , backend, mimari, veritabanı) kurulması/şekillendirilmesi/işletilmesi konusunda destek,
10 – frontend uygulamalarının nasıl olacağının belirlenmesi ve yürütülmesi sırasında teknik destek.
11- Yazılımcı arkadaşların takıldığı yerde yardımcı olmak,
12 – İşveren haklarını korumak, işi hızlandırmak ve maaliyetleri düşük tutmak.

Çalışacağınız ekibi, kaç kişiye ihtiyaç olduğunu beraber belirliyoruz. Çalışacağınız taraf şirket de olabilir. Kim olursa olsun işi şansa bırakmamak için denetlenmeye ihtiyacı vardır.

Bu sektörde 20 yıldan fazladır çalışıyorum. Hala projelerin zorlu yerlerinde yazılım yapıyorum. İnanın neler gördüğümü anlatsam şaşırırsınız. Mesela başta işi kapmak için ucuz fiyat verip yok olanlar. Yada alınan ödeme ile gelişigüzel iş yapıp sonra daha çok para koparmaya çalışanlar. Her sektörün iyileri ve kötüleri vardır. Sektörü kötülemek yerine aslında amacımız doğruyu nasıl yaparızı bulmak olmalı diye düşünüyorum.

Bu belirlediğim yöntem ile örneğin flutter ile mobil uygulama yapacağız diyelim. Bize 1 flutter yazılımcısı 1 de backend yazılımcısı gerekiyor. Her ikisinide yapanlar var ama çok azdır ya da birinden birini çok iyi yapamayabilir. İki tarafda birbirinden bağımsız yazılan ama birbiri ile haberleşen önemli parçalardır. Mevcut çevrimizdeki güvendiğimiz arkadaşlar var ise onları önce tercih ederek arayışımıza başlıyoruz. Eğer onlar dolu ise bu sefer arayış ve detaylı görüşmeler devam ediyor. 2 hafta içinde istediğimiz ekibi kurduk diyelim. Burada proje sahibine şunu öneriyorum. Aylık anlaşmalar yapın! Sigortalı çalıştırırsanız ödemenizi maaş gibi ay sonunda gerçekleştirin. Sigortalı değil ise yarısı ay başında yarısı ay sonunda olabilir. Aylık değilde proje bazlı anlaşmanın birçok riskleri var. En büyük sorun çalışanların işe geçici bakmaları. Sizin açınızdan ise proje bitince projenizi teslim aldığınızı düşünelim, sonrasında işi yapan ekibin dağılması ile beraber bakım ve desteğin yapılamadığı bir durum oluşuyor. Başka yazılımcılar bulmaya çalışıyorsunuz ve herkes ben bunu baştan yapayım demeye başlıyor. Çünkü başkasının yazdığı kodu anlamak ve uğraşmak istemiyor.

Proje bazlı çalışma ve aylık çalışmayı kıyaslayalım. Bir iş var ve 3 ayda biteceğini düşünelim. İşi de profesyonel bir yazılım firmasına vereceksiniz. 3 kişilik ekibi size tahsis edecek ve 3 ay sürecek bir iş ise nerden baksanız 90-100 bin TL para istemesi lazım 3 yazılımcının 3+1(uzama riski) yani 4 aylık maliyetini çıkarıp kar etmesi için. Zaten 3 aylık frontend ve backend i olan bir iş yapıyor ve tek bir freelance ile 20-30 bin e anlaşıyorsanız iyice riske giriyorsunuz demektir. Neyse bu şirkete dönecek olursak. Buna alternatif 3 kişilik ekibi kurduğumuzu ve aylık anlaştıığımızı düşünelim. Dışarıdan çalışacakları içinde her birine 5000 veriyor olalım. Yani aylık 15000 gibi bir maaliet ortaya çıkıyor. 1 teknik lider + 2 yazılımcı ile projenizi yedeklemiş oluyorsunuz. Ben burada yapılan tüm işi tüm detayları ile bildiğimden biri ayrıldığında yerine yenisini buluyoruz ve iş o sırada aksamıyor. Bana birşey olsa (allah korusun 🙂 ) Bu durumda da diğer arkadaşlar işi biliyor oluyor. Proje birazda uzadı 4 ayda çıktı diyelim ortaya. Bu durumda 60.000 e iş yapılmış oluyor. Ancak işiniz tutacak ve daha büyüyecek ise bu ekibi kaybetmek istemezsiniz. Devam eden aylarda düzeltmeler, iyileştirmeler yada ek özellikler yaptırmaya devam ediyorsunuz. Proje bazlı işlerde bunu yaptıramazsınız. Ek sözleşme ile tekrar anlaşmanız gerekir. Sonuçta iş bitiminden 1-2 ay sonra işin ne noktada olduğunu anlamış ve proje bazlı işe göre daha az harcamış ve daha az riske girmiş olacaksınız.

Daha anlatacak çok şey var ama çok da uzatmadan konuyu toparlamak gerekirse, ben projenin büyüklüğüne ve ayıracağım zamana göre aylık bir teknik liderlik fiyatı belirliyorum. Ekibin kurulması , proje planı, tasarım süreci ve teknik herhangi birşeye başlamadan önce benimle anlaşmanız gerekiyor bu yöntemi tercih ettiğinizde. Çalışmalara hemen başlıyoruz.

İşin büyüklüğüne ve harcanacak zamana göre aşağıdaki örnek olarak sunduğum çalışma yöntemlerinden birini seçebilirsiniz.

Projeniz önemli ve sizde bu konuda yatırım yapmaya niyetli iseniz benimle irtibata geçebilirsiniz. Hem süre tasarrufu, hem maaliyetlerin düşürülmesi hem de kaliteli ve riske girmeden iş yapmak için benim önerim bu şekilde. Bu alacağım ücretin karşılığını size zaman, kaliteli çıktı ve uygun kaynak kullanımı sunarak fazlası ile çıkaracağımdan şüpheniz olmasın.

Sevgi ve saygılarımla.


UI Setler ile zaman ve maliyet tasarrufu

Mobil uygulama geliştirirken işe ilk olarak tasarım süreci ile başlarız. Burada eskiden photoshop, sketch, figma gibi vektörel çizim programları ile tasarım yapılıyor (bu tasarım ekran sayısına göre değişmekle birlikte ortalama 1 ay kadar sürebilmektedir) daha sonrada müşteriden onay alınırken geribildirimler ile 15 günde burada revize sırasında vakit kaybına yol açıyordu. Son onay alındıktan sonra tasarım yazılımcıların kulllanabileceği şekilde parçalanarak (her icon, çizim ayrı şekilde çıkartılarak) zeplin , avocode gibi platformlara yüklenip yazılımcılar ile (android, ios) paylaşılıyordu.

Bugün sizlere bu 1.5, 2 ay gibi başlangıçta bizi uğraştıran süreci kısaltmak için ne yapabileceğimizden bahsedeceğim.

Flutter, Android Studio veya Ios-Xcode için hazırlanmış UI Setler içerisinde yüzlerce ekran tasarımı barındırıyor. Hatta birkaç UI Set birden kullanıp her ekran tipi için 10 larca seçeneğe ulaşmak mümkün. Bu ekran örneklerinin rengi, içindeki yerleşimi de kolaylıkla değiştirilebilir durumda. Bu sayede UI yani frontend tasarımını direk uygulama yapar gibi yapmak mümkün. Yani işe hemen girişmek. Eğer müşteri ile beraber çalışma ve seçtirme şansınız var ise örnek ekranlardan bu sayede demo data ile çalışan prototip uygulama hızlı bir şekilde yapabiliyorsunuz. Revizeler uygulama üzerinde canlı canlı yapılıyor ve UX deneyimi rahatlıkla gözlemlenebiliyor. Bu arada bahsetmeyi unuttum UI – User Interface yani Arayüz , UX ise User-Experience yani kullanıcı deneyimi. Photoshop gibi araçlar ile çizim yaptığınızda UX i deneyimlemek oldukça zorken, direk uygulama prototipi yaptığınızda çıkan sonuç gerçek bir uygulama gibi oluyor ve ekranlarda dolaşabiliyor ve uygulamayı deneyimleyebiliyorsunuz.

Şimdi daha çok uzatmadan bazı ekran örneklerini sizler ile paylaşacağım.

UI Set Örneklerini İndirmek İçin Tıklayın

Son olarak bu yukarıda verilen örnek ekranlar daha çoğaltılabilir ama sizlere fikir vermesi açısından yeterli olduklarını düşünüyorum. Bu ekranlar uygulama sahibinin yönlendirmesi ile yazılımcıya değişikliklerde söylenerek yaptırılabilir bu sayede çok ciddi bir zaman ve maliyet tasarrufu yapılmış olur.

Örneğin. Login ekranı 1.4 de gibi olsun renkler logomuza uyumlu olsun.

Sonuçta bu biraz agile çalışma yöntemine benziyor ve işi yapan ile iş sahibi başlangıçtaki bu sıkı çalışmaya gönüllü olmalı. Aksi halde bu süreç tıkanır. Böyle bir durum var ise ve ekran ekran istenen tarif edilemeyecek ise bir ui designer ile uygulama ekranlarını komple tasarlatıp sonra yazılım sürecine geçmek daha sağlıklı olacaktır.

Hepinize sağlıklı ve mutlu günler dilerim.


Hangi tip yazılım projelerine yatırım yapmalıyım?

Herkese merhaba,

En çok sorulan sorulardan birini bugün cevaplamak istedim.

Yazılım konusunda son zamanlarda çok sorulan üstüne düşünülen konulardan biri herhalde bu konu.

Öncelikle son zamanlarda en çok değer kazanan yazılım projelerini birkaç tipe ayırıyorum ve bu konuda düşünmenizi istiyorum

Son yaşadığımız pandemi süreci ile beraber herşey dijitalleşmeye başladı ve herkes işini online hallediyor. Bu süreçte eticaret satışları , online oyunlar, sosyal medya ve youtube izlenmeleri patlama yaptı. Bu kolay kolayda sona erecek gibi görünmüyor.

1 – Eticaret: Bu konuda tabi en güzel şey dijital ürünler satmak. Kargo vs uğraşmak istemiyorsanız dijital satılabilecek ürünler bulabilirsiniz. Firma kurup, kargo edilebilir ürünler satacaksanız bu uğraşa değer diyorsanız o zaman tabiki her zaman eticaret güzel bir seçenek ve bu trend bundan sonra artarak devam edecek. Her ürünün dijital bir mağazası olmak zorunda.

Bu kapsmda eticarete yönelik şu projeler akla geliyor.

1.a: Kendi eticaret sitenizi ve mobil uygulamalarınızı yapıp geleceğe hazır hale gelmek.

1.b: Eticaret yapanlara yönelik saas projeleri yapmak. Örneğin ödeme sistemlerini kolaylaştıran çözümler sunmak eticaret yapanlara.

1.c: Kolay eticaret sitesi ve mobil uygulama yapan bir altyapı oluşturmak ve saas olarak abonelikli satmak. Bu sayede herkes kolay eticarete başlayabilsin.

2 – Oyun: Oyun sektörü hiç bitmeyen ve hızla trendi yükselen bir sektör. Bu konuda geç kalmış sayılmazsınız. Sadece iyi bir oyun fikri bulup sonra kurguyu netleştirip bu konuda bir bilen kişiye danışıp bu sektöre adım atabilirsiniz. Oyununuz tüm dünyada tutulursa uygulama içi satınalma ve reklamdan çok güzel para kazanabilirsiniz.

3. – Youtube: Youtube son zamanda çok popüler oldu ve artık websitelerinden birşey okumak yerine herkes herşeyi youtube dan öğreniyor. Sizde youtube da video ve içerik hazırlamaya yönelik saas projeleri yapabilirsiniz. Bugün herkes en kolay ve güzel youtube videosu nasıl hazırlarım bunları düşünüyor.

4 – Sosyal Medya: Sosyal medyayı artık kullanmayan ve nimetlerinden faydalanmayan kalmadı. Bu yüzden sosyal medya da insanların işini kolaylaştıracak saas projeleri düşünebilirsiniz.

5 – Arkadaşlık uygulamaları: Bu konuda aslında hiç bitmeyecek ve günümüzde asosyalleşen toplulumuz sayesinde giderek artacak trendlerden biri. Herkes online buluşuyor ve tanışıyor. Bu durumda bu konuya yatırım yapmak da iyi kazançlar getirebilir.

6. – Güvenlik ve gizlilik üzerine uygulamalar: Biliyorsunuz bu kadar online platformlarda bulunduğumuz süreçte en çok ihtiyaç olan konularda biride gizlilik ve güvenlik haline geldi. Bu konuda kişilerin online güvenliğini sağlayan vpn ve proxy servisleri sunabilirsiniz.

7: Belli bir sektöre veya konuya yönelik saas projeler: Bu çok geniş bir konu ama şöyle anlatmaya çalışayım. Armut com gibi herşeyi yapan sistemler yerine sadece ingilizce öğretmenleri, yada diyetisyenleri ve hizmetlerini içeren portal çözümleri sunabilirsiniz. Örneğin tüm eve servise gelenleri biraraya getiren hem son kullanıcın hizmet alacağı hem servis verenlerin üye olacağı bir proje geliştirebilirsiniz.

Aklıma gelen diğer konular olursa eklemeye devam edeceğim. Şimdilik bu kadar özet bilgi yeterli sanıyorum. Umarım biraz düşünmenize yardımcı olmuşumdur.