top of page

Bir Uygulamayı Sıfırdan Yeniden Yazmanın Artıları ve Eksileri

  • Yazarın fotoğrafı: CodeX
    CodeX
  • 28 Eki 2020
  • 6 dakikada okunur

Bir mobil uygulamayı sıfırdan yeniden yazmanın avantajları ve dezavantajları nelerdir? Eski bir uygulamayı yeniden yazmak ne zaman bir hata olur? Bir Ürün Sahibinin bakış açısı.


Bir uygulamayı sıfırdan yeniden yazmanın artıları ve eksileri


Ürününüzün eski kodu var mı ve onunla birlikte gelen tüm dezavantajlardan muzdarip mi? Görünüşte basit olan özelliklerin ortalama pazarlama süresi sürekli artıyor mu? Uygulamanızın kullandığı eski teknolojik yığında çalışmaya istekli geliştiriciler bulmak sürekli daha zor ve daha pahalı hale geliyor mu? Ürününüz hatalar ve / veya performans sorunları ile mi bombalanıyor?

ree

Bu ve benzeri sorular Ürün Sahiplerini rahatsız etmeye başladığında, uygulamayı tamamen sıfırdan yeniden yazıp yazmamayı belirleyen bir ikilemle karşılaşabilirler. Öyleyse, eski bir uygulamayı sıfırdan yeniden yazmaya ne zaman değer? Bu yazıda, kararınızı vermenize ve sonunda doğru kararı vermenize yardımcı olabilecek bazı noktalara bakacağız. Bir uygulamayı sıfırdan yeniden yazmanın artılarını ve eksilerini incelemeden önce, uygulamayı yeniden yazmanın ne anlama geldiğini kısaca açıklayalım.


Uygulama yeniden yazma nedir ?


Öncelikle, proje yeniden yazmanın gerçekte ne anlama geldiğini tanımlayalım. Bu tanım, aynı sayfada olduğumuzdan emin olmak için gereklidir. Yazılım projesinin yeniden yazılmasını tartışan çok sayıda makale zaten var. Sonuç olarak, yeniden yazma olarak kabul edilen şeyin birden fazla tanımı vardır.


Tamamen yeniden yazma (sıfırdan yeniden yazma) ve ardından, yenileme, yeniden çalışma, uyarlama veya taşıma olarak da adlandırılan kısmi bir uygulama yeniden yazımının işlevsel tanımları vardır. Gördüğünüz gibi, bir yazılım ürününün yeniden yazılması fikri oldukça kafa karıştırıcı olabilir.


Burada, bir uygulamayı sıfırdan yeniden yazmaya odaklanacağız. Bu yaklaşım, proje yeniden düzenlemesinin aksine, çeşitli avantajlar ve bazı dezavantajlarla birlikte gelir.


Şimdilik , bir uygulamanın tamamen yeniden yazılmasına atıfta bulunduğumu unutmayın , bu da bazen belirli kod bitlerinin yeniden kullanımına izin verebilir . Örneğin, algoritmaların uygulamaları veya çeşitli (uygun şekilde izole edilmiş) iş kullanım durumları, iş gereksinimleri değişmediği sürece bazen kolayca yeniden kullanılabilir.


Aksine, proje yeniden düzenleme, büyük ölçüde eski kodu yeniden kullanmaya ve yalnızca belirli bölümleri sıfırdan yeniden yazmaya odaklanır. İkisi arasındaki çizgi, varsaydığınız tanıma bağlı olarak ince.


Yeniden düzenleme sürecinin daha kesin bir açıklaması ve yeniden yazma yerine onu seçmek daha iyi olduğunda, lütfen Mobil Uygulamayı Yeniden Yazma


Bir uygulamayı sıfırdan yeniden yazmanın avantajları


Daha hızlı yineleme


Uygulamanın yeniden yazılması genellikle uygulama mimarisinin yeniden tasarımını da içerir. Yeni mimari, kodun gelecekte kolay değiştirilebilmesini ve iyileştirilmesini sağlamalıdır. Bu, ilerleyen daha hızlı bir yineleme ve daha kısa bir geri bildirim döngüsü ile sonuçlanacaktır.


Sınırsız ve daha hızlı geliştirme


