Yazılımcılar ve tasarımcılar bir madalyonun iki yüzü gibi. Her ne kadar farklı dili konuşsalar da aslında tasarımcılar da yazılımcılar da inovasyon ve sorun çözebilmek için ıraksak (divergent) ve yakınsak (convergent) düşünme stratejileri kullanıyorlar. Bu iki harika disiplin bilinenden çok daha fazla birbirine benziyor aslında. Aradaki uçurumun en büyük nedenleri iletişim eksikliği ve diğer disiplin hakkındaki yetersiz bilgiler olabilir.
Yazılımcılar ve tasarımcılar bir madalyonun iki yüzü gibi. Her ne kadar farklı dili konuşsalar da aslında tasarımcılar da yazılımcılar da inovasyon ve sorun çözebilmek için ıraksak (divergent) ve yakınsak (convergent) düşünme stratejileri kullanıyorlar. Bu iki harika disiplin bilinenden çok daha fazla birbirine benziyor aslında. Aradaki uçurumun en büyük nedenleri iletişim eksikliği ve diğer disiplin hakkındaki yetersiz bilgiler olabilir. Peki aradaki bu uçurumu kapatmak için neler yapılabilir?
Tasarımcı yazılımcıya nasıl destek olabilir?
Tasarımcı olarak en güzel anlardan biri, projenizin hayata geçtiğini duymaktır. Fakat çoğu zaman saatlerinizi harcadığınız projeye bakarken farkedersiniz: “Ben böyle yapmamıştım!”
Bürokratik ya da diğer sorunları görmezden gelirsek, bu aslında sadece yazılımcıya son anda verdiğiniz dökümandaki hatalar ya da anlaşılamama sorunu ile ilgili olabilir. Üzerinde bu kadar çalışılan araştırma, deneyim tasarımı süreçleri ve görsel tasarımın gerçekten sorunlara çözüm bulmasını istiyorsak, yazılımcılarla beraber çalışmalıyız.
Bu içerik ücretsiz!
Okumaya devam etmek ve SHERPA Blog okuru olmak için aşağıdakilerden birini seç. Her hafta yenileri eklenen yüzlerce içeriğe ücretsiz ve sınırsız eriş.
Projede hangi tip stratejiyi kullandığınıza göre değişebilecek olan araştırma sürecinde, takım arkadaşınıza kullanıcı hikayelerinizi ya da akış şemalarınızı gösterebilir, ihtiyaçların ne olduğunu kısaca anlatabilir ve aklınızdaki çözümleri sunabilirsiniz. Bu süreci projenin bir akışını tamamladığınızda ya da ilk prototipinizi hazırladığınızda başlatabilir, kullanıcı testlerinizi başlatmadan önce de yazılımcıları konuya dahil edebilirsiniz.
Kişisel kahramanlarımdan Chris Hedfield, bunu the power of negative thinking konusu altında yazabilirdi herhalde. Demek istediğim, ileride karşılabileceğiniz sorunları önceden görerek buna engel olabilirsiniz. Günler ve haftalarca uğraşılmış tasarımınıza bir anda, “Bu tasarım müşterimizin platformu için uygulanabilir değil.” gibi bir yanıt almamak için harika bir yöntem.
Böylece yazılımcılar tasarımınızın eskizlerini ya da küçük prototiplerini gördüklerinde, size kaçırmış olabileceğiniz tasarım engellerini anlatabilir, size sizin bilmediğiniz, platforma özel çözümler sunabilir ve gerçek bir takım çalışmasına adım atabilirsiniz.
Temel yazılım kurallarını öğrenin
“Sadece kalem kullanmayı bilen bir mimar da iyi bir mimar olabilir, fakat çekici kaldırmayı bilen bir mimar her zaman yapı çözümlerini daha iyi kavrar.”
Yazılımcılarla daha iyi iletişim kurabilmek için, tasarladığınız her elementin bir mühendis gözünden çıktığını anlamanız gerekir. Temel yazılım dili öğrenmeye çalışın, bu fikir her ne kadar zor görünse de bildiğiniz her yöntem tasarım yaparken daha doğru, çalışabilir kararlar almanıza yardımcı olur ve yazılımcılarla daha iyi iletişim kurabilmenizi sağlar. Kısa araştırmalarla öğrenebileceğiniz temel birkaç madde:
CSS, HTML, JavaScript temelleri
Bu dillerin amaçları (yani ne yaptıkları)
CSS ya da JavaScript’te animasyon ve efekt uygulama gibi.
Yazılımcı dostu çıktılar verin
“Her çeşit elementi ve modülü detaylandıran tasarım rehberi, yaşayan bir kod dökümanıdır. Her takım için bir durak noktasıdır.” – Susan Robertson, Creating Style
Aslında çıktı vermek günden güne daha da kolaylaşıyor. Bir çok farklı araç, iki takım arasındaki boşluğu kapatabilmek için hergün üretiliyor. Benim favorilerimden biri tahmin edeceksiniz ki yerli malı gururumuz olan Zeplin. Tabi bu aracı kullanabilmek için Sketch kullanıyor olmanız lazım, eğer Adobe ya da diğer tasarım araçlarını kullanıyorsanız şu yazıya da bir göz atmanızı tavsiye ederim.
Yazılımı tasarım güdümlü yürütün
Verdiğiniz çıktılar eksiksiz olsa bile, küçük detaylar atlanabilir ya da verilen kılavuzdaki bir durumu, yazılımcılar hayata geçirirken farklı yorumlayabilirler. Bu yüzden ideal yollardan biri kendinize bir sprint tarihi belirleyerek (ya da var ise ona uyarak) tasarımınızı kontrol etmelisiniz. Her koşuda güncellenen işlevleri kontrol edebilir ve eğer farklı bir deneyim varsa nedenini öğrenerek iletişimde kalabilirsiniz.
Tasarlanan etkileşimlerde de eksikler olabilir. Örneğin planladığınız animasyon ya da jest, farklı algılanmış ya da daha farklı endişelerden dolayı istediğiniz gibi hayata geçmemiş olabilir. Özellikle mobil bir tasarımla karşı karşıyaysak, bu değerler hayati önem taşıyor. Bu yüzden eğer geri bildirimlerde hata ya da çeşitli animetik yavaşlıklar, hızlanmalar gibi kullanıcının kafasını gerçekten karıştırabilecek küçük noktaları yakalamak ve bunları yazılımcınızla çözmeniz gerekebilir.
Bu tip sorunlar yaşadığınızda kelimeler bazen kifayetsiz kalabilir. O yüzden planladığınız animasyon ya da herhangi bir geri bildirim için örnekler bulup bunları yazılımcınızla paylaşarak daha kolay sonuca ulaşabilirsiniz.
Peki yazılımcı tasarımcıya nasıl destek olabilir?
Bir projenin tüm çıktıları önünüze geldiğinde, bu kadar fazla veriyi bir anda okuyabilmek eminim zor bir süreçtir. Kılavuzunuzun ve eksiksiz tasarımların elinizde olduğunu ve önceden projenin “p”sini görmediğinizi varsayarsak, tasarımı hayata geçirirken task-to-task yöntemi yani genel resmi görmemiş olmanız, sonradan size tasarımcınızdan gelecek bir dolu soruyla karşılaşmanıza neden olabilir. Bu tip tartışmalarla karşılaşmadan önce yapabileceğiniz bir çok yöntem var.
Temel tasarım prensiplerini öğrenin
İlk hatırlamanız gereken şey tasarımın sadece görsel elementlerden oluşmadığı olursa, tasarımcınızla ilk adımdan daha iyi anlaşabileceğinizden eminim. Bir yazılımcı olarak iletişim terminolojilerine ve belirli kurallara alışık olabilirsiniz, bu yüzden bir başlık hakkında diğer yazılımcılarla tartışabilmeniz çok daha verimli olabilir.
Tasarım da kendi prensipleri olan, çeşitli teknik ve terminolojiler kullanılan bir disiplin tabi ki. Bu teknik ya da terminolojiden ne kadarını öğrenirseniz, tasarımcınızla iletişiminiz çok daha kuvvetli olacaktır.
Projenin ana hatlarını önceden öğrenin ve tasarımcınıza engelleri söyleyin
Tasarımcıların, yazılımcılar gibi bir çok farklı uzmanlık alanları var. Bu yüzden genellikle tasarımcılar, uzmanlık alanlarında fark yaratabilmek için değişik yöntemler kullanabilir ve bu sırada teknik kısıtlamaları es geçmiş olabilirler. Bu yüzden, tasarımın ilk aşamalarında tasarımcınızla iletişime geçmeli ve bilgi alışverişi yapmalısınız.
Kullanılacak platformun engelleri ve avantajları ne?
Ne tip dataları kullanabiliyoruz?
Hangi bilgiyi biz yaratıyor, hangilerini proje sahibinden alıyoruz?
Yazılım için ne kadar zaman tanınmış?
ve daha aklıma gelmeyen birçok sorunun yanıtını tasarımcınızı önceden bilgilendirerek daha verimli alabilirsiniz.
Bir takım olarak başladığınız projede, tasarımcınızın bu tip teknik engelleri farketmesini sağlamanız, sizi bir çok anlaşmazlıktan kurtulabilir ve zamandan tasarruf edebilirsiniz.
Karşınıza çıkan sorunları tasarımcınızla çözün
Yazılım süreci içinde müşteriden ya da proje menajerinizden yeni bilgiler gelebilir ya da farklı güncellemeler söz konusu olabilir. Bu güncellemelerden sonra yapılan tasarım uygulanamayabilir ya da küçük düzenlemelere tabi tutulması gerekebilir. Bu durumda -her ne kadar yazılımcıların çok yaratıcı olduklarını bilsem de- tasarımcınızla toplanıp yeni güncellemeler üzerinde beraber konuşmanız, daha kalıcı çözümler ve kolay uygulanabilir fikirler bulmanızı sağlayacaktır.
Bunlar tabi ki sadece benim deneyimlerim ve küçük araştırmalarımla yazıldı. Tasarımcıların da yazılımcıların da eminim söyleyecekleri çok şey vardır. Daha iyi birlikte çalışma yöntemleri için lütfen siz de bilgi ve deneyimlerinizi lütfen paylaşın…
Teşekkürler.