Bagaimana cara membuat kode pada jadwal yang sangat ketat?

40

Saya sedang mengerjakan proyek yang memiliki jadwal sangat ketat. Saya tidak punya banyak waktu untuk kode dan tes (meskipun saya bekerja lebih dari 12 jam setiap hari, masih tertunda), dan hasilnya sangat rapuh. Kodenya juga sangat dilematis.

Program ini digunakan oleh semua kantor di perusahaan pelanggan kami, yang berlokasi di banyak negara. Saya secara teratur mendapatkan panggilan telepon di tengah malam tentang kesalahan dari pengguna / penguji kami atau tentang mereka yang tidak tahu cara menggunakan beberapa fitur.

Setelah tiga tahun mengerjakan proyek ini, saya merasa sangat tertekan dan saya tidak bisa tidur nyenyak karena saya sangat khawatir tentang kesalahan dan panggilan telepon.

Saya punya beberapa pertanyaan:

  1. Selama tiga tahun, semua kode yang saya tulis hanyalah kode skenario penggunaan yang sempurna (sehingga mudah rusak). Ini dirancang dengan buruk dan tidak memiliki unit test. Saya punya banyak masalah karena fakta ini. Oleh karena itu, saya ingin tahu apakah layak untuk menulis kode yang berfungsi ketika proyek memiliki jadwal yang sangat ketat?
  2. Bagaimana saya bisa menulis kode yang lebih baik dalam jumlah waktu yang sama?
  3. Bagaimana saya bisa menjernihkan pikiran dan tidak khawatir tentang pekerjaan ketika saya tidur?
Anonim
sumber
9
Saran? Yang Paling Jelas Dan Anda Tahu Itu !!!
Aditya P
25
Matikan telepon Anda di malam hari. Tetapkan batas dan patuhi. Anda memiliki dua masalah berbeda di sini, yang pertama adalah perusahaan Anda yang tidak menghargai bahwa karyawan juga memiliki kehidupan untuk dijalani.
Pos Tim
34
keluar dari pekerjaan, dapatkan yang baru. juga, pelajari cara melakukan pengujian unit
mauris
18
Tenggat waktu adalah masalah manajemen. Jika tenggat waktu selalu seketat itu, maka mereka perlu bekerja untuk memberikan perkiraan yang lebih baik - tidak bekerja seperti anjing untuk memenuhi apa yang mereka pikir perlu dilakukan.
Steven Evers
4
Saya yakin jika game EA mempekerjakan SnOrfus, ia akan melakukannya.
Berin Loritsch

Jawaban:

30

Larang panggilan telepon

Jika pengguna Anda di seluruh dunia mereka pasti tidak dapat mengharapkan Anda untuk mengambil telepon ketika jam 4 pagi dan Anda di tempat tidur. Saya akan melarang panggilan telepon dan beralih ke alat komunikasi lain yang dapat melayani skenario ini dengan lebih baik (email atau beberapa masalah pelacakan DB). Tetapi bahkan di kantor membuat jadwal aksesibilitas telepon terjadwal. Kalau tidak, Anda tidak dapat melakukan apa pun selama berada di kantor.

Ini akan membuat Anda tidur dan istirahat yang berharga.

Jadwal yang padat

Jika proyek ini telah dijadwalkan secara ketat selama tiga tahun, seseorang pasti mencurigai sesuatu yang tidak benar-benar berfungsi. Mungkin sudah saatnya seseorang memberi tahu perencana sesuatu dan terutama pengguna / klien Anda dan manajer Anda bahwa ini adalah proyek pawai kematian. Sudah dikembangkan selama tiga tahun, tertunda dan penuh bug. Paket harus sepenuhnya dievaluasi ulang, kode yang ada harus direaktor ulang dan fitur baru tidak boleh dikembangkan sampai banyak masalah diselesaikan.

Memesan dari kekacauan

Tetapkan metodologi pengembangan yang akan membuat hal-hal dapat diprediksi dan dapat ditanggung oleh Anda. Jika Anda seorang pengembang maka melayani panggilan telepon saat mereka masuk tidak memungkinkan Anda melakukan pekerjaan apa pun. Setiap gangguan membutuhkan waktu 15 menit untuk kembali ke tempat Anda tinggalkan. Panggilan telepon harus dimatikan . Setidaknya di atas meja Anda karena Anda seorang pengembang. Jika Anda dapat mengalihkan panggilan telepon ke orang lain yang tidak akan mengganggu Anda setelah setiap panggilan daripada melakukan itu.

Buat semacam database insiden / bug. Luangkan waktu setiap pagi ketika Anda mulai bekerja dan prioritaskan insiden baru (Anda sendiri, tim Anda atau dengan klien / manajer Anda). Cobalah untuk menyelesaikannya dengan kata penutup urutan prioritas ini dan jangan coba-coba memikirkan panggilan telepon.

Bagaimana jika

Bagaimana jika Anda tidak dapat mematikan telepon Anda dan Anda tidak dapat memberi tahu pengguna Anda bahwa mereka tidak dapat menghubungi Anda kapan saja mereka mau? Jika Anda memiliki nomor telepon pengguna Anda, saya sarankan Anda melakukan yang sebaliknya: ketika mereka memanggil Anda, buat pemberitahuan dan beri tahu mereka bahwa Anda akan memanggil mereka kembali ketika sudah dipecahkan. Kemudian panggil mereka kembali ketika mereka sedang tidur. Jika mereka memberi tahu Anda bahwa mereka sedang tidur, ingat balasan mereka dan gunakan ketika mereka memanggil Anda di tengah malam di waktu berikutnya. Orang-orang biasanya memahami bahasa mereka sendiri dengan lebih baik.

