Tasarım Sistemi

Tasarım sistemi nedir? Neden tasarım sistemlerine yapılan yatırımlar hızla artıyor? Gelin, bu sorulara birlikte cevap arayalım.

Atilla Alışkan
HAVELSAN
10 min readJun 12, 2021

--

Tasarım Sistemi

Ürün geliştirme süreçlerinde sunulmak istenen çözüm kapsamında, kullanıcıların en iyi deneyime ulaşabilmeleri hedeflenmektedir. Bu hedef doğrultusunda, ürünü kullanırken hissettiklerini araştırıp analiz eden, yorumlayan ve bu bağlamda çözüm sunmaya çalışan tasarımcılar olarak değer üretmeye çalışmaktayız. Değerler ise, ilgili çözümü kim için yaptığımıza, ürünün hangi ihtiyacı karşılayacağına ve kullanım yerine göre şekillenmektedir. Bu amaç doğrultusunda, her gün kullanıcıların bilişsel yükünü azaltacak, etkileşim maliyetlerini düşürecek, ihtiyaçlarını karşılayacak problemleri tanımlayıp çözerek optimize etmek ve sonuç olarak kullanılabilir ürünler sunmak için çabalıyoruz.

Günümüz teknolojisinin geldiği noktada, dijital evrensel bir ekosistemin ve küresel ekonominin parçası olarak, bir ürüne yaygın bir şekilde her an gerek telefonumuzdan, gerekse bilgisayarımızdan rahatça erişerek ürünü anında kullanabilme imkanına sahibiz. Bu durum öyle bir seviyeye geldi ki tüketici, “Sahip olduğum bu ürünü, sahip olduğum diğer platformlarda da (örneğin oyun konsolumda, evimdeki akıllı asistanımda, televizyonumda, kolumdaki akıllı saatimde, kapımın önüne park ettiğim arabamda, vs.) kullanabilir miyim acaba?” sorusu ile ürün opsiyonlarını kontrol ettiği bir farkındalığa erişmiştir. Evrensel uygulamaların yaygınlaşmasıyla, bu farkındalık kimi ürünlerde tüketiciler için bir tercih ölçütüne dönüşmüş durumdadır. Bu sebepledir ki birçok ürün, erişilebilirliğini yaygınlaştırmak ve hedef kitlesine farklı ortamlardan da hizmet sunabilmek için yarış halindeler. Bu ve benzer birçok yaklaşım kullanıcıları kral tahtına oturturken, firmaları tercih edilen olmak için ürün politikalarında inovasyonlar yapmaya sürüklemektedir. Tercih edilen olmak, artık bu gibi maliyetleri göze almak zorunda olduğumuz bir unsur şekline dönüşmüştür. Aksi takdirde, konumumuzu rakibimize kaptırmamız an meselesi, değil mi? Ne de olsa bu dijital evrende, muhakkak bir alternatifimiz vardır.

Peki, bunları dile getirdikten sonra birçok değişkenin yer aldığı ve her şeyin birbiriyle bağlantılı olduğu üretim döngüsü içerisinde, dikkatleri son kullanıcılardan alıp, bizzat üretim süreçlerinde çalışan kişilere çevirecek olursak nasıl bir manzara ile karşı karşıya kalırız? İşte bu noktada, rekabetin hat safhada olduğu, zamanla yarışılan ve kimi zaman keskin sınırlar içerisinde kullanıcılarımıza sağladığımız deneyime, üretim çerçevesinden bakmamız gerekiyor. Kullanıcılara farklı ortamlarda da aynı tutarlılıkta hizmet sağlama gerekliliği yeniden karşımıza çıkıyor. Üretim koşulları çerçevesinde, fikir aşamasından tutun da ürünlerin olgunlaşıp son kullanıcılarla buluşmasına dek olası tüm süreçlerde, farklı disiplinlerdeki kişilerin rol alma gerekliliği ortadadır. Aynı yöne bakabilme eforu ile kimi zaman farkında olmasak da ortak üretim, çözüm yolları sağlama süreçlerinde önemli ve maliyetli bir etken olmaktadır.