Geliştiriciler hiçbir şekilde mevcut kodla sınırlı olmayacak - bu da daha güncel teknolojileri kullanmayı kolaylaştırıyor. Bu, uygulamanızın en son teknolojiler kullanılarak geliştirildiğinden emin olmanıza yardımcı olacaktır. Boş, gösterişli bir moda kelime değil. Yeni teknolojiler en popüler olanlardır. Yazılım mühendisleri onlarla güncel olmayı sever. Bu, geliştirme ekibinizi genişletmeye karar verirseniz, piyasada aralarından seçim yapabileceğiniz daha fazla geliştiriciye sahip olacağınız anlamına gelir.


Eski bir uygulamanın her Ürün Sahibi, eski bir dil veya çerçeve için geliştirici bulmanın ne kadar zor olabileceğini bilir. Bunun dışında, teknoloji ne kadar popüler olursa, etrafındaki topluluk o kadar iyi ve geniş olur. Bu, geliştiricilerin karşılaştığı hatalar ve problemlerle nasıl başa çıkılacağı konusunda daha fazla bilgi olduğu anlamına gelir. Bu da daha hızlı bir uygulama geliştirme süreci anlamına geliyor .


Geçmiş hatalardan kaçının


Büyük yeniden yazımları yürütme konusunda deneyimli bir geliştirici ekibi oluşturduğunuz takdirde, yeni geliştirme ekibi muhtemelen önceki geliştiricilerin yaptığı hataları yapmaktan kaçınabilecektir. Bunun gerçekleşmesi için, iş alanı bilgisinin tam kontrolüne sahip olmanız gerekir.


Uygulama tasarımını yenileme


Uygulama yeniden yazma, genel uygulama tasarımı ve modüllerinin yanı sıra optimizasyonunu yeniden düşünmenize olanak tanır . Kullanıcı Yolculuğu Haritanızı yenilemek için harika bir fırsata sahipsiniz ve bu yol boyunca her adımın son kullanıcı için açıklayıcı olmasını sağlayın. İyi tasarlanmış bir kullanıcı deneyiminin açıklama gerektirmediğini unutmayın.


Uygulama özelliklerini yeniden düşünmek


Ürününüzün kullanıcıların sorunlarını en etkili şekilde çözüp çözmediğini doğrulama ve gerçekte hangi özelliklere sahip olması gerektiğine karar verme şansınız var. Yeniden yazma, bunu yapmak için mükemmel bir fırsattır, çünkü muhtemelen Kullanıcı Yolculuğu Haritasını veya benzer bir belgeyi yeniden ziyaret edeceksiniz.


Aynı anda eski uygulamayı korumadan tamamen yeniden yazmaya karar vermek, rakiplerinize bir veya iki yıl için ücretsiz bir başlangıç ​​hakkı vermek gibidir (örneğin, yeni özellikler oluşturmaya). İş açısından bakıldığında bu çok fazla zaman. Bu kadar kötü stratejik planlama nedeniyle tüm şirketler işsiz kaldı.


Zaman tükeniyor


Zaman, yeniden yazma sırasında tüketilecek çok önemli bir kaynaktır. Bir amaca hizmet etmedikçe ve kritik sorunları çözmedikçe bir kısmı boşa gidecek. Yeniden yazma süreci boyunca, başlangıçta gizli olan bazı iş gereksinimleri muhtemelen ortaya çıkacak ve ek gecikmeler olabilir.


Çalışan özellikleri de yeniden yazar


Yeniden yazma işlemi, uygulamanın gerektiği gibi çalışan bölümlerini atar. Yeniden yazma, geliştiricilerin tüm özellikleri yeniden uygulamasını gerektirir. Uygulama başka bir dilde veya çerçevede yeniden yazıldığında bu kaçınılmazdır ve ürün aynı teknolojik yığını kullanmaya devam ettiğinde yeniden yazmaya karşı güçlü bir noktadır.


Bu nedenle, uygulamaları tamamen aynı teknolojileri kullanarak yeniden yazmaktan bahsederken, mükemmel derecede iyi olan bir kod parçasının bile çoğu zaman yeniden yazılması gerekecektir. Neden? Çünkü muhtemelen yeni mimariye uymuyor. Bu kadar eski bir kod parçasını bırakırsak, yeni mimarinin bu eski parçayı kullanabilmesi için hemen bazı adaptörler kullanmamız gerekir. Bu bir kırmızı bayraktır çünkü eski kod yeni mimariyi kontrol etmemelidir.


Önceki hata düzeltmelerini boşa harcıyor


