Mendorong insinyur perangkat lunak untuk melacak waktu

24

Bagaimana saya bisa mendorong rekan kerja saya untuk melacak waktu yang mereka habiskan untuk menyelesaikan masalah dan mengimplementasikan fitur? Kami memiliki perangkat lunak untuk melakukan ini, tetapi mereka tidak memasukkan angka.

Saya ingin tim menjadi lebih baik dalam memberikan perkiraan proyek dengan membandingkan perkiraan masa lalu kami dengan waktu aktual yang dihabiskan. Saya curiga rekan kerja saya tidak melihat manfaat pribadi, karena mereka tidak sering terlibat dalam penjadwalan proyek.

M. Dudley
sumber
6
Mungkin masalahnya adalah mereka harus memasukkan angka alih-alih meminta perangkat lunak melacak waktu dan hanya meminta mereka secara berkala untuk mengatur deskripsi aktivitas dan catatan pers. Saya menulis sebuah program, untuk diri saya sendiri, untuk mengatasi hal ini, karena saya akan pergi sepanjang hari di zona dan kemudian muncul dan mengalami kesulitan menghasilkan "catatan waktu" saya untuk hari itu. Lihat softwaremonkey.org/Program/TimeKeeper
Lawrence Dol
3
Lakukan saja pada mereka apa yang dilakukan pada saya di satu perusahaan tempat saya bekerja. Beri dia tugas, segera minta dia menghabiskan 3 hari terus-menerus dalam pertemuan yang Anda hadiri dengannya, dan kemudian segera setelah pertemuan menuntut untuk mengetahui mengapa tugas itu tidak selesai.
user16764
2
Di mana saya harus meletakkan angka pada saat saya menyelesaikan masalah dalam perjalanan pulang?
Pieter B
1
@PieterB IMO jika Anda secara teratur menghabiskan cukup waktu untuk memikirkan masalah pekerjaan di mobil sehingga meningkatkan produktivitas Anda, maka saya pikir waktu itu harus dilacak untuk perkiraan proyek, meskipun itu tidak dikompensasi. Sudah waktunya Anda kalau tidak akan menghabiskan berpikir di meja Anda. Di sisi lain, jika itu adalah wahyu satu kali di dalam mobil, saya tidak berpikir itu layak dilacak karena itu bukan sesuatu yang akan menjadi dasar perkiraan proyek.
M. Dudley
1
@PieterB Jelas merupakan daerah abu-abu. Semua tergantung pada apakah berguna untuk melacak saat membuat jadwal dan perkiraan proyek.
M. Dudley

Jawaban:

41

Saya curiga rekan kerja saya tidak melihat manfaat pribadi, karena mereka tidak sering terlibat dalam penjadwalan proyek.

Itu bisa diperbaiki.

Buat mereka terlibat dalam penjadwalan.

S.Lott
sumber
2
Ada kutipan tentang ini, tetapi sebagian besar buku saya masih dikemas. Sesuatu tentang para insinyur itu sendiri adalah yang terbaik dalam penjadwalan, jadi mereka harus terlibat dalam penjadwalan sebuah proyek sejak Hari 1. Saya ingin mengatakan bahwa itu berasal dari Rapid Development Steve McConnell, tetapi saya tidak yakin.
Thomas Owens
4
Baru-baru ini saya melihat pada proyek tambang (proyek 6 bulan) di mana PM kami mengalokasikan 4 jam untuk integrasi dengan aplikasi lain. Cukuplah untuk mengatakan integrasi akan memakan banyak waktu dan saya dan pengembang lain berpikir ini cukup lucu.
Chris
@ThomasOwens Masih membingungkan saya setiap kali saya diberi tahu berapa lama sesuatu akan dilakukan oleh BA atau PM. Kekeliruan ini benar-benar dibantah sehingga menyedihkan untuk menyadari bahwa itu berarti tidak ada BA atau PM yang membaca sedikit pun tentang industri tempat mereka bekerja.
Jimmy Hoffa
21