Jika mereka menggunakan telepon kantor dan Anda menggunakan ponsel sehingga Anda tidak dapat menelepon mereka di luar jam kerja dan mereka bisa, maka mulailah mematikan ponsel Anda setelah Anda meninggalkan kantor. Anda telah berada di sana selama 12 jam dan Anda layak tidak bekerja. Jika ponsel itu milik Anda, maka perusahaan Anda harus memberi Anda yang baru dan Anda harus memberi tahu pengguna / klien Anda tentang hal itu. Jika mereka mulai memanggil Anda secara pribadi setelah itu (karena mereka tidak dapat menghubungi Anda di bisnis Anda, Anda juga:

  1. jangan dijemput
  2. minta dijawab oleh teman Anda yang memberi tahu mereka nomor yang salah atau bahwa pengguna asli nomor ini tidak menggunakannya lagi.

Hal yang paling penting

Jangan kembangkan fungsionalitas baru sampai Anda menyelesaikan masalah yang ada. Setidaknya yang prioritas tinggi dan sedang.

Robert Koritnik
sumber
6
Jangan agresif secara pasif dengan pengguna. Jika perusahaan tidak mengharapkan Anda untuk menjawab telepon di luar jam kerja, jangan. Perlu ada nomor lain untuk seseorang yang bertugas.
JeffO
@ Jeff O: Saya sangat setuju. Tetapi karena ini telah berlangsung selama 3 tahun tampaknya diharapkan untuk menjawab panggilan pada jam-jam yang tidak manusiawi.
Robert Koritnik
1
Saya menyarankan agar Anda memberi tahu mereka di muka dan bukannya menghasut. Tidak akan terlalu banyak orang memahami bahasa mereka sendiri dengan lebih baik karena mereka tidak ingin berbicara dengan Anda karena mereka menganggap Anda tidak menyenangkan.
Rei Miyasaka
3
"panggil mereka kembali ketika mereka sedang tidur" "Orang-orang biasanya mengerti bahasa mereka sendiri lebih baik" bagus;)
Achu
2
Jujur saja, jika ia sampai pada skenario "Bagaimana jika", pilihan terbaik adalah menemukan tempat lain untuk bekerja. Tidak sehat (bagi sebagian besar) bekerja terus menerus selama 12 jam sehari, dan bahkan lebih buruk lagi jika Anda sedang menelepon. Tentu saja, dia harus melakukan sebanyak mungkin untuk memperbaiki masalah, tetapi jika semuanya gagal, berhentilah. Situasi ini tidak berkelanjutan.
Dan Lyons
14

Kecuali jika Anda satu-satunya orang di tim - dalam hal ini, Anda mungkin lebih dari setengah jalan menuju kehabisan tenaga - bergiliranlah dengan 'pager'. Itu seharusnya meringankan beban untuk saat ini.

Maka Anda perlu menyampaikan kepada manajemen bahwa mereka perlu menjadwalkan fase untuk membayar hutang teknis - yang berarti pengujian, pembersihan kode, refactoring. Dan itu perlu dijadwalkan segera. Secara umum, ini berarti bahwa untuk sementara waktu tidak ada kode baru yang bukan merupakan refactoring atau tes. Jika tidak, itu hanya akan menjadi lebih buruk.

Setelah dalam fase itu, Anda memilih bagian yang paling sulit dari basis kode, refactor, membersihkannya dan menulis tes untuk menguji kotoran itu. Setelah panggilan berhenti, atau dapat ditangani tanpa devs menjadi gila, maka Anda siap untuk fase fitur lainnya (jika itu yang mereka inginkan). Pada titik ini, Anda menulis tes dengan kode baru, dan terus menjalankan regresi. Saat ini, perangkat lunak ini terdengar seperti sedang dalam proses penulisan ulang.

Poin penjualan untuk percakapan Anda dengan bos Anda:

  • Tes otomatis dapat menghentikan atau mengurangi regresi secara signifikan
  • Berfokus pada stabilitas berarti bahwa pengguna akan memiliki lebih sedikit penundaan kerja / penghentian
  • Tidak ada lagi panggilan tengah malam berarti mereka tidak membayar lembur
  • Tidak ada lagi panggilan tengah malam berarti bahwa para devs tidak akan cepat terbakar

Mari kita jujur. Hingga saat ini, perusahaan Anda belum berpikir bahwa ini adalah masalah yang cukup besar untuk dilakukan; Anda akan terbakar. Sepertinya, tidak ada seorang pun di manajemen yang memiliki pengalaman pengembangan nyata. Mulailah mencari.

Steven Evers
sumber
Lebih baik lagi, berikan pager ke manajer yang membuat Anda terlibat dalam kekacauan ini ... atau secara tidak sengaja menjatuhkannya ke dalam ember berisi air asin.
Stephen C
2
Jika proyek ini telah berlangsung kacau selama tiga tahun saya kira fase dept teknologi akan menjadi beberapa bulan. Pertama-tama mereka harus berhenti mengembangkan fitur-fitur baru untuk menyelesaikan 20% dari sebagian besar masalah yang bermasalah (karena 80% dari mereka mudah-mudahan jarang ditabrak) dan kemudian mulai dengan refactoring. Setelah selesai, Anda dapat mulai menyentuh 80% lainnya. Tetapi jangan mulai mengembangkan fitur baru sampai Anda menyelesaikan semua masalah saat ini. Mengapa? Semakin cepat Anda menyelesaikan bug, semakin murah untuk menyelesaikannya. Meskipun dalam kasus Anda tidak ada yang tampak murah lagi.
Robert Koritnik
@Robert Koritnik: Tentu saja. +1
Steven Evers
13

Meskipun mungkin ada beberapa teknik yang akan memungkinkan Anda untuk mencapai keuntungan kecil dalam produktivitas, peningkatan 5% dalam output pekerjaan lebih buruk daripada tidak berguna bagi Anda saat ini. Keterampilan nyata yang Anda lewatkan di sini sederhana dan mendasar:

Pelajari cara mengatakan tidak

Katakan tidak untuk semua harapan tidak masuk akal yang sudah Anda tahu Anda harus tolak. Anda tahu apa itu. Itu sudah jelas. Jika Anda tidak bisa mengatakan tidak sekarang, cari pekerjaan di mana Anda bisa. Pengusaha yang cerdas akan menemukan keterampilan ini diinginkan.