Hataları gidermeye yönelik önceki çabalar boşa gidiyor. Projenin önceki sürümü, hataları gidermeye ayrılmış çok fazla uzmanlığa ve geliştirme süresine sahip olabilirdi. Geliştiriciler, yalnızca kullanılan teknolojilerden ve çerçevelerden kaynaklanan sorunlar etrafında çalışmaya zorlanmış olabilir. Uygulamadaki hatalardan bazıları her zaman kullanılan kitaplıklara ve mimariye bağlı olacak ve aksi halde görünmeyecektir. Tamamen yeniden yazmak, sanki tüm bu çabalar boşa gitmiş gibi.


Paydaşların beklentilerini yükseltir


Kuruluşunuzun beklentilerini karşılamalısınız. Şirketin dört bir yanından paydaşlar, bir başvuru yeniden yazıldığında kesinlikle bir yatırım getirisi bekleyeceklerdir. Örneğin, daha iyi UX / UI tasarımı, geliştirme hızında iyileşme, geliştirilmiş genel ürün performansı, kullanıcılardan daha iyi uygulama derecelendirmesi, daha iyi kullanıcı tutma veya genel olarak daha fazla yeni kullanıcı olabilir. Ürün Sahipleri bu beklentileri yönetmek zorundadır. Paydaşları pastanın muma değdiğine ikna edecek kişi siz olacaksınız.


Yeniden yazmanın artıları ve eksileri


Eski bir uygulamayı yeniden yazmak ne zaman hata olur?

Yeni bir ekip devralınan bir proje kodunu gördüğünde, müşteriyi ikna etmek ve yeniden başlamak genellikle doğru görünebilir. Öyle ki, Uygulama Sahibi için her zaman mümkün olan en iyi seçenek bu değildir.

ree

Ayrıca, bir uygulamayı orijinal sürümü üreten aynı geliştirme ekibiyle yeniden yazmak nadiren iyi bir fikirdir . Geliştiricilerin çeşitli nedenlerden dolayı çok fazla teknik borç biriktirdiğini varsayalım (son tarihler, düşük becerili geliştiriciler). Tek sebep bu olsaydı, şirket kesinlikle tam bir yeniden yazma yapmamalıdır.


Geliştiriciler, yalnızca sorumlu oldukları karmaşadan kurtulma umuduyla (diğerlerinin yanı sıra) yeniden yazma kararı talep ederse, güvenilir süreçlerden yoksun olduğunuzu gösterir. Her Uygulama Sahibi, bu sorunların neden ilk etapta ortaya çıktığını keşfetmeye zaman ayırmadan boş bir sayfa ile ekibi ödüllendirmenin ve muhtemelen organizasyonel süreçleri yenilemenin muhtemelen aynı duruma - sürünen teknik borca ​​- yol açacağını bilmelidir.


Harika bir geliştirici ekibine sahip olduğunuzdan emin olsanız bile, çoğu şey sektörün faaliyet döngüsüne bağlıdır. Rakiplerinizden çok fazla baskı varsa, yeniden yazmayı hedeflememelisiniz. Tamamen yeniden yazmaya karar vermek, yeni özelliklerin yayınlanmasının uzun bir süre duracağı anlamına gelir.


Elbette, yeniden yazmak ve mevcut ürün sürümünü paralel olarak sürdürmek için zamanınız ve kaynaklarınız yoksa. İşletmeniz pazardaki belirli bir nişe odaklanırsa, pazara kadar geçen süreniz ölçüsü son derece önemlidir. Bu durumda, pazar pastasının istenen kısmını güvence altına alabileceğinizden emin olmak için tüm kaynaklarınızı kullanmalısınız.


Uygulamanızı yeniden yazmak için olası bir geliştirme ekibinin geçmişini kontrol edin


Daha önce de belirttiğim gibi, bir uygulamayı sıfırdan yeniden yazmak söz konusu olduğunda önemli olan, belirlenen ekibin beklentileri karşılayabildiğinden emin olmaktır. İdeal olarak, geliştiricilerin kim olduğu, geçmişlerinin ne olduğu ve genel deneyimleri hakkında bir fikir edinmek istersiniz . Bu tür ayrıntıları LinkedIn gibi profesyonel sosyal medyada veya geliştiricilerin özel Github depolarında arayabilirsiniz.