İster birkaç kişiden oluşan küçük bir girişim içinde olun, isterseniz yüzlerce çalışanı olan bir şirket bünyesinde çözüm üretmeye çalışın, Tasarım Sistemi kavramına yabancıysanız veya henüz gündeminizde değilse, bir daha düşünün derim!

Ürün veya hizmetimiz ne olursa olsun, kullanıcılarımızın bizi deneyimlediği kadar olduğumuzu aklımızdan çıkarmamalıyız. Bu bağlamda, tasarımı merkeze alan firmaların, farkı giderek açtıklarına şahit oluyoruz. Bu fark artık günümüzde sadece son kullanıcılarımızdan aldığımız geri dönüşler sonucu ölçtüğümüz memnuniyetle değil, aynı zamanda iç üretim süreçlerimizdeki çalışan deneyimiyle de doğrudan ilgili bir hal almış durumdadır.

Tasarım Sistemi (Design System) nedir?

Arayüz tasarım süreçleri, dikkate alınması gereken birçok şeyi beraberinde getirir. Bu süreci, araştırma, tasarımın stili, ölçeklenebilir olması, uygulamanın tümündeki modülerlik, birden fazla ekibin nasıl kullanacağı, geliştirme maliyeti, testler, uzun vadede nasıl kullanılacağı ve optimizasyon süreçleri, vs. olarak örneklendirmek mümkündür.

Günü kurtaracak basit, pansuman çözümler üzerine tasarım ve geliştirme yapılıyor olabilir. Bu tarz yaklaşımlar an itibarıyla bir işe yarıyor da olabilir. Ancak iş sürdürülebilir üretim süreçlerindeki kompleks problemleri çözmeye geldiğinde, bu problemleri sistem seviyesinde çözmenin gerekliliği ve bunun ne denli önemli olduğu ön plana çıkmaktadır. İşte bu sebeple, birçok şirket, hizmet, girişim, kurum, ürün, vs. kendi tasarım sistemlerine yatırım yapmaktadır. Çözüm ihtiyaçlarında tasarım, geliştirme ve testiyle her şeyin birbirini etkilediği modern üretim şartlarında, sistematik ve standartların olmadığı bir bakış açısından yoksun üretim yapmak, zaman ve maliyet açısından sürdürülebilir olmayacaktır.

Yaygın olarak gözlemlediğim iki şeyi paylaşacak olursam, tasarım sistemi sadece statik bir kullanıcı arayüz stil kütüphanesi (UI Design Kit) ya da sadece bir arayüz geliştirme (UI Development) kütüphanesi değildir. Tasarım sistemi bunları da içine alır, fakat daha geniş ve üretime dair daha kapsayıcı bir çözüm yaklaşımını, değer önerisi olarak özünde barındırır.

IBM — Carbon Design System örneği.
IBM — Carbon Design System

Tasarım sisteminin ne olduğunu bir çırpıda tarif etmek zor olsa da, birçok tasarım sistemi geliştirme sürecinde yer almış Tasarım Sistemi Danışmanı olan Nathan Curtis’in şu betimlemesi dikkate değer:

“Tasarım Sistemi, bir ürün portföyünde, tutarlı bir deneyim elde etmek için, kararların ve ekip davranışlarının uygulanabilir bir çerçevesidir.”

Yani üretim süreçlerinde, problemleri çözme yaklaşımı, bir tasarım dilidir. Bileşenlerin nasıl göründüğü, nasıl kodlanması gerektiği ve parça bütün ilişkisi ile kuralların çizildiği bir dokümantasyondur. Kendi içerisinde uyum bütünlüğü ile deneyim ve yazılım geliştirme arasında bir köprüdür. Hatta bunların ötesinde, ilkelerin yer aldığı bir kültürdür. Üretim süreçlerinde pozisyonundan bağımsız her bir bireye vizyon sağlar. Arayüz ilkeleri ile ürünün sesidir ve ihtiyaçlar doğrultusunda her zaman gelişime açıktır.

Google — Material Design “Bileşenler” örneği.
Google — Material Design “Bileşenler”