Rein Henrichs
sumber
1
Lebih dari segalanya, ini adalah keterampilan yang dibutuhkan. Jawaban bagus!
Joe Z
8

Mulailah dengan memahami bahwa proyek Anda akan gagal jika tidak ada perubahan. Ini adalah langkah paling penting untuk melakukan apa yang perlu Anda lakukan. Pengembang tidak dapat mempertahankan upaya selama 12 jam sehari dan dapat menghasilkan kode yang berguna. Anda akan sampai pada titik di mana Anda membuat kesalahan bodoh dan benar-benar kehilangan kemajuan karena Anda harus mulai setiap hari memperbaiki apa yang Anda lakukan sehari sebelumnya. Sepertinya Anda sudah ada di sana.

Ada dua masalah utama yang perlu ditangani sebelum Anda dapat memiliki kewarasan lagi:

  • Manajemen perlu tahu bahwa apa yang mereka lakukan tidak berfungsi . Terus mengulangi kesalahan yang sama akan menghasilkan hasil yang sama. Sesuatu harus berubah.
  • Anda perlu waktu untuk memperbaiki apa yang sudah Anda miliki. Itu berarti Anda perlu waktu untuk merencanakan serangan Anda, dan Anda perlu waktu untuk mengatasinya menggunakan 8 jam hari kerja.
  • Anda perlu mengubah cara Anda bekerja. Pahami bahwa semakin banyak stres yang Anda miliki, semakin banyak visi terowongan yang Anda miliki. Anda tidak dapat memikirkan cara-cara kreatif untuk mengatasi masalah atau bahkan memikirkan apa yang terjadi jika ada masalah ketika Anda stres seperti ini. Belum lagi Anda memiliki kemungkinan peningkatan komplikasi kesehatan yang serius. Temukan cara untuk melepaskan stres Anda, dan temukan cara untuk mengurangi stres Anda.

Untuk memperbaiki situasi Anda, Anda memerlukan dukungan manajemen. Masalahnya adalah mereka tidak merasakan sakit, dan Anda tidak ingin berakhir di rumah sakit karena stroke untuk mendapatkan perhatian mereka. Langkah pertama adalah menjelaskan kepada manajemen Anda di mana Anda berada, dan tekanan yang Anda alami. Jika mereka tidak mendapatkannya, naik tingkat manajemen yang lain. Atau mungkin gambarkan kondisi kerja Anda ke departemen SDM. Meminta Anda untuk bekerja lebih dari 8 jam sehari untuk waktu yang lama mungkin merupakan pelanggaran hukum, dan departemen SDM pasti tahu.

Dengan asumsi manajemen mendengar permohonan Anda, Anda ingin mengambil tindakan berikut:

  • Hentikan pendarahan. Tidak ada fitur baru, dan orang lain menangani panggilan layanan. Anda harus fokus pada tugas yang ada.
  • Identifikasi bug paling parah yang perlu diperbaiki, dan coba cari tahu berapa lama untuk memperbaikinya. Ini adalah perkiraan kasar, dan lebih baik memiliki angka yang lebih besar daripada angka yang lebih rendah. Untuk memperhitungkan rapat dan interupsi sepanjang hari, manajemen Anda memerlukan estimasi berdasarkan bekerja di sana selama 5 jam sehari. Ini menyisakan 3 jam untuk rapat dan interupsi.
  • Dapatkan manajemen untuk menyetujui jadwal revisi untuk bug kritis ini.
  • Dapatkan manajemen untuk menyetujui orang lain menguji Anda. Ini tidak mengakui bahwa Anda tidak dapat melakukan pekerjaan Anda. Ini hanya memberikan beberapa jaminan kualitas sehingga setiap rilis lebih baik daripada yang terakhir.
  • Sekarang kamu memperbaikinya. Tulis pengujian unit untuk mereproduksi masalah, sehingga Anda tahu kapan Anda berhasil. Lebih penting lagi, Anda akan tahu jika sesuatu yang Anda lakukan di tempat lain mematahkannya lagi. Refactor untuk membuat kode bekerja lebih baik.

Setelah rilis perbaikan bug penting selesai, saatnya untuk merencanakan yang berikutnya. Semua fitur dan perbaikan bug perlu diprioritaskan, dan rilis harus direncanakan sekitar sebagian dari beban kerja yang tertunda. Anda akan menemukan ketika Anda membawa kewarasan ke dalam kehidupan kerja Anda, tingkat stres Anda akan turun, kualitas Anda akan naik, dan Anda akan secara keseluruhan lebih efisien.

Berin Loritsch
sumber
6

Anda tampaknya menderita dari apa yang saya anggap sebagai kasus Ekonomi Palsu , dan semakin lama Anda mematuhi hal-hal yang tidak berhasil, semakin buruk masalah Anda.

Beberapa Indikator Utama:

  • Apa yang tampak seperti jadwal yang tidak realistis.
    • Saya berasumsi pemahaman yang buruk tentang praktik pembangunan yang sehat di pihak manajemen.
    • Saya menganggap kurangnya pemahaman atau dukungan dari manajemen.
  • Bekerja 12 jam per hari.
  • Tingkat Stres yang tinggi.
  • Kurang tidur.
  • Kegelisahan.
  • Buruknya perhatian pada desain dan kualitas kode.
  • Kurangnya jaring pengaman pengujian unit.

Saya ingin tahu apakah layak untuk menulis kode yang berfungsi ketika proyek memiliki jadwal yang sangat ketat?

Jawaban singkatnya adalah ya. Jawaban panjangnya rumit, dan akan membutuhkan perubahan besar dalam persepsi atas nama manajemen dan mungkin juga pelanggan, dan upaya raksasa dari pihak Anda ... tapi saya akan kembali ke semua ini sebentar lagi.

