Yazılım mühendislerini zamanı izlemeye teşvik etmek


24

İş arkadaşlarımın sorunları çözmek ve özellikleri uygulamak için harcadıkları zamanı izlemelerini nasıl teşvik edebilirim? Bunu yapmak için yazılımımız var, fakat sadece rakamları girmiyorlar.

Geçmiş tahminlerimizi harcanan gerçek zamanla karşılaştırarak ekibin proje tahminleri sağlama konusunda daha iyi olmasını istiyorum. İş arkadaşlarımın kişisel çıkarları göremediğinden şüpheleniyorum, çünkü genellikle proje çizelgelemesinde yer almıyorlar.


6
Muhtemelen sorun, yazılımın zamanı izlemesini sağlamak yerine sayıları girmek zorunda olmaları ve sadece aktivitenin tanımını ve basın kayıtlarını ayarlamalarını istemekle yetinmeleridir. Ben kendim için tam olarak bunu ele alacak bir program yazdım, çünkü bütün gün bölgeye gidip sonra yüzeye çıkacağım ve gün için "zaman günlüğümü" oluşturmakta zorlanacağım. Bkz softwaremonkey.org/Program/TimeKeeper
Lawrence Dol

3
Sadece onlara çalıştığım bir şirkette bana ne yaptığını yap. Ona bir görev atayın, hemen katıldığınız toplantılarda 3 sürekli gün geçirmesini sağlayın ve ardından toplantıların hemen görevin neden tamamlandığını bilmesini talep ettikten sonra.
user16764

2
Eve giderken bir sorunu çözdüğümde sayıları nereye koyacağım?
Pieter B,

1
@ PieterB IMO, araçtaki çalışma problemlerini üretkenliğinizi artıracağını düşünerek yeterince zaman harcıyorsanız, telafi edilmese bile, proje tahminleri için zamanın izlenmesi gerektiğini düşünüyorum. Masanızda düşünerek geçirmenin zamanı geldi. Öte yandan, arabadaki bir kerelik vahiyse, izlemeye değeceğini sanmıyorum, çünkü bir proje tahminde bulunacağınız bir şey değil.
M. Dudley

1
@ PieterB Kesinlikle gri bir alan. Bunların hepsi, programları ve proje tahminlerini yaparken izlemenin faydalı olup olmamasına bağlıdır.
M. Dudley

Yanıtlar:


41

İş arkadaşlarımın kişisel çıkarları göremediğinden şüpheleniyorum, çünkü genellikle proje çizelgelemesinde yer almıyorlar.

Bu tamir edilebilir.

Bunları zamanlamaya dahil et.


2
Bununla ilgili bir alıntı var, ancak kitaplarımın çoğu hala dolu. Mühendislerin kendilerini planlamada en iyisi oldukları konusunda bir şeyler, bu yüzden 1. Günden itibaren bir projenin planlanmasında yer almalılar. Bunun Steve McConnell'in Hızlı Gelişimi'nden geldiğini söylemek istiyorum ama emin olamıyorum.
Thomas Owens

4
Kısa süre önce, Başbakanımızın başka bir uygulamayla entegrasyon için 4 saat ayırdığı bir proje (6 aylık proje) gördüm. Entegrasyonun çok zaman alacağını söylemek benim için yeterliydi ve ben ve başka bir geliştirici bunun oldukça komik olduğunu düşündüm.
Chris

@ThomasOwens Bir BA veya PM tarafından bir şeyin ne kadar süreceği söylendiğinde beni hala şaşırtıyor. . Bu yanılgı yüzden iyice o sadece BA'ların hiçbiri anlamı veya PM çalıştıkları sanayi hakkında okuma en ufak yapmak gerçekleştirmek için üzücü oluyor çürütüldü edilir
Jimmy Hoffa

21

Joel Spolsky, bazı argümanları bulmanıza yardımcı olabilecek Kanıta Dayalı Zamanlama üzerine bir makale yazdı .

