Uzaktaki Geliştiriciler Ekibinizi Nasıl Yönetemezsiniz?
Yayınlanan: 2022-03-11Bir geliştirici ve küçük işletme sahibi olarak, her iki taraftan da içgörüler edindim, farklı projeler için ve farklı ekiplerle uzaktan geliştirici olarak çalıştım ve uzaktan geliştiricileri yönettim.
Bu yazıda, uzak projelerdeki tüm taraflar için hayatı biraz daha kolaylaştıracağı umuduyla bazı deneyimlerimi paylaşacağım. Uzak ekip yönetiminin yapılması ve yapılmaması gerekenler söz konusu olduğunda, “yapılmaması gerekenler” üzerine odaklanma eğilimindeyim – çünkü “yapılacak”ların aksine bunlar hemen hemen her takım için geçerli olma eğilimindedir.
Uzak geliştiricilerin dünyasına girerken, yöneticilerin aşması gereken en büyük engel, geliştiricinin görünürde olmayacağını ve yapılan işi yönetip takip edebileceklerini kabul ederek zihniyetlerini değiştirmektir. Bu yeni paradigma, işletmelerin ilerlemeyi izlemek ve fazladan bir iş yükünden kaçınmak için bir dizi mekanizma uygulamasını gerektirir. Bu tür mekanizmalar, hem yöneticinin hem de geliştiricinin daha üretken olmasına yardımcı olacaktır ki bu da herkesin çıkarına olacaktır.
Açıklığa kavuşturmak için, tüm bu mekanizmalar, çalışanı kontrol etmek veya mikro yönetmek için kullanılmamalıdır .
Uzak Ekip Mitlerine ve Yanılgılarına İnanmayın
İletişimden başlayarak, tek bir projede uzak ekipleri yönetmenin artılarına ve eksilerine bir göz atalım.
İş küreselleşti ve geniş, çok uluslu kuruluşların ortaya çıkışı, dünya çapında milyonlarca profesyonel için yeni zorluklar yarattı. Küresel ekiplerin karmaşık ve iç içe geçmiş doğası, iç iletişime daha kapsamlı ve düşünceli bir yaklaşım gerektirir.
Bu tür organizasyonlarda ve ekiplerde pek çok kişi, tanıdık bir ortamda çalışma veya anadilini konuşma lüksüne sahip değildir. Aynı proje üzerinde çalışan ekipler, ofisler ve kabinler yerine okyanuslarla ayrılmış olabilir. Ekip üyeleri farklı kültürlerden gelir ve dünyanın her yerinde çalışır.
Bu profesyoneller iletişim konusunda endişelenmemeli, ancak çok uluslu ekip üyeleriyle işbirliği yapabilmelidirler. Tüm tarafların proaktif olması gerekiyor. Kurumsal kültür bu paradigmayı yansıtmalı ve uzak, çok kültürlü ekiplerin gelişebileceği üretken bir ortamın geliştirilmesine yardımcı olmalıdır.
Kendi Scott Ritter'ımız, konuyla ilgileniyorsanız faydalı bulabileceğiniz yakın tarihli bir blog gönderisinde uzak ekiplerle ilgili en önemli beş efsaneyi alt üst etti. Toptal CEO'su Taso Du Val ayrıca ağımızın nasıl çalıştığını ve nihai uzak ekip kültürünü yaratmak için nasıl adım attığımızı detaylandırdı.
Çeşitliliği Kucaklamayı ve Teşvik Etmeyi Unutmayın
Sağlam bir uzaktan ekip iletişim stratejisine doğru ilk adım, çok kültürlü ekiplerin ulusal ve kültürel sınırları aştığının kabul edilmesiyle başlar ve onları merkezi, tek parça ekiplerle elde edilmesi zor olan içgörüler sunmak için benzersiz bir konuma getirir.
Ama endişelenme; çeşitlilik iş için iyidir!
The Economist Intelligence Unit tarafından yürütülen bir araştırmaya göre, çok kültürlü ekipler büyük kuruluşlar tarafından tercih ediliyor; birçok yönetici, küresel eğilimler hakkında daha geniş bilgi sahibi olmaları nedeniyle yeniliği teşvik etmeye yardımcı olduklarına inanıyor. Ayrıca, “grup düşüncesi” zihniyetinden muzdarip olma olasılıkları daha düşüktür; çeşitlilikleri, sorunları farklı perspektiflerden ele almalarına yardımcı olur, böylece belirli bölgeler ve pazarlar için uyarlanmış daha iyi çözümler üretir.
Uzak çalışanları yönetmenin aynı yerde olmama nedeniyle daha verimli olabileceği söylenebilir. Sezgilere aykırı gelebilir, ancak bu tür uzak ekipler sohbet etmek, sosyalleşmek ve önemsiz meseleleri tartışmak için daha az zaman harcarlar.
Fiziksel ayrılık daha fazla üretkenliğe yol açarken, aynı zamanda yanlış anlamalar, gerginlik, yabancılaşma ve daha fazla stres ve endişe yaratabilir. Sonuç olarak, kişisel düzeyde pozitifliği ve işbirliğini teşvik eden girişimlerle bu olumsuz yan etkileri azaltmak gerekli hale geliyor. Uzak ekiplerde iletişimi geliştirmek göz korkutucu bir görev olabilir ve ekip üyeleri arasında kişisel bağlar kurmak zor olabilir. Bu yüzden insan dokunuşu gereklidir.
Arka plandan bağımsız olarak katılımı artırabilecek bir şey bulmak, moral ve işbirliğini artırmanın nispeten basit bir yoludur. Bu çaba, ekiplerinizin büyüklüğüne ve bileşimine bağlı olarak birçok biçim alabilir. İdeal olarak, iş ile ilgili yarışmalardan, eğlenceli projelere veya işle ilgili olmayan tartışmalara kadar, ekip üyelerinin zevk alacağı stressiz, yavaş bir aktivite etrafında odaklanmalıdır.
Bu tür faaliyetlerde yer almak, masrafı kuruluş tarafından karşılanmak üzere, ideal bir mali ve insan kaynağı tahsisinden daha az gibi görünebilir, ancak ekipleri ortak bir amaç etrafında toplamanın genellikle daha iyi bir çalışma ortamına, daha güçlü kişisel bağlara ve daha yüksek üretkenliğe yol açtığını unutmayın. .
İşe Alımı ve Eğitimi Hafife Almayın
Uzak ekipleri yönetmekten en iyi şekilde yararlanmak için kültürel farklılıklara dikkat etmeniz ve yeterli eğitimle telafi etmeniz gerekir.
İletişim becerileri kültürel farklılıklardan etkilendiğinden, dil becerilerini geliştirmek bulmacanın sadece bir parçasıdır. Çok uluslu ortamlarda çalışmaya hazır, özellikle yönetici pozisyonunda olacak kişileri tercih eden iyi işe alım politikaları ile başlar. Uzak projelerdeki deneyim açıkça işe yarar, ancak bir ön koşul olmamalıdır. Uzak bir geliştiricinin her hafta ofisinizde olmaması, işe almanın kişisel özellikleri hesaba katmaması gerektiği anlamına gelmez. Siz ve ekibiniz yine de uzak geliştiricilerle düzenli olarak iletişim kurmak zorunda kalacaksınız, bu nedenle onlara sahadaki herhangi bir çalışana soracağınız soruları sorun - uzak olsun ya da olmasın, yine de uymaları gerekir.
Bazı sorunları ek eğitimle çözmek mümkün olsa da her zaman pratik olmayabilir, ancak her durumda iyi eğitim bir sonraki mantıklı adımdır. Eğitim, mevcut olumlu özellikleri geliştirirken aynı zamanda eksiklikleri azaltır ve önceden belirlenmiş zayıf noktaları ele alır.
Uzak ekiplerle uğraşan yöneticiler, rutin olarak kısa sürede yeni roller üstlenmek, aşina olmadıkları projeleri devralmak ve yetişmek için çok zaman harcamak zorundadır. Bu gibi durumlarda, bir veya daha fazla proje üzerinde yıllarını harcayan lider ekipler olsalar bile, iç iletişim öncelik listelerinde üst sıralarda yer alma eğiliminde değildir. Zaman değerli bir varlıktır, ancak iyi bir ekip çalışması da öyle; Yöneticiler yoğun programlarından zaman ayırmalı ve ekipleri, bireysel ekip üyeleri ve ortaya çıkması muhtemel sorunlar hakkında daha fazla bilgi edinmelidir.
Ekip üyeleri yeni ekip liderleriyle yüzleşmek, hatta resmi veya gayri resmi ortamlarda onlara yaklaşmak konusunda isteksiz olabileceğinden, uzak yöneticiler ve astları arasındaki duygusal mesafe de bir sorun oluşturabilir. İyi bir uzaktan çalışan yöneticisinin bunu fark etmesi ve daha fazla kişisel katılımda ısrar etmesi gerekir - "Proaktif olun" dediğim gibi. – eğer düşüncelerini sizinle paylaşmıyorlarsa, yetenekli uzaktan geliştiricilerden oluşan bir ekibe sahip olmanın ne anlamı var?
Karmaşık Bir Bilgi Sistemi Kullanmayın
Bir Kaynak Kodu Yönetimi (SCM) sistemi, sorun izleyici (çok karmaşık değil, lütfen) ve muhtemelen tüm tarafların bir şeyleri belgeleyebileceği veya fikir ve önerileri çizebileceği bazı Wiki sayfalarını içeren etkili bir bilgi sistemi uygulama şansını kaçırmayın. Tüm bu işbirliği araçları, geliştirme ve sürüm yönetimini başarmayı çok daha kolay hale getirecek.
Burada işleri olabildiğince basit tutmak önemlidir, çünkü bu bilgi sistemi günlük/saatlik olarak kullanılacaktır. Çok karmaşık hale gelirse, uygulama ve/veya tasarımda kullanılması gereken zaman alacaktır. Sürecin ayrıca, bir kuruluşun politikalarının içini ve dışını öğrenmek için zamanı olmayan yeni ekip üyeleri ve serbest çalışanlar için basitleştirilmesi gerekebilir.

