Neden hiçbir şey bariz değil: yazılım geliştirmede iletişim sanatı
Yayınlanan: 2020-10-22Hepimiz günlük olarak birbirimizle iletişim kurmak zorundayız. Özel hayatta, okulda, işte. Her yerde ve her zaman. Bazıları diğerlerinden daha iyi iletişim becerilerine sahiptir, ancak günün sonunda hepimiz ara sıra hatalar yaparız.
Bazı yanlış iletişimlerin hayatımız üzerinde küçük bir etkisi olsa da (alkolsüz bira sipariş etmeniz dünyanın sonu değil;)) bazılarının daha büyük sonuçları olabilir (yanlış dişin çekilmesine işaret ederek). Yazılım geliştirmede iletişimdeki yanlış anlamalar daha çok ikincisidir ve finansal sonuçları olabilir.
Hepimizin sahip olduğu en yaygın sorunlardan biri, başka birinin aklımızı okuyabildiğini varsaymaktır. Bazen hepimiz bundan suçluyuz. Bu deyimi hiç duydunuz mu: 'Açıktı!'? Bahse girerim var.
Objektif açıklığa inanmıyorum. Bazı şeylerin herkes için açık olduğunu düşünüyoruz, ancak bir kişi için açık olan, başkaları için çok açık olmayabilir. Yazılım geliştirmede etkili iletişim kurmak için zihin okumaya inanmayı bırakalım ve sadece aklımızdan geçenleri söyleyelim.
Bunu söylemek yapmaktan neden daha kolay? Önce iletişim sürecini analiz edelim.
iletişim unsurları
50 yıldan fazla bir süre önce Roman Jakobson, sorunları birbirini anlayarak analiz etmek için çok yararlı olabilecek bir iletişim modeli sundu. Diyagrama bir göz atın:
İletişimin, gönderici ve alıcı arasındaki bir mesajdan daha fazlası olduğu açıktır. Bağlam, kanal ve kod mesajı etkiler ve kelimelerin alımını değiştirebilir. Faktörlerden ikisi yerinde olsa ve biri eksik olsa bile sorunlar ortaya çıkacaktır.
Spesifik olarak yazılım geliştirmede iletişimden bahsettiğimiz için, yukarıda belirtilen faktörlerden herhangi birini kaçırırsak proje iyileştirme oturumları sırasında neler olacağını analiz etmeliyiz. Başka bir deyişle, proje yönetiminde iletişimin önemine daha yakından bakalım.
Her zaman bağlam sağlayın
Bağlam, herhangi bir sorunla ilgili daha büyük resmin bir açıklamasını sağlar. Bir arka uç geliştiricisine ürünün hedef grubu hakkında bilgi vermenin bir anlamı olmayabilir. Geliştirme ekibinin, arkasındaki iş nedenlerini değil, yalnızca kendi tarafında neyin gerekli olduğunu bilmesi gerekiyor gibi görünebilir. Hiçbir şey gerçeklerden daha uzak olamazdı.
Yazılım geliştirmede iletişim sadece işlevsel gereksinimlerle ilgili değildir. Takıma ne kadar çok bağlam sağlayabilirseniz o kadar iyi. Ürün konseptinin doğru bir şekilde tanıtılması zaman alıcı olabilir ve zaman ve para kaybı gibi görünebilir, ancak uzun vadede kötü teknik uygulamadan kaçınmaya yardımcı olur.
Ekip, ürün için uzun vadeli planların ne olduğunu bilirse daha uygun teknik çözümler sağlayabilir. Yemek dağıtım mobil uygulamanızın ilk sürümünde promosyon kodlarını uygulamak istemeseniz bile, yazılım programcılarının bir sonraki sürümde geleceğini bilmelerini sağlamak iyidir.
Tüm içeriği sağladığınızdan emin olmak için, sahip olduğunuz tüm bilgileri paylaşıp paylaşmadığınızı kendinize sorun. Kendinizi 'bu geliştiriciler için önemli değil, bunu bilmelerine gerek yok' diye düşünürken yakalarsanız, en azından ekibe bu bilginin onlara yardımcı olup olamayacağını sorun. Başkalarının hangi faktörleri önemli bulabileceğine şaşırabilirsiniz.
Kanalı akıllıca kullanın
Kanal, proje yönetiminde yaygın olarak unutulan bir iletişim faktörüdür. Geliştirme ekiplerinin sıklıkla farklı ülkelerden çalıştığı, arka uç Hindistan'dayken (şu anda Amerikan şirketlerinin %85'i operasyonlarının çoğunu Hindistan'a yaptırıyor), ön uç geliştirme Polonya'da ve Ürün Sahibi ABD'de. , hepimiz iletişim kurmak için birçok farklı araç kullanırız.
Doğru kanalı seçmek ve onu etkili bir şekilde kullanmak etkili olabilir. Konferans aramaları, e-postalar ve sohbetler harikadır ve sürekli iletişim halinde olmamızı sağlar. Ama aynı zamanda mesajın yanlış anlaşılması için yeni yollar yaratırlar.
Çevrimiçi sohbet etmenin ekiple aynı odada sohbet etmekle aynı şey olduğunu iddia edemeyiz. Yapabileceğimiz şey, uzaktan iletişimin sınırlamalarını akılda tutmak ve bunları aşmaya çalışmaktır.
Etkili uzaktan iletişim için ipuçları
- Konferans aramaları yoluyla görüşme yaparken kamerayı açın. Duruma bağlı olarak, sözel olmayan iletişim, mesajın %50'sinden fazlasını oluşturabilir. Örneğin, başkaları sizi görebilirken alaycı olup olmadığınızı yakalamak çok daha kolaydır. Ayrıca muhataplarınızın gerçek zamanlı tepkilerini de görebilirsiniz. Diğerlerinin sözlerinize karışıp karışmadığını fark edebilirsiniz.
- Konuşmaları kategorilere ayırmak için sohbette ayrılmış odaları kullanın. Proje karmaşık olduğunda, yazılım geliştirmedeki iletişim de karmaşıklaşma eğilimindedir ve tartışmalar için sürekli yeni konular ortaya çıkar. Ayrı odalar, mesajları düzenli tutmanıza ve uygun alıcılara daha az güçlükle ulaşmanızı sağlar.
- Sohbet yoluyla yazarken mesajların alıcılarını etiketleyin. Her konuşmayı takip etmek kolay değil. Yazdığınız kişinin bilgilendirildiğinden emin olmanız sizin yararınızadır.
- Yazılı konuşmada, uygun olduğunda ifadeleri kullanın. Çok fazla kullanmayın, ancak izleyicilere Cuma günkü öğleden sonra dağıtımı hakkında şaka yaptığınızı bildirin.
İletişim kodu incelemesi
Çalışmanın en başında, ana terimleri aynı şekilde anlamak için ortak bir kod oluşturmanız gerekir. Hatta 'bariz' olanlar. Örneğin bir şartımız var: 'Kullanıcı olarak sadece sabah sipariş verebiliyorum, seçilen ürün aynı gün gönderilsin'. Açık görünüyor, değil mi?