İş arkadaşlarınızı daha iyi tahmin becerilerinin daha iyi yazılım üretmelerine yardımcı olabileceği konusunda ikna etmeniz gerekir. İşte izleme zamanının lehine bazı noktalar:

  • Keyfi bir yönetim tarafından belirlenen son teslim tarihine sahipseniz, iyi tahminler size o dönemde gerçekten neler başarabileceğinizi söyleyecektir . Bir bonus olarak, yöneticiyi neden bahsettiğinizi bildiğinize ikna etmek için hoş grafikleriniz var.
  • Projeyi daha dikkatli düşünmeyi düşünmelisin. Bağlantılı olduğum makalede, "Programınızı saatler içinde ölçülebilen çok küçük görevlere bölmek zorundasınız ." Projenin her yüzü hakkında düşündüğünüz için (umarım bir spesifikasyon yazınız!), Düşünmediğiniz bir şey sizi şaşırtma olasılığınız çok daha düşüktür.
  • Seni daha iyi bir geliştirici yapar. Zaman içinde ne tür görevleri küçümseme eğiliminde olduğunuzu göreceksiniz, böylece kör olarak optimize etmek yerine belirli görevlerde biraz daha iyi vakit geçirebilirsiniz .

1
İkinci nokta için +1. Gün veya hafta cinsinden zaman ölçüsü kullanan tahminlerin günler veya haftalar açısından her zaman yanlış olacağını tespit ettim. Birkaç saat uzaktaysanız, diğer tahminleri her zaman daha doğru bir şekilde yeniden hesaplayabilirsiniz. Bir spekülasyon yazmak veya bir PoC eseri oluşturmak daha doğru tahminler yapar, ancak bu eşyalar için tahminler yapmak o kadar kolay değildir.
Vineet Reynolds

10

Bunu standart şekilde yapabilirsiniz - havuç ve çubuklar.

Bu durumda havuç (lar) "mevcut hızımızı anlayarak gelecekteki kestirimin iyileştirilmesi" olabilir - ama bunu takip etmeniz gerekecek.

Sık sık proje çizelgelemelerine dahil olmadıkları konusundaki yorumunuz bunu zor bir satış haline getirebilir.

Aralarında en çok işlev gören, özellikle de herhangi bir PSP takipçiniz varsa, onların daha iyi olmalarına yardım ediyor olmanızdır.

En yaygın sopa (onları yenmek, havuçlarını önlerinde tutmak değil) "zorunludur, yap" dır. Bir motivasyon olmasa da; en azından pozisyon açık.

Son olarak, kullandığınız yazılım suskunluğuna katkıda bulunuyor mu? Clunky mi? Sistem A'daki zaman kodlarını aramak zorundalar mı, daha önce Sistem B'ye zamanlarını koymuşlar mı? Çok parçalı mı, "kapalı" süre için izin vermiyor mu ve günde 8 saatlik bir muhasebe talep ediyor. Evlat edinmeye yardımcı olmak için sürtünmesiz bir şekilde mümkün olmasını sağlayın.

İyi şanslar


5
Bu son paragraf için +1. Zaman izlemesini yapmamaktan daha kolay hale getirin ve birdenbire sihirli bir şekilde yapılacağını anlayın.
Scott

5
Son nokta - Bir web tabanlı açılır menünün 10 dakikada yazılabildiği durumlarda 8 basamaklı bir sayıya bakmaktan nefret ediyorum (masamda tuttuğum tahmin zarını kullanarak tahminim). Ayrıca, "mevcut hızımızı anlamak" gibi "Yönetim Bingo" terimlerini kullanmam ama programlarımızı gerçekçi hale getirecek olursak, programın sonunda bir şeyler almak için birçok zorunlu ücretsiz fazla mesai yapmanız gerekmez. ile başla."
Wonko Sane

"Tahmini zar" için @Wonko +1 :-)
sdg

8

Tecrübelerime göre, çoğu zaman takip yazılımı ile ilgili sorunlar şunlardır:

  • Geliştirici, bir görevi anında kolayca tahmin edilebilecek alt görevlere bölme yeteneğine veya yetkisine sahip değildir.
  • Yazılım geliştirme ve hata ayıklamada her zaman ortaya çıkan bir durum üzerinde çalışmaya başlamadan önce bilmediğiniz alt işleri hesaba katmanın iyi bir yolu yoktur .
  • Harcanan zaman, bir işe ne kadar odaklanmış bir çabanın tam olarak ne kadar çabaladığını ve toplantılara, meslektaşının sorularını, meslektaş değerlendirmelerini ve diğer genel giderlere ne kadar gittiğini hatırlamak zor olduğunda girilir.
  • İzlenmeyen görevleri hesaba katmanın iyi bir yolu yoktur. Günün sonunda, 6'sı toplantılarla uğraşmış olsa bile, 8 saat ayırdınız mı?
  • Tahminlerinizdeki belirsizliği hesaba katmanın ve iletmenin iyi bir yolu yoktur.