Uzun zamandır favori proje yönetimi uygulamam, açık kaynaklı, platformlar arası ve veritabanları arası bir sistem olan Redmine. Bu platform son derece yapılandırılabilir ve kendi SCM'nizi, farklı eklentilerinizi ve hizmet kancalarınızı entegre edebilirsiniz.
Ruby ile kendi sunucunuzun bakımını yapmak ve her şeyi kendiniz ayarlamakla uğraşmak istemiyorsanız (Redmine, deneyimsiz sistem yöneticileri için karmaşık olabilir), sadece git CMS'yi değil aynı zamanda GitHub Sorunlarını da içeren GitHub iyi bir seçimdir. , taahhüt mesajlarınız, çekme istekleri vb. ile iyi bir şekilde bütünleşir.
Bilgi sistemimizi kurup hazır hale getirdikten sonra, uzak geliştiricimizi projemize entegre etmeye başlayabiliriz.
Mikro Yönetme
Pek çok yönetici, özellikle de kendileri geliştirici bir geçmişe sahiplerse, sorumluluklarından vazgeçmekte zorlanırlar. Sorunları ve proje hedeflerini iletmeye odaklanmak yerine, bu sorunlara çözümler bulurlar ve uygulama ayrıntılarını sağlarlar, bu nedenle geliştiriciye kalan tek iş, kendisine kodlaması söylenenleri kodlamaktır. Uzak çalışanları yönetirken bu iyi bir uygulama değildir.
Bir tarafta, yöneticiler uzak geliştiriciyi yapması için tuttukları şeyler için çok fazla zaman kaybederler. Geliştiriciler bu durumdan memnun olmayabilirler, çünkü ya kendilerini değersiz hissettikleri ve yaratıcı ve yenilikçi olma şansları olmadan bırakıldıkları ya da sadece kendilerini kanıtlamaları için. Sonuçta, problem çözme, geliştiricilerin yıllardır üzerinde çalıştığı şeydir, bu yüzden onu denklemden çıkarmak ve geliştiricileri otomatlara dönüştürmek mantıklı değil!
Hayattaki diğer her şey gibi, her şey iyi bir denge bulmakla ilgilidir.
Zaman Dilimleri İçin Endişelenmeyin, Onları Avantajınız İçin Kullanın
İyi uzaktan geliştiriciler, kendi kendine yeten ve doğası gereği bağımsız olma eğilimindedir; zamanlarını düzenlemek için özgürlüğe ve sorumluluğa ihtiyaçları vardır. Örtüşen çalışma saatleri, iyi bir bilgi sisteminiz ve geliştiricilerinizle iyi bir iletişiminiz olduğunda zorunlu olmasa da faydalıdır.
Farklı zaman dilimlerinde çalışmak, farklı bölgelerdeki geliştiriciler projenin çeşitli yönlerini devraldığında “24 saat” verimlilik elde edebileceğiniz için işinize fayda sağlayabilir. Geliştiriciniz zaman diliminizin ilerisindeyse, size aynı gün çalışmalarını gözden geçirme fırsatı verir ve bir sonraki büyük şeyi hemen değerlendirip koordine edebilirsiniz. Öte yandan, geliştiricinizin alanının önündeyseniz, bu size geliştiricinin görevi tamamlamak için ihtiyaç duyduğu her şeyi hazırlama fırsatı verir.
Unutmayın, iyi bir yönetici, çalışanlarına işlerini yapmalarını sağlayan bir hizmetten başka bir şey değildir, tersi değil!
Günlük Hedefleri Zorlamayın, Orta veya Uzun Vadeli Hedeflere Odaklanın
Günlük hedefler, projeyi mikro düzeyde yönetmenin bir şeklidir. Bunun yerine, genel resmi geliştiricinize iletmeye çalışın ve birlikte açıkça tanımlanmış öncelikler belirleyin. Geliştiricinin projeyi sizin kadar iyi anlamasını sağlarsanız, geliştiricinin daha faydalı olması muhtemeldir.
Örneğin, geliştirici en yeni teknolojiler hakkında içgörülere veya farklı görevlerin önceliklendirilmesini veya Minimum Değerli Ürün'ün (MVP) belirlenmesini etkileyen uygulama ayrıntılarına sahip olabilir. Her ikinizin de net hedefler ve kilometre taşları tanımlamanız ve işi adım adım tamamlamanız gerekir. Tüm bu kilometre taşlarının büyük resme uymasını sağlamak sizin sorumluluğunuzdadır.
Bence, Çevik manifesto (metodolojiler), son birkaç yılda proje yönetiminde meydana gelen en iyi şeydir.
Tam olarak ihtiyaç duyulanı yapmanıza, sorumlulukları gerçekten uygulayanlara devretmenize ve sürece dahil olan her tarafı sağduyuya zorlamanıza olanak tanır. Orta ve uzun vadeli hedeflerinizi ve görevlerinizi, zorlukla ilgili bazı yüksek seviyeli tahminlerle tanımlarsınız ve bu haftalık (veya iki haftalık) sprint planlama toplantılarında, geliştiricinin bu görevleri tamamlamanın tam iş yükünü ve zorluğunu belirlemesine izin verirsiniz.
Her iyi şey gibi, iyi Çevik ekipler oluşturmak zaman alır. Üç ay içinde bir çalışma ekibinizin olmasını beklemeyin. Çevik, tamamen yaparak öğrenmek ve bir ekip olarak birlikte büyümekle ilgilidir.
İş Ayrıntılarını Gizleme
Bu biraz zor. Bazı projeler doğası gereği hassastır ve bilgi sızdırmak zararlı olabilir. Gizlilik Sözleşmeleri (NDA'lar) sorunu çözebilir, ancak bunlar kurşun geçirmez değildir.
Bununla birlikte, geliştirici ne kadar çok bilirse, yalnızca önceden tanımlanmış görevleri çözmede değil, aynı zamanda tüm bu can sıkıcı küçük sorunları ve hıçkırıkları anında çözmede de o kadar etkili olabilir. Sonunda, bu geliştiriciyi daha üretken hale getirecek ve hayatınızı kolaylaştıracaktır.
Çevik geliştirme süreci burada da işe yarar. Taraflar arasında (paydaş, testçi, geliştirici vb.) hiyerarşiyi ortadan kaldırarak ve bu tarafları eşit sorumluluklara sahip eşit ekip üyeleri olarak kabul ederek ve bu sayede mümkün olduğunca şeffaf çalışmaya teşvik ederek bilgi paylaşımını sağlar. Şeffaflığın bir başka yararı da, sorunların hızla "yükseltilmesi" ve ekibin herhangi bir bölümü tarafından ele alınabilmesidir.
Uzak Ekip Üyelerini Yoksaymayın
Uzak çalışanları yönetirken ekibinize bir hizmet olduğunuzu ve ekibin girdilerinize ihtiyacı varsa, onları desteklemek için çok meşgul olmamanız gerektiğini unutmayın. Geliştirici bir şeyi kendi başına çözemezse, takılıp kalır ve değerli zamanını kaybeder.
Bir geliştirici olarak, genellikle bir çıkmazla karşılaştığımda, tavsiye için SO'ma döndüm, ayrıca tavsiye vermeye çalıştım. Geliştiricinin tavsiyesini tamamen göz ardı etmeyin, çünkü bu, anlayışlı olabilir veya farkında bile olmadığınız bir sorunu çözebilir.
Bir şey net değilse veya sorunu çözmenin gerekli olmadığını düşünüyorsanız, açık fikirli olarak konumunuzu tartışın ve geliştiricinin sizi haklı olduğuna ikna etmesi için bir şans verin.
Yine, bu iletişim becerilerini geliştirecek ve güveni artıracaktır.
Hızlı Uzaktan Ekip Yönetimi İpuçları
Tweetlerde ve resimlerde ana noktaları zaten özetlediğim için, burada birkaç hızlı ipucu ve düşünce daha var.
- Bu genel kurallar, uzak ve yerinde geliştiricilere uygulanabilir.
- Mikro yönetirseniz, öğrenme ve öğrenmesine izin verme fırsatını kaçıracaksınız.
- İyi bir uzak ekip kurmanın tek yolu bu olduğundan, açık fikirli ve güvenilir olun.
- Bir tahminin yalnızca bir tahmin olduğunu unutmayın; altında ve üzerinde tahminlerle karşılaşacaksınız.
- Çalışan herkes hata yapar ve başkalarının hatalarını affetmezseniz sizinkiler de affedilmez.
- En önemlisi, herhangi bir geliştirici için en büyük motivasyon (zor bir görevi başarmanın verdiği tatminin yanı sıra) paradır. Bu nedenle, ödemeleri geciktirmeyin ve bonus politikaları oluşturmayı da düşünün.