Bagaimana saya bisa menulis kode yang lebih baik dalam jumlah waktu yang sama?

Secara realistis, Anda tidak bisa jika asumsi Anda adalah Anda dapat melakukan apa pun yang akan menghemat waktu Anda dan masih mendapatkan hasil yang sempurna. Anda perlu menerapkan teknik yang akan menambah waktu yang diperlukan untuk mengimplementasikan kode Anda karena Anda perlu meluangkan waktu untuk fokus pada perincian yang benar. Ini membutuhkan waktu, dan di sinilah ekonomi palsu Anda paling menyakiti Anda. Namun, dengan melakukan hal-hal dengan cara yang lebih baik, Anda meningkatkan kualitas kode Anda dan pada gilirannya akan mengurangi kerapuhan sistem Anda. Sekali lagi, saya akan menjelaskan ini lebih jauh ke bawah.

Bagaimana saya bisa menjernihkan pikiran dan tidak khawatir tentang pekerjaan ketika saya tidur?

Kecemasan menyebabkan kurang tidur, dan kurang tidur menciptakan kecemasan. Ini adalah lingkaran setan jika pernah ada satu, dan jika dibiarkan tidak terkendali kemungkinan akan menyebabkan saudara kembar yang cemas, Depresi . Kehilangan tidur kronis, yang saya asumsikan kemungkinan dikombinasikan dengan kurang olahraga dan juga kebiasaan gizi yang buruk, semua kemungkinan mengakibatkan Kelelahan kronis . Semua ini merupakan gejala dari semua masalah yang Anda hadapi di tempat kerja Anda, dan masalah yang dihasilkan yang mungkin Anda hadapi dalam kehidupan rumah tangga Anda. Di sinilah letak bukti terbesar tentang ekonomi palsu, dan mungkin ini adalah masalah paling serius yang harus Anda tangani terlebih dahulu.

Saya juga menerima saran.

Pertama-tama saya harus menyatakan bahwa saya bukan seorang profesional medis, dan Anda benar-benar harus mencari nasihat dari dokter Anda sebelum Anda bertindak atas apa pun. Namun saya akan mencatat bahwa saya telah menjalani pengalaman yang telah Anda jelaskan dalam posting Anda, dan saya tahu betapa sulitnya untuk berurusan dengan, dan betapa pentingnya untuk melakukan sesuatu tentang hal itu. Saya telah hidup melalui depresi, kegelisahan, kelelahan kronis, stres, dan semua gangguan kecil lain yang menyertai mereka, jadi saya akan menawarkan beberapa saran berdasarkan pengalaman ini:

  • Pergi ke dokter Anda, dan diskusikan gejalanya. Beri tahu dokter jika Anda lelah, jika Anda merasa tertekan atau khawatir sebagian besar waktu, jika Anda sering masuk angin dan flu, dan bagaimana perasaan Anda secara fisik. Jika dokter Anda diizinkan, Anda kemungkinan akan ditawari obat anti-kecemasan atau bahkan anti-depresi. Bahkan jika Anda merasa enggan untuk, tinggalkan harga diri di pintu dan bawa mereka seperti yang ditentukan. Mereka benar-benar membantu, dan memungkinkan Anda menemukan kekuatan untuk menangani segala sesuatu yang akan datang.
  • Carilah seorang psikolog yang baik untuk membahas masalah Anda seperti yang Anda tahu, dan siapa yang dapat membantu Anda untuk mengeksplorasi perasaan Anda tentang itu semua, dan untuk membantu Anda mengembangkan strategi untuk mengatasi masalah tersebut. Beberapa dari apa yang diminta Anda lakukan mungkin tampak tidak ada gunanya, atau sedikit plin-plan. Tetap lakukan, karena sekali lagi, itu sangat membantu, terutama dalam mengajarkan Anda secara khusus bagaimana menjernihkan pikiran Anda.
  • Hindari tidur tablet kecuali Anda benar-benar membutuhkannya, karena Anda dapat menjadi tergantung pada mereka dan membuat masalah tidur Anda lebih buruk. Secara pribadi saya meminumnya hanya ketika saya tidak dapat tidur yang saya butuhkan setelah akhir pekan, dan biasanya ketika saya mengalami akhir pekan yang malas dan tidak terpenuhi.
  • Lihatlah mengubah diet Anda. Serius hilangkan kafein karena hanya berkontribusi pada tingkat kecemasan yang lebih tinggi. Kurangi karbohidrat Anda, dan keseimbangan diet Anda, dan maksud saya makan lebih banyak buah dan sayuran alami, kurangi jumlah daging merah yang Anda konsumsi, dan kurangi lemak dan minyak. Hentikan minuman ringan, dan batasi diri Anda dengan secangkir kopi per hari jika Anda merasa tidak mungkin untuk menyerah. Diet sangat penting dalam membantu Anda mengatasi kelelahan. Juga, makanlah makanan terakhir Anda sebelumnya sehingga Anda tidak akan tidur dengan perut kenyang.
  • Latihan setiap hari. Dapatkan latihan yang berat setidaknya minimum sekali seminggu, dan berjalan kaki atau bersepeda selama setidaknya 30 menit setiap hari sampai Anda berhasil setidaknya berkeringat ringan. Ini akan membantu melelahkan Anda secara fisik yang akan membantu tidur Anda, dan dengan kelelahan Anda.
  • Ubah kebiasaan tidur Anda. Usahakan untuk bangun lebih awal untuk bekerja, jadi Anda harus tidur lebih awal dari yang mungkin Anda inginkan. Jika Anda tidak bisa tidur, istirahatlah di ruangan yang remang-remang, dan baca sesuatu yang membosankan, dan jangan khawatir jika Anda tidak bisa langsung tertidur.

