Modern gelişim – İlerleme: Modern yazılım sanatı ve bilimi

GELECEĞİN BİLİMİ GENEL SANAT TEKNOLOJİ YAZILIM

Modern bir yazılım geliştirme pratiğinin neye benzediğini tanımlamak, hayatın anlamını düşünmek ve sadece bir cevap olduğunu iddia etmek gibidir.

Bununla birlikte, soyut bir şekilde, en iyi yazılım geliştirmenin her zaman sanat ve bilimin mükemmel bir karışımı olduğunu söylemek güvenlidir. Günümüzde modern uygulamaların değişen karmaşıklıklarında bile, bu hala geçerli. Fakat aynı zamanda açık bir soruya da işaret ediyor – modern yazılım geliştirme uygulamalarında tanımlanabilecek sanat ve bilimin özellikleri nelerdir?

Buna cevap vermeye başlamadan önce, öncelikle modernizasyon ihtiyacını neyin tetiklediğini kabul etmeliyiz.

Modernliğin güdüsü

Bazıları, geliştiricilerin, doğası gereği, her zaman yeni bir şey, daha önce gelenlerden daha iyi bir şey yaratmak istediklerini iddia edecektir. Bu yanlış olmaz. Bazıları, geliştiricilerin imkansızı – aynı zamanda doğru bir cevabı verme yetkisine sahip olmak istediklerini söyleyecektir. Ancak özünde, modern gelişim son kullanıcının talepleri tarafından yönlendirilir.

Son kullanıcı daha da kurudukça, daha az sabırlı, daha az affedici ve daha talepkar hale gelirler. Duyarlı, erişilebilir, etkileşimli, sezgisel uygulamalar istiyorlar. Güzel bir şekilde tasarlanmış ve tüm kanallarda zengin özelliklere sahip deneyimler sunan uygulamalar istiyorlar. Performans, hız, güvenlik ve kalite istiyorlar.

Bu talepler göz önünde bulundurularak, modern yazılım geliştirme uygulamaları için temel oluşturulmuştur. Her uygulama tam olarak aynı görünmeyecek olsa da, bunu son kullanıcının ihtiyaçlarını karşılamak için kullanılan sanat ve bilim arasındaki dengeye indirirsek, modeli tanımlayabilmek için tüm modern yazılım geliştirme uygulamalarında yeterli ortaklığı bulabiliriz.

Sanat: tasarım + geliştirme

Uzun yıllar boyunca tasarım ve geliştirme arasında daha fazla işbirliğine ihtiyaç olduğu hakkında konuşuldu. 

Bir tasarımcı ne çizer, bir geliştirici çoğaltmaya çalışır … ve genellikle değişen derecelerde başarı ile. Birden çok ekran boyutu ve form faktörü sunduğumuzda, tasarım ve geliştirme arasındaki işbirliği eşzamanlı değilse deneyim büyük ölçüde değişebilir.

Bununla mücadele etmek için, birçok modern yazılım geliştirme uygulaması, son kullanıcıya olağanüstü bir deneyim sağlamak ve süreçleri dahili olarak düzene koymak için tasarım sistemlerinin kullanımını kullanmaya başlamaktadır.

Tipik olarak, modern bir yazılım tasarım sistemi, hem yeniden kullanılabilir kod hem de yeniden kullanılabilir tasarım eserleri biçiminde UI bileşenleri ve görsel stil yönergelerinden oluşur. Sistem UI kalıplarını, temel öğelerini ve tasarım ilkelerini veya yönergelerini içerebilir. Birçoğu, en uygun UI ve UX için hangi araçların kullanılması gerektiğini tanımlamaktadır. Muhtemelen en yaygın olarak bilinen tasarım sistemlerinden biri (ve en çok açık kaynak yapısı nedeniyle kullanılır) Google’ın Materyal Tasarımı’dır .

Bir tasarım sistemi ile geliştiriciler ve tasarımcılar aynı müzik sayfasından şarkı söylüyorlar. Bu, birçok gecikmeyi ve tutarsızlığı ortadan kaldırır ve uygulamanın hem görsel hem de işlevsel deneyimi için kuralcı rehberlik sağlar. Geliştiricilerin son kullanıcının beklediği güzel tasarımlı, zengin özelliklere sahip duyarlı deneyimler sunmalarını sağlar.

Bilim: DevOps

Modern bir yazılım geliştirme uygulamasını tanımlamanın ikinci ve eşit derecede önemli yolu DevOps yaklaşımıyladır. 

Gerçek anlamda işbirlikçi bir işlev olan DevOps, birden fazla disiplini, insanı ve süreci, yüksek kalite ve yüksek verimlilik ortak hedefiyle bir araya getirir. Son kullanıcıların talep ettikleri hız, performans, güvenlik ve kalite DevOps ekibi ile yaşar ve ölür. 

Yapı otomasyonu, CI / CD, güvenlik, sürüm otomasyonu, KG, artı test ve izleme, iyi düşünülmüş ve yürütülmüş bir DevOps stratejisi aracılığıyla arandığında, sonuç pazara daha hızlı sürülme, daha fazla çeviklik, daha iyi üretkenlik ve artan güvenlik – hepsi modern yazılım geliştirme özellikleri.

Modern yazılım geliştirmede sanat ve bilimin ek örnekleri olduğunu iddia edebilseniz de, bir tür tasarım sistemleri ve son derece işleyen bir DevOps uygulaması olmadan modern bir uygulama bulmakta zorlanabilirsiniz. 

Bu öğelerin her ikisinin de güzelliği, son kullanıcının ihtiyaçları değiştikçe, doğası gereği her ikisinin de bu ihtiyaçları karşılamak için evrimleşebilecekleri yeterli çevikliğe sahip olmalarıdır. “Yaşamın, evrenin ve her şeyin nihai sorusunun cevabı” değil, ama oldukça dar.

Bir cevap yazın