Tasarım sisteminin bir “sistem” olarak adlandırılmasındaki yegâne değer, içinde barındırdığı tüm varlıklarla birlikte (renk, tipografi, ikon, illüstrasyon, ses, animasyon vb.), yeniden kullanılabilir bileşenlerin görsel tasarımları, bu tasarımların kodlanma ve uygulanma şekilleri, tutarlılığı sağlamak amacıyla koyulan kurallar ve yaklaşımlarla birlikte bir çalışma felsefesidir.

Sistemler doğası gereği içerisinde kurallar barındırır ve haliyle bu kurallarla tutarlığın devamı sağlanır. Kurallar elbette sistematik çözüm koşulları çerçevesi ile gelişim ve değişime açıktır. Bu bütün içerisinde ve ihtiyaçlar doğrultusunda alınan yeni kararlarla yapılan değişiklikler, sistemin yeniden kullanılabilir yapısı gereği göz önünde bulundurularak hayata geçirilebilir. Platformlar değiştikçe ve teknoloji geliştikçe, sunulan imkanlar değişebilir. İhtiyaçlar değiştikçe de yeni tasarım çözümlerini gerektirebilir. Haliyle, bu ve buna benzer birçok sebepten dolayı tasarım sistemi aslında bir sonuç değil, bir süreçtir. Şunu unutmamak gerekir ki, diğer bütün ürün geliştirme süreçlerinde olduğu gibi, tasarım sistemi oluşturma süreci de her zaman büyüyüp gelişecektir.

Tasarım sisteminin öğelerinin yer aldığı tablo. Yapı taşları, UI Framework kütüphanesi ve kurallar.
Tasarım Sisteminin Öğeleri (Kaynak: UXPin)

Tasarım sisteminden bahsetmişken Brad Frost’un “Atomik Tasarım” metoduna değinmek gerekir. Dijital görsel bir arayüze sahip ürün geliştirme süreçleri için, bugün yaygın olarak kullanılan birçok tasarım sistemi, yeniden kullanılabilir bileşenler oluşturma yaklaşımıyla bu metottan faydalanmaktadır. Kısaca bu metodu tanımlamamız gerekirse, sistemin en küçük yapı taşlarının yeniden kullanılabilir şekilde bir araya gelerek, sağladığı değerlerin ihtiyaçları karşıladığı ve günün sonunda son kullanıcıların gördüğü sayfaları oluşturabilme yöntemidir.

Atomik Tasarım tablosu. Atom, Molekül, Organizma, Şablonlar, Sayfalar.
Atomik Tasarım

Tasarım sisteminin kapsamı, şirket kültürü ve organizasyon yapısı doğrultusunda değer önerisi ile ihtiyaç ve hedeflere bağlı olarak değişip, sürekli gelişme potansiyeline sahiptir. Temel varlıklardan hangi platformda kullanılıp ne şekilde ve hangi teknoloji ile geliştirileceği ile marka kimliğinden örüntü örneklerine; örnek uygulamalardan doğru ve yanlış kullanım örneklerine kadar uçtan uca ihtiyaçlar doğrultusunda şekillenebilir.

Apple — Human Interface Guidelines örneği.
Apple — Human Interface Guidelines

Mesela Google, kendi ekosistemini geliştirmek ve desteklemek amacıyla, açık kaynak olarak sunduğu Material Design ile farklı platformlarda, özellikle mobil ihtiyaçları karşılayacak bir yaklaşımla, yüksek kalitede dijital deneyimler oluşturma imkanını sunmaktadır. Benzer bir yaklaşımı Apple’ın farklı platformları için sunduğu Human Interface Guidelines, Microsoft’un Fluent Design System ve IBM’in Carbon Design System ile görebilirsiniz.

Microsoft — Fluent Design System, Web “Checkbox Bileşen Kod Yapısı” örneği.
Microsoft — Fluent Design System, Web “Checkbox Bileşen Kod Yapısı”