Sekarang saya telah melalui semua hal yang berhubungan dengan medis, mari kita lihat apa yang dapat Anda lakukan tentang pekerjaan Anda:

  • Seseorang menyarankan menggunakan Teknik Pomadoro. Ini juga dikenal sebagai waktu tinju, dan saya pikir itu ide yang bagus. Anda pada dasarnya berkonsentrasi dengan intens selama 20-25 menit, lalu Anda beristirahat sejenak. Saya sarankan Anda bangun dan bergerak sekitar selama 3-5 menit, dan lihat ke kejauhan untuk mengistirahatkan mata Anda. Cobalah untuk tidak memikirkan tugas Anda selama waktu itu. Dapatkan minuman, berjalan-jalan ke kamar mandi, atau hanya berpindah di kantor Anda untuk mantra singkat.
  • Bergantung pada hubungan Anda dengan bos Anda, temukan cara untuk bertemu dan mendiskusikan kekhawatiran Anda bahwa jadwal kerja berdampak pada kesehatan Anda. Katakan kepadanya bahwa Anda tidak ingin mengambil risiko membiarkan pelanggan perusahaan turun, dan bahwa Anda ingin mencoba dan mengembangkan strategi yang dapat memastikan Anda dapat terus menyelesaikan pekerjaan Anda, tetapi ini berarti Anda perlu untuk meluangkan waktu untuk mengatasi masalah kesehatan Anda juga. Namun gunakan ini sebagai jalan terakhir, karena akan lebih baik untuk menjelaskan ekonomi palsu yang sedang bekerja di sini, seperti:
    • Pekerja yang lelah berakhir dengan efisiensi yang sangat berkurang, sedangkan pekerja yang tidak lelah memiliki kapasitas untuk melakukan lebih banyak dalam rentang waktu yang lebih pendek, dan saya akan mencoba mencari beberapa angka dan studi yang dapat Anda gunakan untuk mendukung Anda. Dengan bos yang baik, Anda bahkan tidak perlu ini. Artikel-artikel berikut mungkin bermanfaat bagi Anda: artikel 1 , artikel 2 , artikel 3
    • Melewati pengujian dan memperhatikan beberapa detail kecil akan membuat Anda dikemudian hari. Lihatlah konsep Utang Teknis sebagai titik awal.
  • Coba kurangi jam kerja Anda menjadi 8 hingga 9 jam per hari.
  • Pesan periode liburan, dan pergi sebentar ke tempat yang sunyi. Bahkan jika yang Anda lakukan hanyalah mengendarai mobil ke hutan, dan berkemah selama seminggu. Serius, jangan lakukan apa pun untuk mengisi ulang baterai Anda.

Dalam hal pemrograman terkait hal-hal aktual:

  • Baca buku-buku Kode Bersih dan Refactoring , dan luangkan waktu untuk menerapkan teknik-teknik di dalamnya. Ini akan membantu Anda menangani masalah kualitas kode. Seperti yang saya sebutkan sebelumnya, sepertinya akan membutuhkan waktu lebih lama untuk dilakukan, namun Anda akan lebih sedikit menghabiskan waktu berurusan dengan kekacauan dan masalah yang dihasilkan dari cara Anda bekerja sebelumnya.
  • Temukan alat yang dapat Anda integrasikan ke lingkungan pengembangan Anda untuk membantu Anda dalam upaya Anda meningkatkan kualitas kode. Misalnya, jika Anda berkembang di Visual Studio, menggunakan kombinasi alat seperti Resharper dan NCrunch dapat berkontribusi untuk meningkatkan efisiensi keseluruhan Anda secara besar-besaran jika Anda menggunakannya secara religius, dan jika Anda sudah menerapkan teknik yang baik seperti yang dijelaskan dalam buku yang saya sebutkan. .
  • Tulis unit test, dan gunakan pendekatan test-first. Ini tampaknya akan paling memperlambat Anda, namun Anda akan mempercepat pengembangan Anda secara keseluruhan ketika Anda memiliki tes, karena mereka dapat berkontribusi untuk mengurangi waktu debug, dan memberi Anda kepercayaan diri untuk mengubah kode yang diuji. Tulis tes Anda untuk memenuhi persyaratan, dan bukan untuk memenuhi kode. Ini akan memfokuskan upaya pengujian Anda secara konstruktif, yang seharusnya meminimalkan waktu yang dihabiskan untuk pengujian.

Yang terpenting, Anda perlu mengelola harapan, mulai dari harapan Anda sendiri. Anda hanya manusia, dan hanya dapat melakukan banyak hal pada waktu tertentu. Anda perlu mengelola harapan atasan Anda, dan meminta atasan Anda sendiri atau secara langsung) mengelola harapan pelanggan Anda. Ini berarti serius memprioritaskan pekerjaan yang Anda lakukan. Alokasikan waktu untuk fitur baru, dan waktu untuk bug, dan anggap tenggat waktu Anda akan tergelincir. Ketika berhadapan dengan kemungkinan tergelincirnya tanggal pengiriman, hanya berjanji untuk mengirimkan serangkaian fitur penting, dan biarkan fitur-fitur lainnya sebagai "senang jika ada". Tanggal pengiriman berikutnya, Anda kembali menjalani proses ini, meningkatkan prioritas pengiriman "baik untuk dimiliki" pengiriman sebelumnya, dan sebagainya. Bangun ini ke dalam metodologi pengembangan Anda sebagai titik awal minimum, dan kemudian meninjau setelah beberapa pengiriman untuk melihat di mana Anda dapat menyempurnakan proses Anda meningkatkan efisiensi Anda. Efisiensi terbesar akan datang dari perubahan gaya hidup Anda, namun selalu ada sedikit hal yang dapat Anda lakukan untuk merampingkan pekerjaan Anda, seperti mengurangi overhead yang berkaitan dengan dokumentasi dan komunikasi antara Anda dan pengguna akhir.

Bersikap proaktif dalam semua ini. Tunjukkan kepada atasan Anda bahwa Anda berdua dapat bekerja sama untuk benar-benar memperbaiki masalah, yang pada akhirnya akan mencerminkan Anda berdua, dan perusahaan secara keseluruhan.