Pomodoro tekniğini kullanmaya başlayarak bu sorunların çoğuna değindim. Bir görevde kesintisiz 25 dakika çalışırsam, o zaman kayıt altına alınır ve tahminlerim bu aralıksız aralıklarla yapılır. Hala belirsizliği iletmek için kanıta dayalı zamanlamayı dahil etmeye çalışıyorum ve kendi ince taneli izlememi, PM'lerin beğeneceği kaba program tahminlerine çevirmek üzerine çalışıyorum, ancak şimdiye dek kesinlikle bir gelişme oldu.


6

İyi bir yol

Örneğin, Mylyn gibi gerçekten kolay ve neredeyse şeffaf olan bir yazılım kullanın. Örneğin bir saat yanma tablosu gibi araçlarla birleştirin.

Kötü yol

Onları, proje, görev, kesin tarih ve saatleri vb. Manuel olarak belirtmeniz gereken sıkıcı zaman çizelgelerini doldurmaya zorlayın.


3
Umarım bu soruyu cevaplamak için harcanan zamanı kaydetmek için tt-proc-1b formunu doldurmuş, daha sonra harcanan zamanı kararlaştırmak için yönetimsel imza atarsınız. ve cevaplamak için çalışmaya başlamadan önce bu soruyu cevaplamak için harcayacağınız tahmini süreyi kaydetmek için tt-est-1a formunu doldurdunuz mu?
gbjbaanb

mylyn / tasktop ... mükemmel değil, ancak programlamacılara doğrudan gerçek faydalar sağlayan başka bir aracın yan etkisi olarak iyi zaman izlemeye çok emin ... kesinlikle mükemmel değil, aynı zamanda harika!
Newtopian

2

Takım lideri / PM değilseniz, bununla mücadele edeceksiniz. İnsanlar, kesinlikle gerekenden daha fazla iş yapmalarını gerektiriyorsa, akranlarını dinlemekten hoşlanmaz (deneyimlerime göre, bu durumda). Ekip liderinizle veya Başbakanınızla görüşmeyi deneyin ve sizin davanıza katılıyorlarsa, zaman ayırmayı zorunlu hale getirebilirler (şu anda çalıştığım yerde olan buydu).

Eğer takımın lideri / PM'sin, rolünde daha güçlü olman gerekiyor: bu insanlar onlara söylediklerini yapmak için oradalar (etkili) ve işini yapmak için daha fazla bilgiye ihtiyacın varsa, bunu sağlamalarını sağlamalısın bilgi. Bilgiyi almanıza yardım etmeye istekli değillerse muhtemelen neden yararlı olduğunu anlamadıkları için, projelerinizin programdan nasıl çıkıp gittiğini / aşırı tahmin edildiğini / neyin ne olduğunu ve neden olduğunu açıklamak için onlarla konuşmayı deneyin. sorun değil, onları dolaştırabilecekmisin gör.


2

Vaktinizi takip edin ya da ödeme almayın. Milyonlarca insan bunu yapıyor (danışmanlar, avukatlar vb.), Neden yapamıyorlar?

Bazıları bunun epeyce olduğunu düşünebilir, ama değil. Starbucks'ta çalışıyorsanız , banyoyu temizlemek zorundasınız . Bir bankada çalışıyorsanız, her gün çalışmak için bir takım elbise ve kravat takarsınız ve zamanınızı izlemeniz gereken bir takımda yazılım mühendisi iseniz, yaparsınız !

Bazen işlerimizde sevmediğimiz şeyler yapmak zorunda kalırız. Hepimiz büyük erkekler ve kızlarız, bence başa çıkabilmeliyiz.


1
Tam olarak ne söyleyecektim. Özellikle faturayı ödeyen müşterileriniz varsa - onlardan ne talep edeceğini başka nasıl bilebilirsin? Birinin geç maaş ödemesini garanti ediyorum, çünkü biri vaktini yüklemiyorsa, sorunu sonsuza dek çözecektir.
HLGEM

2
Bu, FLSA'dan muaf olduğunu iddia ettiğiniz çalışanlara fazla mesai ücreti ödememek için dava açmak için mükemmel bir yoldur, ancak performansa dayalı ödeme yaptığınız için muafiyete hak kazanmayanlar.
Wooble