Joel Spolsky menulis artikel tentang Penjadwalan Berbasis Bukti yang dapat membantu Anda menemukan beberapa argumen.

Anda harus meyakinkan rekan kerja Anda bahwa keterampilan estimasi yang lebih baik dapat membantu mereka menghasilkan perangkat lunak yang lebih baik. Berikut adalah beberapa hal yang mendukung pelacakan waktu tugas:

  • Jika Anda memiliki tenggat waktu yang ditetapkan manajemen secara sewenang-wenang, estimasi yang baik akan memberi tahu Anda apa yang sebenarnya dapat Anda capai pada saat itu. Sebagai bonus, Anda memiliki beberapa grafik yang bagus untuk meyakinkan manajer bahwa Anda tahu apa yang Anda bicarakan.
  • Anda harus memikirkan proyek dengan lebih hati-hati. Artikel yang saya tautkan menyatakan, "Anda harus membagi jadwal Anda menjadi tugas yang sangat kecil yang dapat diukur dalam hitungan jam ." Karena Anda memikirkan hampir setiap sisi proyek (semoga menulis spec !), Anda cenderung terkejut oleh sesuatu yang tidak Anda pikirkan.
  • Itu membuat Anda menjadi pengembang yang lebih baik. Anda akan melihat dari waktu ke waktu jenis tugas apa yang cenderung Anda remehkan, sehingga Anda dapat meluangkan waktu untuk menjadi lebih baik pada tugas-tugas spesifik itu daripada mengoptimalkan secara membabi buta.
Michael K.
sumber
1
+1, untuk poin kedua. Saya telah menemukan bahwa setiap perkiraan yang menggunakan ukuran waktu dalam beberapa hari atau minggu, akan selalu tidak akurat dalam hal hari atau minggu. Jika Anda libur beberapa jam, Anda selalu dapat menghitung ulang perkiraan lainnya dengan lebih akurat. Dan menulis spek, atau membuat artefak PoC membuat perkiraan yang lebih akurat, meskipun menghasilkan perkiraan untuk item-item itu tidak sesederhana itu.
Vineet Reynolds
10

Anda dapat melakukannya dengan cara standar - wortel dan tongkat.

Wortel dalam hal ini bisa menjadi "peningkatan estimasi masa depan dengan memahami kecepatan kami saat ini" - tetapi Anda harus menindaklanjutinya.

Komentar Anda bahwa mereka tidak sering terlibat dalam penjadwalan proyek dapat membuat ini sulit dijual.

Yang paling berfungsi tinggi di antara mereka, terutama jika Anda memiliki pengikut PSP , adalah bahwa Anda membantu mereka menjadi lebih baik.

Tongkat yang paling umum (untuk mengalahkan mereka dengan, tidak memegang wortel di depan mereka) adalah "itu wajib, lakukan itu". Meskipun tidak banyak motivator; setidaknya posisinya jelas.

Terakhir, apakah perangkat lunak yang Anda gunakan berkontribusi pada sikap diam mereka? Apakah itu kikuk? Apakah mereka harus mencari kode waktu di Sistem A, sebelum kemudian memasukkan waktu mereka di Sistem B? Apakah terlalu terperinci, tidak memungkinkan untuk "off" waktu dan menuntut akuntansi 8 jam per hari. Jadikan sebisa mungkin bebas gesekan untuk membantu adopsi.

Semoga berhasil

sdg
sumber
5
+1 untuk paragraf terakhir. Buat lebih mudah untuk melakukan pelacakan waktu daripada tidak melakukannya, dan tiba-tiba itu akan selesai secara ajaib.
Scott
5
Poin terakhir yang hebat - Saya benci harus mencari nomor 8 digit ketika dropdown berbasis web dapat ditulis dalam 10 menit (estimasi saya menggunakan dadu estimasi yang saya simpan di meja saya). Juga, saya tidak akan menggunakan istilah Bingo Manajemen seperti "memahami kecepatan kami saat ini" melainkan "Anda tidak akan harus bekerja banyak lembur wajib yang belum dibayar, mencoba memasukkan barang-barang di akhir jadwal jika kami membuat jadwal kami realistis untuk dimulai dari."
Wonko the Sane
@ Wonko +1 untuk "estimasi dadu" :-)
sdg
8

