Saya akan mulai dengan hal utama: jika programmer Anda memilih tugas mereka sendiri, maka Anda memiliki masalah besar.
Kami terbiasa melihat pilihan sebagai operator bersyarat dalam bahasa pemrograman atau skema algoritma. Nah, ingat, belah ketupat seperti itu ditarik, itu berisi kondisi seleksi, dan dua cabang - ya dan tidak. Ketika algoritma dieksekusi, kondisi diperiksa secara instan, sehingga kinerjanya biasanya tidak diperhitungkan.
Dan apa pilihan yang dibuat manusia? Ini bukan algoritma instan, tetapi sebuah proses. Proses ini memiliki awal, akhir (Allah melarang), dan, yang paling penting, durasi. Menurut Anda, berapa lama pemilihan tugas dapat berlangsung?
Anda bisa menebak, tetapi lebih baik untuk mengukur. Saya menyaksikan proses ini berkali-kali, dan kesimpulannya mengecewakan: programmer dapat memilih tugas selama beberapa hari.
Proses seleksi itu buruk karena tersembunyi dari mata kita. Jika seseorang berkeliaran di kantor, bergegas dari satu sisi ke sisi lain, mengangkat kepalanya dalam lolongan panjang, kita akan mengerti bahwa dia punya masalah. Tetapi itu terjadi secara berbeda.
Pemrogram telah lama menghasilkan algoritma pengintaian dalam pertempuran. Sehubungan dengan tugas, itu berarti: tidak hanya membaca kondisi, tetapi masuk dan lihat. Lihatlah kode, formulir, tautan, metadata, contoh pemutaran, dan laporan analitis.
Anda perlu melihat untuk mengevaluasi tugas "sebagaimana mestinya", bukan dengan penglihatan. Jika Anda menangkap seorang programmer dalam pekerjaan ini, dia akan berkata: Saya seorang profesional, dan saya tidak dapat mengambil tugas tanpa mengetahui semua seluk-beluk. Tampaknya, mengapa demikian? Benarkah pria melakukannya?
Tentu saja itu benar. Tetapi hanya jika, menurut hasil penelitiannya, ia membuat keputusan akhir - untuk mengambil tugas, atau tidak. Sebagai pilihan, ambil tugas dengan pemesanan, seperti kebutuhan untuk mempelajari mekanisme tambahan.
Jika programmer memutuskan untuk mengambil tugas, dan duduk untuk melakukan, maka semuanya baik-baik saja. Jika dia meninggalkan tugas, maka semuanya buruk. Waktu yang dihabiskan untuk penelitian akan sia-sia.
Ada dua opsi. Pertama, programmer akan menolak dengan datar, dan orang lain akan menonton tugas. Pada prinsipnya, adalah mungkin bahwa programmer pertama hanya akan menceritakan kembali hasil penelitiannya yang kedua, menemukan kesulitan dan kesulitan yang terkait. Namun dalam praktiknya, programmer lebih suka independensi satu sama lain, termasuk dari pendapat rekan kerja. Beberapa bahkan mengalami kegembiraan tertentu, memahami tugas yang tidak dilakukan seorang rekan.
Opsi kedua - programmer tidak menolak, tetapi menunda tugas sampai nanti. Ketika ini "nanti" datang - tidak diketahui, tetapi kemungkinan besar - setelah waktu yang cukup lama. Apa yang akan terjadi selama iterasi pengintaian kedua dalam pertempuran? Mulai dari mana Anda tinggalkan dalam penelitian Anda? Tentu saja tidak - dia akan pergi dengan cara yang sama, dari awal hingga akhir. Dan, dengan probabilitas tinggi, itu akan macet di tempat yang sama seperti untuk pertama kalinya.
Dan ternyata demikian. Ada waktu yang dihabiskan programmer untuk memecahkan masalah. Normal, benar, waktu yang baik. Sebagai aturan, waktu dihabiskan untuk menyelesaikan masalah satu kali.
Dan ada waktu yang dihabiskan pemrogram untuk banyak pengintaian. Tidak ada manfaat khusus saat ini - baik untuk programmer, atau untuk klien, atau untuk perusahaan Anda. Waktu untuk pengintaian dalam pertempuran hampir merupakan kerugian murni.
Namun masalahnya bukan hanya kecerdasan. Itu terjadi lebih buruk.
Sebagai contoh, seorang programmer memahami semua tugas dalam daftar, tetapi tidak bisa memilih apa yang harus dilakukan. Masalahnya diperparah oleh kenyataan bahwa pilihan itu terjadi ketika Allah mengenakan jiwa - tanpa algoritma, kriteria, dan prioritas tertentu. Dan kemudian ada banyak orang.
Seseorang memilih yang lebih menarik. Yang lain memilih apa yang lebih mudah. Yang ketiga memilih tugas dengan mekanisme yang akrab baginya. Yang keempat memilih tugas klien tercinta, karena hasilnya lebih mudah untuk dilewati. Kelima memilih tugas yang paling ambisius untuk menunjukkan dirinya.
Pada saat yang sama, yang penting, hampir masing-masing dari mereka mengalami siksaan mental yang serius karena ketidakpastian kriteria. Dia secara kasar memahami tugas apa yang ingin dia selesaikan, tetapi entah secara sadar atau tidak sadar merasa bahwa dia melakukan sesuatu yang salah. Menurutnya, perlu memilih tugas yang sama sekali berbeda, berdasarkan strategi perusahaan, keadaan proyek, rencana pengembangan kompetensi mereka sendiri, dll. Tetapi saya ingin memilih bukan apa yang dibutuhkan, tetapi apa yang saya sukai.
Siksaan mental seperti itu semakin memperburuk proses seleksi. Seseorang jatuh ke dalam pikiran yang suram, menimbang pilihannya pada skala hati nurani. Sehingga jam dan hari bisa berlalu.
Dari sudut pandang manajer yang berdiri di sela-sela, seluruh proses ini menyerupai seekor anjing tanah dari satu film terkenal yang merangkak keluar dari lubang dan "memilih cuaca untuk enam minggu ke depan." Apa yang dia ikuti di sana, melihat bayangannya atau tidak, dan mengapa groundhog melakukannya? Benar, jika manajer sering melihat proses ini dari luar, maka pertanyaannya lebih cenderung kepadanya daripada untuk programmer.
Juga, dalam konteks pilihan, liburan sangat penting. Seorang programmer adalah seseorang, pertama-tama, dan bukan robot. Apa yang diinginkan seseorang setelah menyelesaikan pekerjaan yang sulit? Liburan tentu saja!
Tugas yang diselesaikan harus diperhatikan. Pergi untuk merokok, minum teh atau kopi, mengobrol dengan teman, membual tentang masalah yang diselesaikan, duduk di jejaring sosial, membaca berita - secara umum, ada banyak pilihan. Sayangnya, liburan ini terkadang tertunda.
Ini sangat buruk jika tugas itu selesai dalam satu jam, atau bahkan dua sebelum akhir hari kerja. Nah, siapa, yang waras, akan memilih tugas baru untuk diri mereka sendiri, jika segera - pulang?
Betapa sulitnya untuk keluar dari keadaan liburan, setiap orang Rusia tahu - kita semua beristirahat pada liburan Tahun Baru. Dalam kasus kami, itu bahkan lebih sulit, karena programmer harus kembali bukan untuk menyelesaikan masalah, tetapi untuk memilih yang berikutnya. Betapa menyakitkan pilihan itu, telah kita bahas.
Jika untuk meringkas kerugian dari pilihan, maka mereka selalu ada. Satu-satunya pertanyaan adalah kuantitas mereka. Untuk membuat Anda terinspirasi, saya akan memanggil Anda sosok ini: dibutuhkan hingga 50% dari waktu untuk memilih tugas. Coba pikirkan angka ini.
Tapi, dalam konteks materi kita, sosok ini sangat cantik. Dengan menghilangkan kehilangan pilihan, Anda dapat menggandakan efisiensi.
Bagaimana cara menyingkirkan pilihan? Tidak ada yang lebih mudah. Sebenarnya, Anda sendiri yang tahu cara melakukannya. Saya akan menyampaikan saran saya, dan Anda akan menggabungkannya dengan metode Anda sendiri, dan peningkatan efisiensi yang layak akan terjadi.
Hal pertama dan paling penting untuk memulai adalah mengendalikan. Apa pun sistem prioritas dan distribusi tugas yang Anda buat, itu tidak akan berfungsi sampai programmer "mendengarkan Anda".
Singkatnya, mengendalikan adalah kontrol numerik. Dalam hal ini, angkanya tidak akan berupa laba atau jumlah penjualan, tetapi nomor urut tugas dalam antrian. Anda perlu mengelola pemilihan tugas berdasarkan nomor ini, dan pastikan tugas diselesaikan dalam urutan yang diberikan.
Pengendalian diperlukan jika Anda mengelola tim, dan bahkan ketika Anda mengendalikan diri. Lagi pula, setuju dengan diri sendiri lebih mudah daripada dengan bos? "Ya sekarang, untuk yang terakhir kalinya, dan kemudian pasti!"
Secara umum, kita akan berbicara lebih banyak tentang mengendalikan lebih detail, di sini saya berlari ke depan, tetapi itu sangat berharga. Jika Anda datang dengan aturan untuk memilih tugas, tetapi tidak ada yang mengeksekusinya, maka tidak ada yang akan berhasil.
Jadi, semua yang perlu dilakukan adalah mengatur tugas-tugas dalam antrian dan memastikan bahwa antrian ini diikuti. Di beberapa sumber, disarankan untuk menyembunyikan antrian dari programmer, hanya menyisakan dua tugas - saat ini dan berikutnya. Jika Anda menunjukkan kepada programmer semua tugas sekaligus, maka, tidak peduli seberapa keras Anda mencoba, ia masih akan "mengintip", pelajari apa yang ada di depan.
Metode pertama adalah distribusi tugas oleh bos, tanpa menggunakan otomatisasi. Anda hanya mengatakan siapa melakukan apa dan dalam urutan apa. Anda dapat membuat rencana sederhana - misalnya, dalam bentuk selembar kertas kecil, seperti pesanan kerja, atau tugas produksi. Anda cukup menentukan nomor tugas untuk menulis ke buku catatan.
Anda dapat membuat papan, seperti scrum, dan menggantung stiker di sana untuk hari itu. Metode scrum melibatkan menggantung banyak tugas, misalnya - selama seminggu atau sebulan, tetapi ini tidak cocok untuk kita, karena pilihan muncul lagi.
Alokasi tugas manual sangat mudah untuk memulai, dan sama mudahnya untuk berhenti, karena Anda cepat bosan. Anda perlu memiliki kemauan yang signifikan, atau keterampilan manajemen reguler yang baik, untuk memaksa diri Anda untuk mendistribusikan tugas setiap hari. Jika di atas adalah tentang Anda, Anda bisa mulai hari ini.
Untuk otomasi malas cocok. Dalam sistem informasi Anda, tempat tugas disimpan, Anda perlu menempatkan mekanisme untuk menyortirnya. Bagaimana kamu lebih dekat? Urutkan berdasarkan tanggal produksi? Dengan tenggat waktu? Cara apa pun baik. Hal utama adalah bahwa hal itu ditentukan dan dipahami oleh para programmer. Secara pribadi, saya sarankan tidak terbatas pada penyortiran, tetapi untuk menyimpan nomor dalam antrian sebagai bidang terpisah. Sistem modern terlalu nyaman bagi pengguna, dan memungkinkannya mengkonfigurasi penyortiran secara mandiri. Jadi Anda memutuskan bahwa Anda perlu melakukan tugas sesuai urutan penerimaan (FIFO), dan programmer secara tidak sengaja, atau sengaja, mengubah penyortiran ke sebaliknya, dan menerima LIFO.
Jika nomor dalam antrian disimpan, lalu urutkan, jangan urutkan, sulit untuk membuat kesalahan.
Anda tidak bisa melekat pada penyortiran, tetapi mengatur angka secara manual. Ini juga berfungsi jika Anda memiliki tekad yang cukup untuk mengatur angka-angka ini.
Prinsipnya, saya pikir, jelas. Sistem antrian apa pun yang dipahami oleh pemrogram dan memantau kepatuhannya. Ini akan menjadi langkah pertama dalam merampas pilihan yang membutuhkan efisiensi.
Langkah kedua akan kita pertimbangkan lebih lanjut. Ini akan memungkinkan kami untuk mendapatkan lebih banyak manfaat dari antrian - tidak hanya untuk menyederhanakan pilihan, tetapi juga untuk memperbaikinya.
Ringkasan- Memilih tugas bukan instan, tetapi proses yang panjang;
- Si programmer memilih tugas berdasarkan ide-idenya sendiri;
- Sejumlah besar waktu dihabiskan untuk pilihan;
- Proses seleksi tidak baik atau kesenangan;
- Pilihannya harus dirampas;
- Anda dapat mendistribusikan tugas secara manual, seperti mandor;
- Otomasi dapat membantu mengantri.