1
@Wooble: Belli ki, sizi dava açmaya karşı savunmasız ya da çalışanlarınıza kötü muamele konusunda savunmasız bırakacak eylemleri savunmuyorum. Fakat fikir aynı. İşini yapmadığın için tepkiler olmalı. Ve çoğu durumda, zamanınızı takip etmek işinizin bir parçasıdır. Yani belki ödeme yapmazsınız, ama uyarıyorsunuz, denetimli serbest bırakıyorsunuz, ne anlama geldiği önemli değil, ama gerçek şu ki, işinizi yapmanız gerekiyor . Yapmamak bencilcedir, çünkü tüm ekip üyelerinizi de etkiler.
richard

@ HLGEM: Amacınız tam olarak doğru. Müşteriyle olan sözleşmeniz T&M temelinde ise, zamanınızı daha iyi takip edersiniz ya da dürüst olmuyorsunuz.
richard

Ne yazık ki, herhangi bir zaman takibini zorunlu kılacak bir durumda değilim, bu yüzden alternatif yöntemler bulmam gerekiyor.
M. Dudley

1

Açıkçası, en iyi cevap tamamen ekibinizin psikolojik karışımına bağlıdır. Rekabetçi mi? Zamanını sisteme girdiği için kazananı ödüllendiren tekrarlayan bir yarışma tasarlayın. Yarışmayı düzenleyin ve ayarlayın, böylece oyuncular adil ve eğlenceli olduğunu düşünür. Bir oyun yap.

Belki de şeffaflık onlar ne kadar zaman içine varsa endişe ediyoruz aslında bir görevi yerine geçirdi, olumsuz sonuçları olur. Her zaman isimsiz bir “çaba izleme aracı” tasarlamayı ve kovaların yeteri kadar yüksek olduğunu, her bir kovanın içinde bireysel katkı yapanların seçemeyeceği her kovaya çaba harcayan miktarlar dökülebilecek kadar yüksek olduğunu düşündüm. Yüksek seviyeli proje kovaları için daha doğru çaba harcamaları elde etmek bile, proje planlaması ve genel takım hızı için yararlı veriler olabilir, ancak bu "OMG, Joe'nun çok basit bir şey yapma tahminini 3 katına aldığına inanamıyorum." "ya da insanların geleneksel bir zaman takip sisteminde rapor etmekten korkmadıklarını.

Sanırım bunlar sadece iki örnek, ancak gerçekten, ekibinizin psikolojik makyajını iyi bir şekilde kavramanız, çaba harcama maliyet bilgilerinizi nasıl teşvik etmeleri konusunda teşvik etmek veya başka bir şekilde teşvik etmek için size doğru bir cevap verecektir.


Şeffaflık olayı için +1. Bir kez bir zaman izleme sistemi yapmak zorunda kaldım ve kasıtlı olarak yönetimin tam başlangıç ​​ve bitiş zamanını çıkarmasını gerçekten zorlaştırdım, bunun yerine harcanan toplam zamanı görebildiler. Bu şekilde, bir personelin işi ne zaman yaptığı önemli değildi, sadece yapıldığı ve ne kadar sürdüğü. Biraz detay ama yine de.
James

1

Bu talebe iyi cevap vermeme nedenini düşünün . Sadece tembel olduklarını veya çaba göstermekten kaçındıklarını varsaymayın.

Delil üretmekten kaçınan geliştiriciler genellikle

  • Nasıl kullanılabileceği konusunda endişeli ve / veya
  • Verilerin geçerliliği hakkında endişeli

Bu nedenle puan bazlı tahmin ve gömlek boyutlandırma son yıllarda ortaya çıkmıştır. Tahmin sürecinin belirsiz niteliğini göz önünde bulundurur ve "sihrin" (aka, belirsizliklerin ortalaması alınarak) programlamanın kontrolünü ele geçirmesine izin verir.

Ve, mantıklı görünmese de, en azından bir saat veya gün tabanlı bir sistemde olduğu gibi çoğunlukla çalışır. Ayrıca, keyfi bir şekilde yapılırsa, bir ay içinde elde ettikleri şeyle başının etrafında bir takım veya bir kişiyi vurmak da çok zordur.

Scrum ayrıca, geliştiricilerin hız üzerinde kontrol etmelerine izin verir; bu, A, B ve C veya A, Y ve Z'den istediklerinizi elde etmek için bir söz verdikleri anlamına gelir. ama onlar için söz verirseniz, umursamazlar. Yanlışsa senin suçun.