Dalam pengalaman saya, berikut ini adalah masalah dengan sebagian besar perangkat lunak pelacakan waktu:

  • Pengembang tidak memiliki kemampuan atau otoritas untuk memecah tugas menjadi subtugas yang lebih mudah diperkirakan dengan cepat.
  • Tidak ada cara yang baik untuk menghitung subtugas yang tidak Anda ketahui sampai Anda mulai mengerjakan sesuatu, situasi yang muncul sepanjang waktu dalam pengembangan perangkat lunak dan debugging.
  • Waktu yang dihabiskan dimasukkan setelah fakta, ketika sulit untuk mengingat dengan tepat berapa banyak upaya yang terfokus masuk ke dalam tugas dan berapa banyak pergi ke pertemuan, pertanyaan kolega, ulasan sejawat, dan biaya overhead lainnya.
  • Tidak ada cara yang baik untuk menjelaskan tugas yang tidak dilacak. Pada akhir hari, apakah Anda meletakkan 8 jam meskipun 6 dari mereka dihabiskan untuk berurusan dengan rapat dan semacamnya?
  • Tidak ada cara yang baik untuk memperhitungkan dan mengomunikasikan ketidakpastian dalam perkiraan Anda.

Saya telah mengatasi banyak masalah tersebut dengan mulai menggunakan teknik pomodoro untuk diri saya sendiri. Jika saya bekerja 25 menit tanpa gangguan pada tugas, itu akan dicatat saat itu, dan perkiraan saya dilakukan dalam hal interval yang tidak terputus. Saya masih bekerja dengan memasukkan penjadwalan berbasis bukti untuk mengomunikasikan ketidakpastian, dan menerjemahkan sendiri pelacakan berbutir halus saya ke dalam perkiraan jadwal kasar yang disukai PM, tetapi sejauh ini sudah merupakan peningkatan.

Karl Bielefeldt
sumber
6

Cara yang baik

Gunakan perangkat lunak, yang sebenarnya membuatnya mudah dan hampir transparan, seperti misalnya Mylyn. Gabungkan dengan alat-alat seperti misalnya grafik burn-down jam.

Jalan yang buruk

Paksa mereka untuk mengisi timesheets yang membosankan, di mana Anda harus secara manual menentukan proyek, tugas, tanggal dan waktu yang tepat, dll.

vartec
sumber
3
Saya harap Anda telah mengisi formulir tt-proc-1b untuk mencatat waktu yang dihabiskan untuk menjawab pertanyaan ini, kemudian mendapatkan tanda tangan manajerial untuk menyetujui waktu yang dihabiskan. dan Anda mengisi formulir tt-est-1a untuk mencatat perkiraan waktu yang akan Anda habiskan untuk menjawab pertanyaan ini sebelum Anda mulai bekerja menjawabnya?
gbjbaanb
mylyn / tasktop ... tidak sempurna tetapi tentu saja tidak banyak mengarah pada pelacakan waktu yang baik hanya sebagai efek samping dari alat lain yang membawa manfaat nyata bagi programmer secara langsung ... tidak sempurna namun luar biasa mengagumkan !!
Newtopian
2

Jika Anda bukan pemimpin tim / PM maka Anda akan berjuang dengan yang ini. Orang-orang tidak suka mendengarkan teman-teman mereka jika itu mengharuskan mereka harus melakukan lebih banyak pekerjaan daripada yang benar-benar diperlukan (dalam pengalaman saya itu masalahnya, bagaimanapun juga). Cobalah mengambilnya dengan ketua tim atau PM Anda, dan jika mereka setuju dengan kasus Anda, mereka mungkin hanya perlu mencatat waktu sebagai kewajiban (itulah yang terjadi di mana saya saat ini bekerja).