Juga, jangan membuat keputusan drastis sekarang. Tunggu sampai Anda sudah berurusan dengan kesehatan dan beban kerja Anda, dan lihat bagaimana Anda pergi untuk sementara waktu. Ketika pikiran Anda menjadi lebih jernih, dan ketika Anda merasa berada di tempat yang lebih baik, maka akan menjadi waktu untuk memutuskan apakah itu layak tinggal atau apakah sudah saatnya untuk pindah. Apa yang saya katakan pada dasarnya adalah untuk menangani satu masalah pada satu waktu, dan biarkan sisanya rebusan sedikit sampai mereka membutuhkan perhatian Anda.

S.Robins
sumber
4

Jika jadwal Anda ketat, Anda harus kompulsif tentang Jangan Ulangi Diri Anda Sendiri . Identifikasi metode yang paling sering digunakan, dan pastikan mereka digunakan kembali secara berlebihan.

Rencanakan apa yang akan Anda kerjakan hari ini, tulis, dan tempel. Cobalah batasi apa yang perlu Anda ingat pada satu waktu hingga tujuh item atau kurang.

Saya akan melangkah lebih jauh dan menghindari mengulangi pekerjaan orang lain. Gunakan perpustakaan bahasa bila memungkinkan. Gunakan perpustakaan pihak ketiga jika memungkinkan.

Mungkin sepertinya butuh lebih banyak waktu untuk menulis tetapi bertujuan untuk metode yang melakukan satu hal saja. Saya membatasi metode untuk membuat keputusan atau melakukan sesuatu. Kohesi kode Anda harus meningkat sementara kopling menurun. Anda harus menemukan pengujian lebih mudah. Ini cocok untuk dekomposisi progresif.

Sederhanakan sebanyak mungkin. Gunakan templat, daftar periksa, dan teknik apa pun yang memungkinkan Anda untuk menghindari memikirkan hal-hal sepele.

Anda harus menghindari interupsi. Setiap gangguan akan dikenakan biaya sekitar 15 menit pada jadwal. Lindungi waktu Anda.

Jika ini jangka panjang, pulanglah ketika Anda menemukan kinerja Anda mulai tertinggal. Jika Anda terus-menerus bekerja selama 12 jam sehari, kinerja Anda cenderung tentang apa yang akan Anda dapatkan 8 jam sehari. Anda mungkin tidak menyadari betapa buruknya kinerja Anda. Ambil empat jam ekstra untuk berolahraga dan beristirahat. Lihat apakah Anda bisa tidur siang di tengah hari atau cuti beberapa jam setelah makan siang.

BillThor
sumber
4

Jika saya jadi Anda, saya akan berbicara dengan manajer saya dan menjelaskan kepada mereka bahwa tenggat waktu yang mereka tetapkan tidak realistis. Jika Anda terus bekerja seperti itu, mereka akan berpikir bahwa semuanya baik-baik saja, mereka tidak akan menyadari masalah yang Anda alami dan Anda akhirnya akan menambahkan kode yang semakin banyak ditulis dengan buruk ke sistem Anda setiap hari, yang akan mempersulit pekerjaan Anda lebih jauh.

Sebagai alternatif, Anda selalu dapat beralih ke pekerjaan lain :-)


sumber
2

Lacak semua yang Anda lakukan

Luangkan waktu untuk melacak semua yang Anda lakukan dan berapa banyak waktu yang Anda dan tim Anda habiskan untuk itu. Ini akhirnya akan menjadi apa yang Anda bawa ke manajemen untuk menunjukkan kepada mereka bahwa Anda perlu melakukan berbagai hal secara berbeda. Jika Anda tidak memiliki fakta-fakta sulit yang dingin tentang apa yang Anda lakukan dan berapa banyak waktu yang Anda habiskan untuk memperbaiki masalah yang dilaporkan oleh orang lain, akan jauh lebih sulit untuk meyakinkan mereka bahwa perubahan perlu dilakukan. Setiap jam harus dilacak oleh semua orang agar ini akurat. Ini akan digunakan untuk mengatakan bahwa Anda menghabiskan 80 jam selama 3 minggu terakhir memperbaiki sistem yang bisa dibangun kembali dari bawah ke atas dalam jumlah waktu yang sama.

Cobalah untuk mengubah banyak hal

Gunakan pelacakan yang telah Anda kumpulkan dan saran hebat yang dibuat orang lain untuk menyusun rencana untuk meningkatkan perangkat lunak. Pilih bagian-bagian dari perangkat lunak yang paling banyak menimbulkan masalah. Menyusun rencana yang menurut Anda akan membawa hal-hal ke tingkat yang dapat dikelola normal. Berikan waktu untuk bekerja.

Persiapkan diri Anda untuk fakta bahwa mungkin sudah waktunya untuk pergi

Jika manajemen tidak mau mengubah hal-hal dan bekerja dengan Anda, mungkin sudah saatnya untuk berpikir untuk pindah. Saya setuju dengan orang lain bahwa Anda kelelahan. Mulailah mempersiapkan resume dan portofolio Anda. Hal-hal mungkin membaik dan Anda tidak perlu pindah tetapi jika manajemen tidak setuju untuk melakukan perubahan maka pindah. Kesehatan mental dan fisik Anda lebih penting daripada tetap pada pekerjaan yang mengambil begitu banyak dari Anda.

Amy Patterson
sumber
Saya harus tidak setuju dengan bagian "lacak semuanya" karena jika data ini dikirim ke manajemen, mereka bisa sangat kritis terhadap ketidaksempurnaan sekecil apa pun dalam cara karyawan mengelola waktu. Ini akan memperparah stres karyawan.
Acumenus
2

Demi kasih tuhan, di mana manajer proyek Anda?

Jika Anda tidak memiliki manajer proyek untuk membantu Anda menetapkan waktu produktif, Anda memerlukannya. Anda membutuhkan orang yang berdedikasi untuk mempertahankan waktu pengembangan Anda, membatasi ruang lingkup creep, mengelola harapan, dll ...

