Belirli bir projede baş geliştirici oldum, ancak büyük resme odaklanmakta ve projenin tüm parçalarının kapandığından emin olmakta zorlanıyorum.
Bu projeyi yönetirken nelere dikkat etmeliyim? Her şeyin olması gerektiği gibi ele alındığından nasıl emin olabilirim?
Bu geziyi diğer geliştiricilere kadar üst düzey veya liderliğe geçiş yaparken gördüm. İşte başkalarına yaptığım birkaç öneri.
Genellikle projeye dahil edilen tüm özelliklerle ilgili değildir. Bu, bir işletme ihtiyacını karşılayan temel bir işlevsellik setiyle ilgilidir. Bunu daima aklınızda bulundurun, çünkü bu sizin birincil hedefinizdir.
Bir projeyi yıkmak oldukça basit olmalıdır. Projede olabildiğince erken yıkın. Parçaları parlatmanız gerekiyorsa, ne yapmanız gerektiğini anlayana kadar risk oluşturduklarını anlayın.
Başlangıçta tüm belirsizlikleri çözemezsiniz (denemelisiniz). Yöneticinizin ve proje paydaşlarının ne olduklarını ve proje için ne gibi riskler taşıdıklarını anladıklarından emin olun.
Herkesin projenin durumunun ne olduğunu (ideal olarak günlük olarak, ancak haftalık olarak çalıştığını) bildiğinden emin olun. Ve duruma göre, ne yapıldığını, ne yapılacağını, açık soruları, problemleri vb. Kastediyorum. Projenin tamamlanmasını etkileyebilecek her şey rapor edilmelidir.
Büyük resmi her gün bir saat boyunca gözden geçirmelisin. Soruları kendinize sorun. Neler tamamlandı? Yapacak ne kaldı? Açık sorular nelerdir? Amaç nedir? İstedikleri zaman birisine projenin ayrıntılı bir durumunu verebilmelisiniz.
Size vereceğim ilk tavsiye, ekibi yönetmenin kendi programlama görevlerinizi yapmaktan daha kritik olduğunu kabul etmektir. Bu, yardıma ihtiyacı olan 3 küçük çocuğunuz olduğunda, sizi gelişmekten nasıl uzaklaştırdığı konusunda sızlanmamanıza yardımcı olmak sizin görevinizdir. Öncelikle, kendi geliştirme görevlerinize çok fazla odaklanmışsanız, genellikle ilerleme için engel oluşturursunuz.
Ayrıca, temsilci seçmeyi de öğrenmelisiniz. Bir saat içinde kolayca yapabileceğiniz ve bir gün boyunca akın edeceğini bildiğiniz birisine görev vermek zordur. Ancak, görevleri alamadıklarında asla ilerlemeyecekler ve ekibiniz oyun oynarken fazla mesai yapacaksınız.
Ayrıca, asla başkasının kodunu düzeltmeyin. Onlara neyin yanlış olduğunu (ve nedenini) söyleyin ve düzeltmelerini sağlayın. Ya da her şeyi düzeltmeniz gereken bir döngüye girersiniz çünkü daha iyi olamazlar. Eğer düzeltemezlerse, takımda kalmaları gerekip gerekmediğini düşünün. Zayıf ekip üyelerinin kalmasına izin vermeyin çünkü yaptıkları her şeyi düzeltirsiniz.
Kurşun olarak, kötü adam olmak ve onlara hoş olmayan haberler vermek (hem zincir yukarı hem de aşağı). Bu iş için de geçerli. Bu, düşük performans değerlendirmesi yapmanız gerektiği anlamına gelir; onlara son tarihin yükseltildiğini veya şartların değiştiğini söylemelisiniz; ilerlemeyen tembel adamı itmeniz gerekir; ve amirlerinize son tarihin ne zaman karşılanmayacağını ve bu konuda neden ve ne yaptığınızı söylemelisiniz. Lider olmak sevilmekle değil, etkili olmakla ilgilidir. İşiniz yazılımı arkadaş olmak değil, kapıdan çıkarmaktır. İletişim önemlidir ve kötü haberlerden kaçınmak durumu daha da kötüleştirir. Bir müşterinin, lansmandan bir ay önce üç hafta daha lansman tarihi geçtiği zamankinden daha fazla olması ve daha sonra onlara üç hafta daha ihtiyacınız olduğunu söylemesi çok daha olasıdır. Arzulu düşünmeyle yönetmek (sadece bazı geceleri çekebileceğimiz ve halledebileceğimizden emin olmak), bildiğim başarısızlığın en güvenli yoludur.
İşte gayrı resmi kontrol listem. Çok gayri resmi ... Her gün her şeyi yapmıyorum, ama eğer bütün bunları haftada bir vurmazsam biraz endişelenirim ve eğer aylık olarak vurmazsam panik yapmalıyım. Kilometre tamamen şirket/takım kültürü, kişisel stil ve proje türüne göre değişir.
Ekibinizle ayrı ayrı konuşun - ekibinizdeki herkesin yapması gereken yararlı işler var mı? ürünün ve mevcut sürümün genel amacının ne olduğunu biliyor musunuz? nasıl para kazandığınızı ve işletmenizin en büyük itici gücünün ne olduğunu biliyorlar mı? Mevcut çalışmalarının hepsine nasıl uyduğunu biliyorlar mı?
Takımla toplu olarak konuşun - büyük haberlerle hepsini bir araya getirin, iletişimin sizinle ve sensiz gerçekleştiğinden emin olmak için grupları bir araya getirin. Küçük bir ekip olarak, bu muhtemelen grup stratejisi oturumlarıdır. Takım büyüdükçe, onları ana noktalarda yönlendirmeniz gerekecek ve kaçınılmaz olarak onlardan söz edeceğiniz bir senaryo haline gelecektir. Bu yanlış değil - herkesin herkese herkese açık bilgileri söylemenin çok önemli olduğu zamanlar vardır. Böylece herkes bilgiyi evrensel olarak verdiğinizi biliyor. Ancak "siz - herkes" toplantısı, daha çok rehber olduğunuz grup stratejisi toplantısından çok farklıdır.
Takımın çalışmasını örnekleyin - herkesin çalışmasıyla ilgili biraz anket yapmaya çalışın. Kodlarını okuyun, işlevlerini çalıştırın, test durumlarını deneyin. Herkesin işinin% 100'ünü hedeflemeyin, herkesten biraz örnek almaya çalışın. Onlara geri bildirimde bulunun, aynı zamanda ekip genelinde güçlü ve zayıf alanları belirtin.
Yönetiminize erken ve sık sık danışın - Bu kahverengi burun değil, bu döngüde duruyor. Yönetiminizin neye ihtiyacı olduğunu ve yönetiminizin ne düşündüğünü bilmiyorsanız, ekibiniz beklentileri nasıl karşılayabilir? Patronunuzla gerçekten iyi bir tövbe etmelisiniz ve ekibinizde, insanların takımınızda olduğu gibi olmalısınız. Önemsiz şeyler konusunda patronla etkili bir şekilde iletişim kurabilmek, kriz geldiğinde yardım alabileceğiniz ve net bir şekilde anlaşabileceğinize olan güveni arttırır. Aynı zamanda büyük resim kör bahislerinizin nerede olduğu için iyi bir gerçeklik kontrolüdür.
Takım kaynaklarını periyodik olarak gözden geçirin - insanlar daha önce mevcut bir kaynak kullanılamaz duruma geldiğinde çığlık atacaklar, ancak bilinmeyen acı noktaları için inceleme yapacaklar. Chokeppoint'leriniz nerede? Yararlı olacak yeni araçlar var mı? Çoğu takımın, en son ve en iyi gadget'ları her zaman hızlandıran Tool Hunter olarak düşündüğüm bir adamı var. Tool Hunter ile GuyWhoHatesEverything arasındaki sohbetleri dengeleyinYeni evrim için bir sonraki noktayı bulmak için. Araçlar her şeyi içerir - SW, HW, fiziksel alan, öğrenme kaynakları.
Destek ekipleriyle tanışın ve iletişimde kalın. Her şirket farklıdır, ancak kalite kontrolünüzden, doküman yazmanızdan, hukuktan, tesislerden, finanstan ve işletmenize özgü diğer destek gruplarından sorumlu kişileri tanıyın . Düşünebileceğim en iyi büyük resim tetikleyicileridir, çünkü dünyayı sizden tamamen farklı görürler.
Rakiplerinizi tanıyın - Her hafta en az biraz zaman geçirerek, ürününüzü kullanmadığı takdirde ürününüzün çözdüğü sorunları nasıl çözeceğini öğrenin. Tek bir şirket olmayabilir, ancak bu diğer çözüm size sunmadığınız şeyi sunuyor?
Maliyeti ve programı inceleyin - Ekibinizin şu anki son tarihleri anlamına gelme olasılığı nedir? Bir sonraki son tarihe ne dersiniz? Maliyetlerinizin yanma oranı nedir? Henüz hangi büyük satın alma işlemlerini ödemediniz? Bütçenizden geriye ne kaldı? Ayrıntılar, finansal izlemenin nasıl yapıldığına bağlı olarak değişir, ancak çok resmi olmayan bir şirkette bile, hem kaç gün/hafta/ay bütçeniz kaldığına hem de mevcut ürün için son tarihinizin ne olduğuna dair bir fikriniz olmalıdır. Bir yerlerde, bir şekilde "bu işi yapmak için kaç kişiye ihtiyacımız var?" ve "Gelecek ay/çeyrek/yıl ödemeyi göze alabilir miyiz?". Bu sayıları bilmeniz ve sonraki adımlarda giriş yapmanız gerekir. Önümüzdeki hafta için, birisi içeri girip sorduğunda açıklayabileceğiniz kristal berraklığında bir plana ihtiyacınız var. Gelecek ay için oldukça iyi bir plana ihtiyacınız var, bu sadece gerçeklik çarptığında 2-3 yerde değişecek. Çeyrek için kabataslak bir plana ve yıl için başınızın Gist'inin üstünden bir generale ihtiyacınız var. Geçmişte, büyük projede bile, sayılar sadece sayılardır. Onları dinleyin, ama kimsenin kan imzalamadığını anlayın.
Bu benim baş listemin en üstünde benim. Ben genellikle bir "sürpriz" ile baş aşağı şaplak olarak eklemek (beni özledim bir bölgeye duyarlı sayintty resim ve sonra kontrol listesine katlamak başardı. G zorla sırıtarak ve gritted dişleri ile "sürpriz" ).
Ayrıca - Dread Context Switch için de hazırlıklı olun. Eğer yönetime yeni başlıyorsanız, muhtemelen küçük bir ekibiniz var ve yönetimden birisi, bir takımı yönetmek için biraz zaman ayırmanız ve bireysel katkıda bulunan şeyler yapmak için biraz zaman harcamanızın iyi olacağını düşündü. Bu yapılabilir, ancak ikisi arasındaki bağlam geçişi pürüzlüdür. Planlayın. Geçiş zamanını engelleyin (öğle yemeğinden önce ve sonra olduğu gibi) ve daha az uygulanmış beceri setinizi bilin ve kendinizi ilk birkaç kez sürüklemeniz gerektiğini anlayın - bu yüzden "büyük resim ile ilgili" bir şey yapmak için zaman ayırın ve gerçekten herhangi bir yere ulaşmak için en az iki saat gerekir.
Bağlam anahtarı her iki yönde de çalışır - yönetim, işin üstünden ve tam tersi. Ancak güç ve pratik noktanızdan rahatsızlık ve daha az pratik yerine gittiğinizde, o zaman acıyı daha fazla hissedersiniz ve geri çekilme itici gücü güçlüdür. Onun orada olduğunu bilin ve onunla savaşın ve büyük resimde dolaşmanın, hepsini içeri almanızı daha iyi hale getirdiğinin farkında olun.
Bu kitabı okuyun: Sürü Kedileri: Programcılara Lider Programcılar için Bir Astar
Bir süre önce bu kitabı patronum için hediye ettim ve hoşuma gitti. Okurken, neden bahsettiğini biliyor gibi görünüyordu. Ve bu böyle. Yazar kendi deneyimini anlatıyor. Yöneticinin "basit gerçekleri" nin bir koleksiyonu değildir - bunlar eski programcının sözleridir. Ve bunun HIS deneyimi olduğu anlaşılmalıdır, ancak sizinki farklı olabilir. Yani, bazı şeylerde eleştirel görünmelisiniz. "Yönetici artık programcı olamaz - bu önemlidir".
Yakın zamanda geliştirmediğim bir ürün üzerinde küçük bir şirketin teknik liderliğini devraldığımda, işleri yönetmede çok yararlı bulduğum şey, ürünün işleyişini belgelemekti - salatalıkta belgelediğim özellikler ve iç mekanlar için Nesne modelinin ve çeşitli kontrolörlerin akışının açıklamalarını yazdım. Bunu yaparken bulduğum şey, A) ürünün biraz dağınık olmasıydı :) Ve B) Uygulamanın nasıl çalıştığını çok daha hızlı öğrendim, bu yüzden hangi problemlerin olduğu ve nelerin yeniden düzenlenmesi gerektiği hakkında akıllı bir konuşma yapabilirdim, veya belirli bir özelliğin uygulanması için ne gerekiyordu.
Resimler de yardımcı oluyor - Visio gibi ürünlerle uğraşmıyorum, sadece boya kalemi ve boş kağıt kullanıyorum (gerçekten, yapıyorum - evden çalışıyorum ve genellikle 2 yaşımın yanında çalışıyorum) ama sizin için ne işe yararsa kullanmalısınız.