Bir yazılım geliştirme şirketi ile ekip kurmaya karar verirseniz, bu daha da kolay hale gelir. Müşterilerine karşı şeffaflığa değer veren bir şirket, bu ayrıntılardan bazılarını sizinle paylaşmaya istekli olacaktır. Örneğin, belirli geliştiricilerin dahil olduğu projeler veya müşteri memnuniyeti ile ilgili bazı ölçümler hakkında ayrıntılar alabilirsiniz.


Projelerin çoğu katı gizlilik sözleşmeleri kapsamında geliştirildiğinden, tam ürün adlarını alamayabileceğinizi unutmayın. Burada, uygulama geliştirmeniz için potansiyel bir iş ortağını nasıl kontrol edeceğinizle ilgili ayrıntılı bir makale okuyabilirsiniz .


Yeniden yazılacak projeler birçok şekil ve boyutta gelir. Büyük, karmaşık bir ürününüz varsa, uygun yazılım mühendislerinden oluşan bir ekip tutmanız çok daha iyi olacaktır.


Uzun vadede, daha önce karmaşık alanlara ve büyük kod tabanlarına sahip projeler üzerinde çalışan deneyimli geliştiriciler için fazladan ödeme yapmaya değer. Bu tür tecrübeli geliştiriciler, iş gereksinimlerini kendileri toplama, size akıllı sorular sorma ve böylece iş alanınızın tüm ayrıntılarını hızlıca kavrayabilme sürecinde size yol gösterebilir.


Ekibin gelecekteki planlarınız ve ek özelliklerinizden haberdar olduğundan emin olun


Bunun her zaman mümkün olmadığı kabul edildi. Ya da en azından tamamen değil. Bununla birlikte, kimseyi Waterfall modeline geri dönmeye ikna etmeye çalışmıyorum (bu, BT projeleri için tam bir hataydı ).


Çoğu zaman, bir yazılım geliştirme ajansı da bir Ürün Tasarım Atölyesi hizmeti sunacaktır. Bu, uygulama vizyonunuzu ve gereksinimlerinizi geliştirme ekibine iletmek için ideal bir fırsattır. Bu atölye çalışmalarının birkaç günü, ekibe önümüzdeki aylar için yeterli bilgi sağlayacaktır. Yazılım mühendisleriyle birlikte, daha sonra, uygulamayı başlatmak için çok önemli olan birkaç özelliği ( Minimum Uygulanabilir Ürün ) içerecek şekilde ayarlamayı deneyebilirsiniz .


Aynı zamanda, geliştiricilere sunulan daha geniş vizyon, onları mimariyi planlayabilecek hale getirecektir. Gelecekte eski kodun etkisini büyük ölçüde sınırlayarak, yeni özellikleri eklemeyi neredeyse ağrısız hale getirecek şekilde yapılandırabilecekler. Eski kod nedir ve neden korkulmalıdır? Uygulamayı yeniden düzenleme ve yeniden yazma karşılaştırmasına odaklanan makalemizde daha fazlasını okuyabilirsiniz .


Bir uygulamayı sıfırdan yeniden yazmanın artıları ve eksileri - sonuç

Hem geliştiricilere hem de Ürün Sahiplerine cazip gelse de, bir uygulamayı sıfırdan yeniden yazmak, iş açısından her zaman en iyi seçenek değildir. Bir Ürün Sahibi olarak, kuruluşunuzun gelişmesi için ihtiyaç duyduğu şeyin bu olduğundan emin olmak için çok sayıda faktörü göz önünde bulundurmanız gerekir.


Bu kılavuzu temel alarak, yeniden yazmanın gidilecek yol olduğuna karar verirseniz, ileride düşünmeniz gereken daha çok uyarı olduğunu unutmayın. Her şeyden önce, bu onların ilk rodeoları olmayan deneyimli geliştiricilerden oluşan bir ekibe güvendiğinizden emin olmalısınız.


Karmaşık bir uygulamanın yeniden yazımında başarılı olma şansı, geliştiricilerin deneyimleriyle ve ne kadar iyi bir ekip oluşturdukları ile doğru orantılı olarak yükselir. Bunun dışında, uygulama vizyonunuzu onlara iletmek için her şeyi yaptığınızdan emin olun. Takım iş alanını ne kadar iyi anlarsa, çalışmaları uzun vadede o kadar iyi ve verimli olacaktır.

Yorumlar


Abonelik Formu

Gönderdiğiniz için teşekkür ederiz!

  • Twitter

©2020, cyberdarkbox tarafından Wix.com ile kurulmuştur.

bottom of page