Jika Anda adalah pemimpin tim / PM, Anda harus lebih kuat dalam peran Anda: orang-orang ini ada di sana untuk melakukan apa yang Anda katakan kepada mereka (secara efektif), dan jika Anda memerlukan lebih banyak informasi untuk melakukan pekerjaan Anda, Anda harus meminta mereka untuk menyediakannya informasi. Jika mereka tidak mau membantu Anda mendapatkan informasi itu mungkin karena mereka tidak mengerti mengapa itu berguna, cobalah berbicara dengan mereka untuk menjelaskan bagaimana proyek Anda sering tidak sesuai jadwal / mendapatkan terlalu banyak perkiraan / apa pun dan mengapa itu menyebabkan Anda bermasalah, lihat apakah Anda dapat mengubahnya!

Ed James
sumber
2

Lacak waktu Anda atau jangan dibayar. Jutaan orang melakukannya (konsultan, pengacara, dll.), Mengapa mereka tidak bisa?

Beberapa mungkin berpikir ini agak kejam, tetapi tidak. Jika Anda bekerja di Starbucks, Anda harus membersihkan kamar mandi . Jika Anda bekerja di bank, Anda mengenakan jas dan dasi untuk bekerja setiap hari , dan jika Anda seorang insinyur perangkat lunak di tim yang membutuhkan Anda untuk melacak waktu Anda , Anda melakukannya !

Terkadang kita harus melakukan hal-hal di pekerjaan kita yang tidak kita sukai. Kita semua laki-laki dan perempuan besar, saya pikir kita harus bisa mengatasinya.

richard
sumber
1
Persis apa yang akan saya katakan. Terutama jika Anda memiliki klien yang membayar tagihan - bagaimana lagi Anda bisa tahu harus mengenakan biaya apa kepada mereka? Saya menjamin bahwa satu gaji terlambat karena seseorang tidak mengisi waktunya akan memperbaiki masalah selamanya.
HLGEM
2
Ini adalah cara terbaik untuk dituntut karena tidak membayar lembur kepada karyawan yang Anda klaim bebas-FLSA tetapi tidak memenuhi syarat untuk pengecualian karena Anda membayar docking berdasarkan kinerja.
Wooble
1
@ Wooble: Jelas saya tidak menganjurkan tindakan yang akan membuat Anda rentan dituntut, atau dengan cara apa pun memperlakukan karyawan Anda dengan buruk. Tapi idenya sama. Seharusnya ada tindakan balasan untuk tidak melakukan pekerjaan Anda. Dan dalam banyak kasus, melacak waktu Anda adalah bagian dari pekerjaan Anda. Jadi mungkin Anda tidak membayar gaji, tetapi Anda memperingatkan, mengenakan masa percobaan, apa pun yang masuk akal, tetapi kenyataannya, Anda harus melakukan pekerjaan Anda . Ini egois untuk tidak melakukannya, karena itu mempengaruhi semua anggota tim Anda juga.
richard
@HLGEM: Maksud Anda tepat. Jika kontrak Anda dengan klien berdasarkan T&M, Anda lebih baik melacak waktu Anda, atau Anda tidak jujur.
richard
Sayangnya saya tidak dalam posisi untuk mengamanatkan pelacakan waktu, jadi saya perlu menemukan metode alternatif.
M. Dudley
1

Jelas jawaban terbaik sepenuhnya tergantung pada perpaduan psikologis tim Anda. Apakah mereka kompetitif? Rancang kontes berulang yang memberi penghargaan kepada pemenang karena memasukkan waktu mereka ke dalam sistem. Sesuaikan dan sesuaikan kontes sehingga para pemain berpikir itu adil dan menyenangkan. Jadikan itu permainan.

