Sorunların daha genel gibi geliyor.
Yeniden düzenleme sorunu hem bir belirti hem de sorunun bir kısmından kaynaklanan potansiyel bir rahatlamadır.
Yazılım Lideri ve Takım, Takımın Zamanını Tahsis Ediyor
Tecrübelerime göre, "herkes bir yazılım yöneticisidir" dediğim bir sorunla karşılaşabileceğinizi düşünüyorum. Ürün yöneticileri, proje yöneticileri ve bazen sistem mühendisleri ve testçileri, muhtemelen zaten deneyimli bir yazılım yöneticisine sahip olan geliştiricileri mikro-yönetmeye çalışmakla ünlü olabilir. Ekibinizde rollerinin yönetmek olduğuna inanan birkaç üyeniz bile olabilir.
Yazılım yöneticisiyseniz, istediğiniz yeniden düzenleme için atama yapın veya daha iyisi, ekibinizin onayınız için size yeniden düzenleme yapmasını önerin. Mikro yönetmeme konusunda, yeniden düzenlenecek yaş / yazar / boyut / kod bağlamı hakkında serbestçe yeniden denetlenebilecek ve onaylanması gereken kurallar olabilir. Ekibinizin bir üyesi, özelliğinin bir parçası olmayan, yazmadığı dört büyük karmaşık eski kod sınıfını toplu olarak yeniden incelemek istiyorsa, iki haftalık saptaması sizin sorununuzdur, bu nedenle hayır demek için bir şansa ihtiyacınız var.
Etrafınıza gizlice girebilirsiniz, ancak tahminlerinizi analiz, tasarım, kodlama, birden çok test formu (en azından birim ve entegrasyon), yeniden yapılanma ve tarihsel olarak değerlendirilmediği gibi risk için zamanla dikkatle oluşturmak daha iyi olur. görevle ilgili deneyim veya açıklık. Ekibinizin çalışmaları hakkında çok açıksanız (veya ekibinizde üyeleriniz varsa), iletişim kanallarını daraltmak akıllıca olabilir, böylece sizden geçerler ve kaynakları ve sonuçları tartışır, yöntemleri değil.
Erken Proje Seçimleri, Yenileme için Vicious Döngüsü Oluşturuyor
Yazılım bakımı zor. Kuruluştaki diğer kişilerin sizin lehinize seçim yapması iki kat daha zor. Bu yanlış, ama yeni değil. Teori W. olarak tanımladığı bir yönetim modelini öne süren büyük yazılım yazarlarımızdan Barry Boehm tarafından ele alınmıştır.
http://csse.usc.edu/csse/TECHRPTS/1989/usccse89-500/usccse89-500.pdf
Genellikle yazılım geliştiricileri, işçilerin temel olarak tembel olduklarını ve teslim edilmediği sürece performans göstermeyeceklerini söyleyen Theory-X yönetim yaklaşımı altında üretmek üzere dövülürler. Boehm önerilen modelini şöyle özetler ve karşılaştırır:
“Bir yöneticiyi bir otokrat (X teorisi), bir koç (Y teorisi) veya bir kolaylaştırıcı (Z teorisi) olarak nitelemek yerine, W Teorisi, çeşitli seçmenleri ve proje çözümleri paketleyicisi arasında bir müzakereci olarak yöneticinin birincil rolünü karakterize eder. Tüm taraflar için kazanma koşullarıyla, bunun ötesinde, yönetici aynı zamanda bir hedef belirleyici, hedeflere yönelik ilerlemenin bir izleyicisi ve günlük kazan-kazan-kaybetme veya kaybetme proje çatışmalarını bulma ve bunlarla yüzleşme arayışında olan bir aktivisttir. ve onları kazan-kazan durumlarına dönüştürmek. "
Hızlı ve Kirli genellikle Sadece Kirli
Boehm, bakım ekibindeki geliştiriciler için işlerin bu kadar mutsuz olmasının nedenini belirtmeye devam ediyor.
"Hızlı ve özensiz bir ürün oluşturmak, yazılım geliştirici ve müşteri için düşük maliyetli, kısa vadeli bir" kazanma "olabilir, ancak kullanıcı ve koruyucu için" kaybedilir "olacaktır." Boehm’in modelinde, müşterinin son kullanıcı yerine daha çok bir sözleşme yöneticisi olduğunu lütfen unutmayın. Çoğu şirkette, ürün yöneticisini müşteri vekili olarak veya belki de ürününün özellik listesi için satın alan kişiyi düşünün.
Benim çözümüm, kod en azından kodlama standartlarını karşılayacak şekilde yeniden yapılandırılıncaya kadar orijinal geliştirme ekibini (veya en azından orijinal liderliği) serbest bırakmamak olacaktır.
Müşteri için, ürün yöneticisini bir müşteri vekili olarak saymanın makul olduğunu düşünüyorum ve hızlı ve kirli bir şey sunmak için ödüllendirilen bir grup insan kesinlikle genişletilebilir, bu yüzden işleri yanlış yapmak için büyük bir seçim bölgesi var.
Yeniden yapılanma pazarlık değildir
Lütfen bir yazılım yöneticisi olarak rolünüzden vazgeçmeyin. Takımınızın zamanını süreç ve ürün geliştirmelerinde kullanmak için yetki ve takdir hakkına sahip olmalısınız. Bu rolde, ekibinizi daha profesyonel hale getirmek için seçimlerinizi müzakere etmeniz gerekebilir. Ancak, süreçle ilgili olarak pazarlama ile pazarlık etmeyin, çünkü deneyimlerime göre bu kaybedilen bir oyundur. Mühendislik yönetimi ile görüşün. Vizyon olduğunu gösterir. Profesyonel bir yazılım ekibi oluşturmak, rollerinin bir uzantısıdır ve kazan-kazan olarak görülmesi daha olasıdır.