Teknoloji devlerinin oluşturduğu ve milyonlarca kullanıcısı olan bu ve benzer tasarım sistemlerinin yanında, farklı sektörlerde olan ve kendi ihtiyaçlarını karşılamaya odaklanmış birçok tasarım sistemi vardır. Yazılım geliştirme ve iş birliği araçları sunan Atlassian’ın, ürün gamı için oluşturduğu Atlassian Design System, yine Audi’nin kendi kurumsal ihtiyaçları için oluşturduğu tasarım sistemi, Amerika’nın devlet web siteleri için oluşturduğu U.S. Web Design System, GSM şirketi giffgaff’in tasarım sistemi, müzik ve podcast dinleme uygulaması olan Spotify’ın Encore tasarım sistemi, bunlara örnek olarak verilebilir.

Şirketlerin kendi tasarım sistemlerini oluşturma nedenleri tablosu.
Şirketlerin kendi tasarım sistemlerini oluşturma nedenleri (Kaynak: Google’ın “Tasarım Sistemlerinin Durumu: 2020” araştırması).

Açık kaynak olarak sunulan tasarım sistemleri kaldıraç olarak alınarak, içerisindeki bağlama yönelik sundukları imkanlara marka kimliği adapte edilip, ihtiyaçları çözme doğrultusunda tasarım ve geliştirme yapılabilir.

Tasarım Sistemi ne işe yarar ve üretim süreçleri için önemi nelerdir?

Bugün birçok şirket son kullanıcılarına fayda sağlayacak tutarlı deneyimler sunmak için tasarım sistemi ekipleri kurmaktadır. Ürün kapsamındaki ihtiyaçları gidermek, yeni teknolojilerden faydalanmak ve kendi ürün geliştirme süreçlerindeki çalışan deneyimine olan etkilerinin farkındalığıyla, yatırımlarını sürdürmeye devam etmektedirler.

Şirketlerin tasarım sistemlerine ne kadar süredir yatırım yaptıkları tablosu.
Şirketlerin tasarım sistemlerine ne kadar süredir yatırım yaptıkları (Kaynak: Google’ın “Tasarım Sistemlerinin Durumu: 2020” araştırması).

Bir arayüz tasarım sürecinde, hedeflenen çözüm doğrultusundaki ilerleyiş esnasında ilgili problemi çözme yolu farklı yaklaşımlar gerektirebilir. Etkileşim tasarımında bir akış oluşturduktan sonra dahi, tasarım sürecini bitmeyen bir döngü olarak ele aldığımızda bile problemi çözmenin birçok yolu ve yöntemi olabilir. Farklı tasarımcılar, arayüz kütüphanelerinde (UI Design Kit) yer alan bileşenlerle ilgili probleme farklı tasarım çözümleri sağlayabilmektedirler. Bir tasarım hipotezi sunulduktan sonra, genel olarak optimizasyon süreci ile çözüm daha ileriye de taşınabilir. Üründe yer alan etkileşim akışları, tüm ortamlarda benzer tutarlılığı sağlayabilmeli ve farklı modüllerdeki benzer problemlere aynı deneyimi sunabilmelidir. Bu bir bakıma, üretim süreçlerinde tasarımcıların sorumluluğundadır. Bu noktaya dek değinilenler, bir tasarımcının elde ettiği veriler doğrultusunda problemi ele alışındaki deneyim ve arayüz tasarım çözüm önerileriyle ilgiliydi.

Tasarım süreçleri devam ederken, yazılım geliştirme sürecindeki arayüz tasarım uygulamalarının, hangi teknolojilerle ve ne şekilde kodlanacağı da ayrıca önemlidir. Bu sebeple, ürün geliştirme sürecinde birçok şirket, insan kaynağı, farklı birimlerdeki asenkron üretim süreçlerindeki bütünselliği sağlayabilme, tasarımcı-yazılımcı çıktılarıyla mevcut çözümlerde aynı örüntüyü sağlama gereksinimi gibi problemlere yönelik, sürdürülebilirlik ile deneyim tutarlılığını sağlamak amacıyla, açık kaynak tasarım sistemlerinden faydalanmaktadır. Yine birçok şirket, özel problemlerini çözmeye yönelik kendi tasarım sistemlerini oluşturmak için yatırımlar yapmaktadır.