Mungkin mereka khawatir jika ada transparansi berapa lama sebenarnya mereka menghabiskan melakukan tugas, akan ada konsekuensi negatif. Saya selalu bertanya-tanya tentang merancang "alat pelacakan usaha" yang anonim dan di mana ember cukup tinggi tingkatnya sehingga akan ada banyak individu yang menuangkan jumlah yang dihabiskan untuk usaha ke dalam setiap ember yang kontributor individu tidak dapat dipilih. Bahkan hanya dengan mendapatkan biaya usaha yang lebih akurat untuk bucket proyek tingkat tinggi mungkin merupakan data yang berguna untuk perencanaan proyek dan kecepatan tim secara keseluruhan, tetapi ini akan menghindari "OMG, saya tidak percaya Joe mengambil 3x perkiraannya untuk melakukan sesuatu yang begitu sederhana .. "atau yang lainnya yang orang takut laporkan dalam sistem pelacakan waktu tradisional.

Saya kira ini hanya dua contoh, tetapi sungguh, memiliki pemahaman yang baik tentang susunan psikologis tim Anda akan memberi Anda jawaban yang tepat untuk bagaimana memberikan insentif atau mendorong mereka untuk berkontribusi dalam informasi biaya usaha mereka.

buruk
sumber
+1 untuk hal transparansi. Saya harus melakukan sistem pelacakan waktu sekali dan saya sengaja membuat sangat sulit bagi manajemen untuk mengeluarkan waktu mulai dan akhir yang tepat, sebagai gantinya mereka hanya bisa melihat total waktu yang dihabiskan. Dengan begitu tidak masalah ketika seorang anggota staf melakukan pekerjaan, hanya saja itu dilakukan dan berapa lama. Sedikit detail tapi tetap saja.
James
1

Pikirkan mengapa mereka tidak menanggapi permintaan ini dengan baik. Jangan hanya berasumsi bahwa mereka malas atau menghindari usaha.

Pengembang yang menghindari menghasilkan bukti biasanya

  • Khawatir tentang bagaimana ini dapat digunakan dan / atau
  • Khawatir tentang validitas data

Inilah sebabnya mengapa estimasi berbasis titik dan ukuran kemeja telah lepas landas dalam beberapa tahun terakhir. Ini memperhitungkan sifat yang sangat tidak pasti dari proses estimasi dan memungkinkan untuk "sihir" (alias, rata-rata keluar dari ketidakpastian) untuk mengendalikan penjadwalan.

Dan, meskipun mungkin tidak masuk akal, sebagian besar bekerja - setidaknya serta sistem berbasis jam atau hari. Juga sangat sulit untuk memukul tim atau individu di sekitar kepala dengan apa yang telah mereka capai dalam sebulan jika dilakukan dengan cara yang sewenang-wenang.

Scrum juga memungkinkan pengembang mengontrol kecepatan, yang berarti bahwa mereka membuat janji untuk mencapai apa pun yang Anda pilih dari A, B dan C atau A, Y dan Z. Ketika mereka telah membuat janji itu, pengembang tidak suka gagal; tetapi jika Anda membuat janji itu untuk mereka, mereka tidak akan peduli. Itu salahmu jika itu salah.

Saya mengerti bahwa Anda mengatakan Anda tidak akan menggunakan reestimasi dengan cara itu, tetapi seberapa yakin individu-individu dalam tim Anda tentang hal itu?

pdr
sumber
1

Alat apa pun yang membutuhkan programmer untuk mencurahkan lebih banyak waktu jauh dari pemrograman tidak selalu merupakan hal yang hebat. Programmer sudah memiliki banyak overhead, mereka tidak memiliki pertemuan 5 menit dan kemudian membuat badai.