Peki… Peki bu özellikte sabah tam olarak ne anlama geliyor? Sabah ne zaman başlar? Güneş doğduğunda veya tam bir saatte yani 7.00 AM? Eğer saat 07:00'de aklında hangi saat dilimi var?
Proje yönetiminde, özellikle BT'de iletişimin kristal netliğinde olması gerekir. Tahmin için yer yok. Bizim durumumuzda, ürünlerin 10.00'dan önce sipariş edilemediği (ana geliştirici uyandığında sabahın onun için anlamı budur) ve uygulama sahibinin erkenci kuşlardan gelen siparişlerin eksikliğinden para kaybetmesine neden olabilir.
Ortak iletişim kodunun en iyi uygulamaları
- Sık kullanılan terimlerle bir sözlük oluşturun. Projenin başlangıcında yardımcı olur ve yeni katılanlar için geliştirme ekibinin konuştuğu dili anlamaları son derece yararlıdır.
- Alıcıya gereksinimi veya ifadeyi nasıl anladığını sormak da iyidir. Ve işe yaramaz olandan bahsetmiyorum: 'Her şey açık mı?'. Açık ol. Ayrıntıları sorun. Anlaşıldığından emin ol. Bir iletişim kodu incelemesi yapın.
Örneğimize bir kez daha bakalım: “sabah” terimi hakkında ortak bir anlayışa ulaşmak için, onu kullanan kişiye onu yeniden ifade etmesini sorun. - Temel kural, tahmin oyunlarına yer bırakmaktansa, yazılım geliştirmede iletişimde tekrarlamanın daha iyi olmasıdır.
uzmanlık sorunu
Yukarıda bahsedilen proje yönetimindeki tüm iletişim yöntemlerine ek olarak, yazılım gereksinimlerini tartışırken akılda tutulması gereken önemli bir şey daha vardır. Başlangıç ya da kurumsal bir ürün olsun, çoğu durumda bir müşteri yazılım evine gitmeden önce ürünlerini düşünmek için oldukça fazla zaman harcar. Ne kadar çok zaman harcarlarsa, o konuda o kadar deneyimli olurlar.
Uzman olduğunuzda, çevrenizdeki herkesin sizinle aynı alan bilgisine sahip olmadığını unutmak kolaydır. Bu, sizin için açık olan konuların, konuştuğunuz geliştirme ekibi için çok net olmadığı anlamına gelir.
Uzmanlık sorunu nasıl önlenir
- Ürünle yolculuğunuzun başlangıcına bir adım geri atın ve verdiğiniz tüm kararları geliştirme ekibine açıklayın. Her şeyin nasıl başladığını anladıklarında, daha iyi teknik çözümler bulacaklar ve hatta düşünce tarzınızdaki boşlukları dolduracaklar.
- Takımın ihtiyaç duyduğu kadar soru sormasına izin verin. Aptalca soru yoktur atasözünde abartı yoktur.
Yazılım mühendisliği ekibinde etkin bir şekilde nasıl iletişim kurulur?
Mümkün olduğunca net! Sonuçları acı verici olabileceğinden yanlış iletişime yer yoktur. Nesnel bir açıklık olmadığını ve önemli bir bilgiyi kaçırmaktansa kendinizi birkaç kez tekrarlamanın daha iyi olduğunu unutmayın.
Fikrinizi olağanüstü bir dijital ürüne dönüştürün
Beraber çalışalımHer üç iletişim faktörünü de aklınızda bulundurun ve mesajınızın istediğiniz gibi anlaşılıp anlaşılmadığını iki kez kontrol edin. Zamanla, yazılım geliştirmede iletişim sizin için daha kolay olacak ve gereksinimleri doğru bir şekilde açıklamak artık sorun olmayacak.
Hem uygulama geliştirme hem de iletişim konusunda uzman bir yazılım evi arıyorsanız, başka yere bakmayın!
Sadece Miquido uzmanlarımızla konuşun ve fikirlerinizi hayata geçirin!