Yeniden yapılanmaları bu şekilde kullanmayacağınızı söylediğinizi anlıyorum, ancak ekibinizdeki kişiler ne kadar emin?


1

Programcıların programlamadan daha fazla zaman ayırmalarını gerektiren herhangi bir araç mutlaka mükemmel bir şey değildir. Programcılar zaten çok fazla ek yüke sahipler, 5 dakikalık toplantılar yapmıyorlar ve sonra fırtınaya giriyorlar.

Eğer gücün varsa, onları yapmaya zorlayabilirsin. Ancak, bugüne kadarki en iyi çözüm, onu acısız yapan kusursuz bir araç oluşturmaktır. Bunu tasarım için nasıl yapacağınızı söyleyemem, ama kodlama için, geliştirme ortamında yapılan değişiklikleri günlüğe kaydetmek istiyorsunuz. Bu inanılmayacak kadar yüksek bir bardı, ancak Eclipse gibi bir şey kullanıyorsanız, o kadar da kötü değil, belki de zaten var. Bu şekilde, her bir dosyaya ve potansiyel olarak Java'da her bir yönteme ne kadar süre girdiğini ölçebilirsiniz. Bu, onlardan faturalandırmalarını isteyerek elde ettiğinizden çok daha hassas bilgilerdir ve oldukça doğru olabilir.

Benzer şekilde, tasarımları girmek için bir aracınız varsa, burada araya girebilirsiniz.


0

Zamanlarını nasıl ve niçin takip etmelerini istediğinize bağlı olarak, aynı zamanda sadece ofisteki zamanı veya işe gidip işe gidip gelmek için harcanan zamanı da mı sayıyoruz?

Proje planlaması zordur ve elde ettiğiniz metriklerin beklediğiniz kadar yararlı olamayacağının iyi bir şansı vardır. Hiçbir iki problem aynı değildir, bu yüzden bir görev sekiz saat, diğeri 32 saat sürebilir.

Geliştiricinin bir görevin ne kadar süreceğini tahmin edeceği ve ardından tahminlerinin ne kadar iyi olduğuna bağlı olarak zaman içinde ayarladığı için kanıtlanmış temelli zamanlamaya bakmak isteyebilirsiniz; bununla birlikte, büyük projeler için iyi değildir çünkü önündeki tüm görevleri bilmeyebilirsiniz. Büyük projeler için, benzer kapsamdaki eski projelere bakmaktan ve bunları bireysel tahminleri bir araya getirmeye çalışmak yerine kıstas olarak kullanmaktan daha iyi olabilirsiniz.


0

Bunları Pomodoro tekniği gibi kişisel organizasyon sistemleri ile tanıştırmayı deneyin (başkaları var ama şimdi deniyorum)

Bu teknik, çalışma sürelerini kısa aralıklarla ayırarak 'Pomodori' (İtalyanca 'domates kelimesinden) adlı 25 dakikalık aralıklarla ayırmak için bir zamanlayıcı kullanır. Zaman çizelgesi oluşturma ve yazılım tasarımında kullanılan yinelemeli ve artımlı gelişim gibi kavramlarla yakından ilgili olan yöntem, çift programlama bağlamlarında benimsenmiştir. Bu yöntem, sık sık ara vermenin zihinsel çevikliği artırabileceği fikrine dayanmaktadır.


0

Onları sayılarını girmeye ikna etmek yerine, çaba sarf etmeden çalışan bir yazılım kullanın. ScreenAware kullanıyorum: https://www.screenaware.com/tr/ Zamanınızı otomatik olarak izler ve ilgili projelere atar. Bu yüzden her zaman doğru ve kimse artık tahmin etmek zorunda değil


Bu özel çözüm OP'nin genel sorusu için çalışmayabilir. Bağlantıları sağlamak iyi olmakla birlikte, OP özellikle problemi için yazılım çözümleri talep etmekten bahsetmediği sürece bir dahaki sefere daha genel bir çözüm sunmaya çalışın.
Neil

-1

Bunun yerine mevcut bilet sisteminizi kullanmayı düşündünüz mü? Bilet sistemimiz, bir biletin oluşturulması ile ne zaman kapatılacağı arasındaki süreyi izler. Görevler için biletler yaratırsanız ve bir bilet numarası için kod işleme gereksinimi yaparsanız, paranızın karşılığını daha fazla alırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.