Jika Anda memiliki kekuatan, Anda dapat memaksa mereka untuk melakukannya. Namun sejauh ini solusi terbaik adalah membangun alat yang mulus yang membuatnya tidak menyakitkan. Saya tidak bisa memberi tahu Anda cara melakukannya untuk desain, tetapi untuk pengkodean, Anda ingin mencatat perubahan yang dibuat di lingkungan pengembangan. Ini dulunya adalah bar yang sangat tinggi, tetapi jika Anda menggunakan sesuatu seperti Eclipse, itu tidak terlalu buruk, mungkin sudah ada. Dengan cara ini, Anda dapat mengukur berapa banyak waktu yang masuk ke setiap file, dan berpotensi di Jawa, setiap metode. Itu informasi yang jauh lebih halus daripada yang Anda dapatkan dengan meminta mereka menagih, dan itu bisa sangat akurat.

Demikian pula, jika Anda memiliki alat untuk memasukkan desain, Anda dapat memotong di sana.

Dov
sumber
0

Bergantung pada bagaimana dan mengapa Anda ingin mereka melacak waktu, apakah kita hanya menghitung waktu di kantor atau waktu yang dihabiskan di perjalanan untuk bekerja memikirkan masalah juga?

Penjadwalan proyek sulit dan ada kemungkinan besar metrik yang Anda peroleh tidak akan berguna seperti yang Anda kira akan terjadi. Tidak ada dua masalah yang sama sehingga satu tugas mungkin memakan waktu delapan jam sementara yang lain mungkin membutuhkan waktu 32 jam untuk menyelesaikannya.

Anda mungkin ingin melihat penjadwalan berbasis terbukti karena pengembang memperkirakan berapa lama tugas akan diambil dan kemudian menyesuaikan dari waktu ke waktu berdasarkan seberapa baik perkiraan mereka; Namun, itu tidak baik untuk proyek-proyek besar karena Anda mungkin tidak tahu semua tugas di muka. Untuk proyek-proyek besar, Anda mungkin lebih baik melihat proyek-proyek sebelumnya dari ruang lingkup yang sama dan menggunakannya sebagai tolok ukur daripada mencoba untuk menggabungkan perkiraan individu.

rjzii
sumber
0

Coba perkenalkan mereka dengan sistem organisasi pribadi seperti teknik Pomodoro misalnya (ada banyak yang lain tapi itulah yang saya coba sekarang)

Teknik ini menggunakan timer untuk memecah periode kerja menjadi interval 25 menit yang disebut 'Pomodori' (dari bahasa Italia untuk 'tomat') dipisahkan oleh istirahat pendek. Terkait erat dengan konsep-konsep seperti timeboxing dan pengembangan iteratif dan tambahan yang digunakan dalam desain perangkat lunak, metode ini telah diadopsi dalam konteks pemrograman berpasangan. Metode ini didasarkan pada gagasan bahwa sering istirahat dapat meningkatkan ketangkasan mental ..

Shady M. Najib
sumber
0

Alih-alih meyakinkan mereka untuk memasukkan nomor mereka, gunakan perangkat lunak yang bekerja dengan mudah. Saya menggunakan ScreenAware: https://www.screenaware.com/en/ Ini melacak waktu Anda secara otomatis dan menugaskannya ke proyek masing-masing. Jadi selalu akurat dan tidak ada yang perlu menebak lagi

Tom
sumber
Solusi spesifik ini mungkin tidak berfungsi untuk pertanyaan umum OP. Meskipun boleh saja memberikan tautan, lain kali cobalah memberikan solusi yang lebih umum kecuali OP secara khusus menyebutkan meminta solusi perangkat lunak untuk masalahnya.
Neil
-1

Sudahkah Anda mempertimbangkan untuk menggunakan sistem tiket yang ada? Sistem tiket kami memonitor waktu antara pembuatan tiket dan saat ditutup. Jika Anda membuat tiket untuk tugas dan membuat nomor tiket menjadi persyaratan untuk melakukan kode, Anda akan mendapatkan lebih banyak.

Amy Anuszewski
sumber