Anda melakukan pekerjaan kreatif untuk mencari nafkah. Jika Anda tidak memiliki penghalang antara pelanggan / pengguna Anda dan Anda, bagaimana Anda dapat secara efektif fokus pada pengembangan Anda?

PM yang baik bisa baik untuk banyak hal ...

1. Untuk memainkan kartu 'Kekuatan Lebih Tinggi':

Pengguna Anda mengganggumu untuk fitur baru tetapi Anda benar-benar perlu waktu untuk fokus pada rilis perbaikan bug. Siapa bilang Anda harus berbicara dengan pengguna? Apakah Anda bertanggung jawab untuk menulis kontrak? Apakah tugas Anda untuk mengelola harapan pelanggan? Apakah Anda memiliki kekuatan keputusan akhir untuk menentukan syarat-syarat kontrak?

Tidak? Lalu mengapa Anda bertanggung jawab untuk berinteraksi dengan pelanggan? Pengembangannya sulit dan membutuhkan banyak konsentrasi. Anda membutuhkan kemampuan untuk mendapatkan kembali waktu pengembangan dan Anda dapat melakukannya dengan PM yang baik dan alasan yang bagus.

Terlepas dari apa yang membuat PM Anda dibandingkan dengan Anda, jika pelanggan mulai mengganggu Anda tentang modifikasi di luar spesifikasi hanya katakan.

"Menegosiasikan perubahan di luar spesifikasi adalah di atas nilai gajiku ..."

Itu cara yang sopan untuk mengatakan, aku tidak memberi sebagai pelacur.

Lanjutkan dengan menjilat 'Scope Creep Dog' pada mereka.

"Jika kamu ingin membuat perubahan pada spec kamu harus menghubungi PM ku"

Sekarang, tinggalkan aku sendiri. Kemampuan pengguna untuk berinteraksi langsung dengan pengembang diizinkan sebagai hak istimewa yang dapat diambil. Jika bukan itu masalahnya, manajemen Anda mengecewakan Anda.

2. Mengelola Harapan 101

Siapa yang waras berpikir Anda dapat bekerja dengan jadwal gila dan menangani dukungan teknis 24/7. Anda membutuhkan seseorang untuk membela Anda karena waktu Anda berharga dan harus didedikasikan untuk kerajinan Anda.

Ini berlaku untuk pelanggan serta perusahaan tempat Anda bekerja. Untuk pelanggan, jika mereka melampaui Anda selalu dapat meminta ...

"Apakah layanan ini tertulis dalam kontrak?"

Jika tidak, Anda berhak menolak permintaan. Jangan salah paham, senang melakukan hal di atas dan di luar untuk membuat pelanggan Anda bahagia, tetapi sama pentingnya untuk memberi tahu mereka perbedaan antara apa yang diharapkan dan apa yang Anda berikan kepada mereka sebagai bantuan.

Untuk perusahaan tempat Anda bekerja, Anda membutuhkan seseorang untuk membawa pesan ...

"Apakah pekerjaan yang diminta untuk aku lakukan setara dengan nilai gajiku?"

Yaitu, apakah mereka membayar Anda 60rb setahun untuk menghabiskan 50% waktu Anda melakukan dukungan teknologi telepon yang merupakan posisi pembayaran yang jauh lebih rendah. Ini adalah topik berbahaya untuk dibicarakan sehingga Anda membutuhkan PM yang dapat Anda percayai untuk membuat kasus yang baik untuk Anda. Argumen yang harus Anda sampaikan kepadanya adalah ...

"Saya dibayar 60 ribu setahun, tetapi setengah dari potensi produktivitas saya terbuang sia-sia untuk pekerjaan kasar."

Atau, kalian mempekerjakan saya dan rela kehilangan uang untuk investasi itu dengan meminta saya menghabiskan separuh waktu saya mengisi posisi tingkat rendah. Percaya atau tidak, dengan memaksimalkan potensi Anda, mereka dapat menghasilkan lebih banyak uang dalam jangka panjang.

Ketika berbicara mengenai bisnis, jauh lebih mudah bagi perusahaan untuk mengubah posisi mereka jika Anda dapat menghadirkan situasi yang saling menguntungkan. Anda tidak harus menjadi ahli negosiasi untuk bisa bertahan. Tentu saja, jika sumber daya perusahaan terbatas maka ini dapat menjadi bumerang bagi Anda.

3. Semua orang kadang-kadang bisa menggunakan pemandu sorak

Seorang PM yang baik secara alami akan menjadi orang-orang. Inti dari apa yang mereka lakukan adalah hubungan orang. Seorang PM yang baik akan memiliki kemampuan untuk memberi tahu pelanggan Anda apa yang tidak ingin mereka dengar dan masih membuat mereka pergi dengan bahagia.

Mereka juga dapat menjadi sumber dukungan moral yang baik ketika masa-masa sulit. Dorongan moral sederhana seharusnya tidak terlalu banyak untuk ditangani oleh PM yang baik jika Anda bertanya. Anda membutuhkan seseorang di pihak Anda, atau semangat Anda menurun dan pekerjaan terasa luar biasa.


Jika Anda tidak memiliki seseorang yang lebih tinggi dalam organisasi yang bertanggung jawab untuk mengelola harapan, manajemen Anda gagal dan atasan mungkin bahkan tidak menyadari betapa buruknya kinerja proyek.

Itulah alasan utama saya menghindari bekerja untuk perusahaan seperti wabah. Saya cukup beruntung bekerja di perusahaan kecil di mana saya memiliki seseorang yang lebih tinggi. Saya dapat dengan jujur ​​mendiskusikan masalah dengan siapa yang akan memegang apa yang saya katakan dengan percaya diri dan mengambil tindakan jika perlu.

Anda membutuhkan seseorang di pihak Anda untuk membantu Anda tetap sejalan dengan persyaratan bisnis dan mengelola gangguan. Jika Anda tidak memilikinya dan tidak ada harapan untuk menemukannya di masa depan, semoga sukses ...