Bu noktada “yatırım” kelimesinin altını çizmekte fayda var. Çünkü bir tasarım sistemi oluşturma, ilk etapta hızlı ve kolay olmasa bile, uzun vadede sayesinde kurtarılacak zaman ve maliyete yönelik, tasarım sistemi oluşturma eforunu değerli kılar.

GitHub — Primer Design System örneği.
GitHub — Primer Design System

Tasarım ve yazılım geliştirme üretim süreçlerini, bu süreçlerdeki yegâne unsur olan insan faktörü perspektifinde ele alacak olursak, yaygın olarak bir ürün veya proje çatısı, iş yüküne göre dağılmış ve şekillenmiş, aynı zamanda sunduğu fayda çerçevesinde bir araya gelmiş, farklı disiplindeki kişilerin bulunduğu ekip ve/veya ekiplerden oluşabilir. Bununla birlikte, aynı ekipte yer alan bireylerin birbirlerinden bağımsız çözümler için farklı çalışma eforları söz konusu olabilir. Ayrıca, fiziki olarak yan yana olmadan, farklı lokasyonlardaki çalışma düzenleri, zaman dilimi farklılıkları ve asenkron çalışma gereksinimlerini göz ardı etmemekte fayda var.

Zamanla büyüyen kadrolarda, ekiplere yeni dahil olan çalışma arkadaşlarıyla birlikte daha kaliteli ve hızlı üretim sağlanması beklenirken, belirli standartların ve uygulamaların olmadığı bir çalışma ortamında, ister istemez zamanla hız yavaşlayacak ve üründe tutarsızlıklar artacaktır. Her şeyde olduğu gibi dijital bir ürünün içinde barındırdığı irili ufaklı veya büyük tutarsızlıklar, bilinçli olarak yönetilmedikçe artmaya devam edecektir. Her yeni özellik eklenirken, ekibin her yeni üyesi katkı sağlarken, her yeni yönetim katmanı veya paydaş/müşteri müdahalesi gibi unsurlarla, üretim dengesi bozulacak ve deneyimin tutarsızlığı da katlanarak artacaktır. Sonuç olarak, son kullanıcılar da artan tutarsızlıktan nasibini alacaktır. Bir tasarım sistemine sahip olmak, bu gibi problemlere karşı biçilmez kaftandır. Benzer olası örnekler üst üste koyularak artırılabilir. Çığ gibi büyüyen kompleks üretim döngüsü senaryolarına, zamanla ekipten ayrılan ve onların yerini dolduracak çalışan adaptasyon maliyetleri de eklenirse, tasarım sisteminin sağlayacağı katma değerin önemi bir kez daha net bir şekilde anlaşılmaktadır.

Firmalara göre tasarımcıların yazılım geliştiricilere oranı.
Firmalara göre tasarımcıların yazılım geliştiricilere oranı (Kaynak: TechCrunch). Bazı büyük teknoloji şirketleri, yaptıkları işe alımlarla, tasarımcıların yazılım geliştiricilere oranını ortalama 5 yılda 2.5 kat artırdı! Bugün üretim süreçlerinde yer alan tasarımcı sayısının, yazılım geliştirici sayısına oranı giderek eşitlenmektedir. Bu durum, son kullanıcılara ideal deneyim sunmak için her zamankinden daha çok tasarımcılara ihtiyaç olduğunu göstermektedir.

Üretim süreçlerindeki uygulama faydalarına da değinecek olursak, tasarım sistemi sayesinde tasarımcılar, yazılım geliştiriciler ve diğer paydaşlar aynı noktada birleşebileceklerdir. Çünkü tasarımcılar, uygulamalarını sistem bünyesinde yer alan arayüz tasarım prensipleriyle oluşturulan bileşenleri kullanarak yaparken, yazılım geliştiriciler de aynı bileşenleri kütüphanelerinden kullanarak direkt uygulayabileceklerdir. Böylelikle her iki açıdan, uygulama katmanının sorunsuz işlemesi ve aynı zamanda herkesin aynı dili konuşması sağlanacaktır. Bu bir bakıma tasarımcıların teknik olarak uygulanabilir tasarımları oluşturma yükünü azaltan, yazılım geliştiriciler açısından da beklenmedik uygulama maliyetlerini optimize eden bir süreç doğurarak, motivasyon ve performansı artıracaktır. Tasarım sistemi sayesinde, tasarımcılar, yazılım geliştiriciler ve diğer paydaşlar aynı mental modele erişebileceklerdir.