Evan Plaice
sumber
1

Wow wow wow! Pegang koboi kudamu !. Anda tampaknya memiliki semua perkembangan yang salah di sana. Anda kehilangan beberapa dasar perangkat lunak di sini saat coding. Ya memoles dasar-dasar Anda ... hidup akan jauh lebih mudah.

Kembali ke waktu sekolah sekarang

  1. Jadwal-Perkembangan-Menjinakkan-Software-Jadwal *
  2. Bulan-Man Mythical *

*Harus baca

Imran Omar Bukhsh
sumber
2
pertanyaan berikutnya - bagaimana cara membuat kode dan mengelola untuk membaca beberapa buku pada jadwal yang ketat :-D
Ventsyslav Raikov
1
@Bond - Bung, kita seharusnya sudah membaca buku itu sebelum memulai proyek. Jika tidak, kita perlu sadari bahwa pembelajaran berkelanjutan adalah bagian dari pengembangan perangkat lunak kami. Kita seharusnya tidak menganggap membaca sebagai bagian dari pekerjaan kita sehari-hari. Seharusnya kita sudah membaca untuk beberapa waktu setiap hari. Saya pikir ini adalah hak pengembang perangkat lunak untuk menghabiskan sebagian waktunya membaca bahkan selama jam kerja. Saya secara pribadi telah melihat bahkan membaca hanya 5 halaman sehari membuat dampak besar yang sangat besar. Mulai membaca sekarang, akan membantu Anda menghemat waktu dalam proyek Anda berikutnya.
Imran Omar Bukhsh
sangat setuju dengan Anda, saya membaca setiap hari. Tapi saya tidak bekerja (yang saya anggap berarti kode dalam pertanyaan di atas) 12 jam sehari. Jika saya melakukannya, saya pasti tidak akan membaca buku apa pun. Ada lebih banyak kehidupan daripada pekerjaan.
Ventsyslav Raikov
@Bond - benar, tetapi tidak akan ada banyak kehidupan yang tersisa jika kita tidak bekerja dengan cara yang benar. Di perusahaan saya, saya bekerja 5 jam sehari. Kami membuat mesin perayapan dalam sekitar 1,5 tahun. Kami memiliki lebih dari 1 juta pengunjung sebulan.
Imran Omar Bukhsh
1

Saya suka membuat daftar TODO, mengurutkannya berdasarkan kebutuhan, dan tetap pada urutan itu tanpa syarat - bahkan jika saya merasa ingin menunda-nunda beberapa tugas.

Anda akan terkejut betapa banyak waktu yang dapat Anda hemat hanya dengan mengurangi waktu yang Anda habiskan untuk memikirkan apa yang harus dilakukan selanjutnya.

Rei Miyasaka
sumber
1

Sekarang yang bisa Anda lakukan adalah

  • Berpasangan dengan seorang rekan
  • Semua kode yang Anda tulis atau ubah, Anda harus setuju untuk menjadi cukup baik. Lebih disukai sebagai pemrograman berpasangan, hanya melakukan peer review jika Anda tidak dapat memasangkan program.
  • jangan menyimpang dari ini!

Ini berarti bahwa setidaknya apa yang Anda lakukan mulai sekarang telah disetujui oleh DUA orang, semoga meningkatkan bit kode tersebut.

Apa lagi yang bisa dilakukan tergantung pada manajemen. Anda mungkin ingin menunjukkan kepada mereka pertanyaan ini dengan jawabannya!


sumber
Saya harus sangat tidak setuju dengan pemrograman pasangan. Bukan bagaimana pemikir independen atau pikiran kreatif bekerja. Ini juga tidak pernah menjadi pengganti untuk tinjauan rekan tim.
Acumenus
1

Larangan panggilan telepon dan terapkan aturan ketat "bug tuju saja bug tracker ONLY". Maka langkah pertama Anda hari ini adalah untuk melakukan triase bug yang baru dimasukkan, membersihkan dupes, memprioritaskan, dan mulai bekerja pada perbaikan bug PERTAMA. Dan pastikan perbaikan bug Anda benar-benar memperbaiki bug dan tidak memperkenalkan bug baru.

Bagaimana Anda melakukan bagian terakhir itu? Dengan memasang kembali kotak uji ke kode Anda yang ada. Jika Anda memiliki fungsi, uji apakah mereka input dan output apa yang Anda harapkan, dan mereka gagal dengan baik jika Anda memberi mereka sampah. Gunakan semacam pengujian UI otomatis untuk menguji integrasi dan kinerja front-to-back.

Anda sebenarnya tidak bangun jam 3 pagi untuk menyelesaikan masalah kode, bukan? Jika demikian, Anda layak mendapatkan semua yang Anda dapatkan.

Dan Ray
sumber
0

Coba gunakan teknik pomodoro . Juga, saya memiliki 3 aturan pribadi untuk mengetahui apakah saya menulis kode yang baik atau buruk yang mungkin berguna bagi Anda.

dukeofgaming
sumber
0

Anda, dan pengembang seperti Anda, adalah satu-satunya alasan yang dapat saya pikirkan untuk memerlukan lisensi pengembangan perangkat lunak, seperti dokter dan pengacara. Dengan begitu lisensi Anda dapat dicabut karena tidak mengikuti praktik pemrograman dasar minimal yang baik. Tidak hanya akan melindungi industri dari kompeten, tetapi juga akan melindungi programmer yang kompeten dari manajer yang bersikeras bahwa programmer mereka tidak mengikuti praktik yang baik.

FYI, praktis semua orang bekerja pada tenggat waktu yang ketat. Namun, para pengembang yang tahu apa yang mereka lakukan mengikuti praktik terbaik karena itu akan menyelesaikan pekerjaan lebih cepat dalam jangka panjang. Maka mereka tidak harus bekerja 12 jam sehari selama 3 tahun berturut-turut.

Dunk
sumber