NARX Design System: A design language to build solid C2 experiences.
NARX Design System

Yukarıda değinilenlerle bunların dışındaki doğrudan veya dolaylı birçok benzer etken sebebiyle, biz de Komuta Kontrol ve Savunma Teknolojileri alanındaki ihtiyaçlara yönelik özelleştirmeler, ilaveler ve kurallarla inşa ettiğimiz NARX Tasarım Sistemi’ni, HAVELSAN Kullanıcı Arayüzü Tasarım ve Geliştirme Takımı olarak geliştiriyoruz. Son kullanıcılar için en ideal deneyimlerin oluşturulabilmesi, multidisipliner takımlar arası çapraz çalışma düzenlerinde yer alan bireylerin, üretimlerinde tutarlılığın oluşturulabilmesi gibi ihtiyaçlara yönelik alt yapıları sağlıyoruz. Tüm bunlar bir araya geldiğinde; bir yandan kaliteli deneyimle son kullanıcılarımızın ihtiyacını karşılamış olurken, bunun doğal sonucu olarak müşteri memnuniyetlerinin de yukarıya doğru çekilebilmesine katkı sağlıyoruz. Böylelikle NARX’i kullanan takımların geliştirme süreçlerinin her aşaması; daha sürdürülebilir, tutarlı, ölçeklenebilir ve verimli oluyor.

Sonuç

Zaman kaybı, verimsizlik ve tutarsızlık, özellikle ürün geliştirme süreçlerinde birden fazla ekiplere sahip şirketler için yaygın sorunlardır. Tasarım sistemini “tasarım + kod + dokümantasyon” şeklinde özetleyecek olursak, bir tasarım sistemini merkeze alarak çalışan, aynı yöne bakarak problemleri çözme ve ihtiyaçları karşılama yolundaki, deneyim tutarlılığını sağlayan bir ortamda çalışıyorsanız, oldukça şanslı olduğunuz söylenebilir. Öte yandan, henüz böyle bir imkânınız olmadıysa, içerisinde yer aldığınız üretim ekosisteminde, tasarım sisteminin önemini bir değer olarak sunabilir ve farkındalık oluşturabilirsiniz. Tasarım sistemi, ürün/proje geliştirme süreçlerinde yer alan paydaşlara, verimli bir şekilde çalışmak için gereken tüm malzemeleri sağlar. Bir tasarım sistemi oluşturmak, uygulamak ve sürekli yönetiyor olmak zor olsa da, buna değecektir.

Teknolojinin gelişmesiyle insan hayatına yeni platformlar sokuldukça, kullandığımız cihazlar değiştikçe, etkileşim arabirimleri yenilendikçe, tasarım sistemlerinin temelinde yatan uyarlanabilir esnek yapı sayesinde, bugün ihtiyaçlarınızı karşılarken, paralelde sürekli gelişimi devam edip, bir yandan da sizi yarınlar için hazırlıyor olacaktır.

Bu yazı, 1 Nisan 2023 tarihinde HAVELSAN dergisinde yayınlanmıştır.

Siz bu hakkında ne düşünüyorsunuz? Son birkaç yıldır, tasarım sistemi geliştirme süreçlerine odaklanarak çalışan bir tasarımcı olarak, tasarım sistemine dair bildiğim, öğrendiğim, gözlemlediğim ve tecrübe edindiğim şeyleri bu yazıda anlatmaya çalıştım. Siz de tecrübelerinizi yorumlara yazarak paylaşabilirsiniz.

Sürekli öğrenmeye devam eden ve bilgilerini paylaşmayı seven biri olarak, diğer yazılarıma buradan göz atabilirsiniz. Ayrıca tasarım üstüne sohbet ettiğimiz UXminimal Podcasti takip etmenizi de öneririm.

Faydalanılan kaynaklar:

--

--