Bagaimana Anda mengelola proyek yang ditinggalkan oleh karyawan lain? [Tutup]

15

Kebetulan seseorang tiba-tiba meninggalkan perusahaan. Sekarang karyanya perlu diselesaikan dan Anda sedang ditugaskan. Tidak tahu apa yang dia lakukan (apakah sudah dilakukan 90% atau 9%), bagaimana Anda mengelola sisanya?

  1. Haruskah saya mulai dari awal? Bagaimana jika itu dilakukan 90%?
  2. Haruskah saya mencoba dan memahami apa yang telah ia lakukan? Bagaimana jika itu hanya omong kosong?
Shirish11
sumber
10
+1 untuk melawan downvote yang tidak layak IMHO. Saya pikir ini adalah pertanyaan yang cukup layak, nyata, dan dapat dijawab yang membahas topik di sini. Sangat menyedihkan melihat situs ini menjadi semakin bermusuhan dan tidak sabar, mengikuti jalur SO itu sendiri :-(
Péter Török
2
@ PéterTörök Saya pikir ini semakin dekat karena siapa pun dapat menulis jawaban yang ada hubungannya dengan banyak praktik terbaik ketika bekerja dengan kode orang lain. Jawaban di bawah sejauh ini sangat baik BTW tetapi saya dapat melihat ini menghasilkan 50 jawaban lumpuh.
maple_shaft
Yang saya butuhkan adalah strategi yang layak. Karena ketika situasi seperti itu muncul, semua orang hanya Kacau .
Shirish11
2
@maple_shaft, IMHO ini bisa berlaku untuk hampir semua pertanyaan di situs ini ;-)
Péter Török
Di perusahaan yang masuk akal, orang yang pergi akan melaporkan setiap hari di standup apa kemajuannya, dan selain itu tugasnya akan dipecah dalam potongan yang masuk akal.
MSalters

Jawaban:

7

Untuk mengetahui apa yang harus dilakukan, Anda perlu tahu apa yang Anda miliki, dan seberapa baik bentuknya.

Jadi, mulailah dengan melihat semua sumber dengan cepat dan lihat apa yang Anda miliki. Jika jelas jelas maka paling mudah untuk menyelesaikan apa yang hilang. Lakukan tes unit untuk mencari tahu apa yang berhasil dan yang tidak.

Jika tidak jelas jelas maka mulailah mencari tahu apa yang berfungsi dengan tes unit baru. Jika ini tidak mungkin maka bawalah bersama ketua tim Anda bahwa Anda memiliki masalah dan bahwa Anda mungkin tidak dapat menyelesaikannya. Dia kemudian dapat memutuskan apakah pekerjaan yang tersisa harus diselamatkan atau apakah itu terlalu buruk dan Anda perlu mengulanginya.


sumber
Mencari tahu apa persyaratannya juga penting untuk mengetahui apa yang Anda lewatkan?
Svish
7

Selain apa yang ditulis orang lain, saya sarankan Anda berbicara dengan siapa saja yang memiliki kontak langsung dengan pria itu. Saya mengerti dari uraian Anda bahwa dia bekerja sendirian, masih pasti dia melapor kepada seseorang? Dan mungkin ada personel QA yang telah menguji apa yang telah dia hasilkan ... Orang-orang ini (biasanya) harus memiliki setidaknya gambaran kasar tentang seberapa jauh orang itu mendapatkan proyeknya sebelum pergi. Kecuali tentu saja info / produk yang dipasoknya ternyata sama sekali tidak dapat diandalkan, berkontribusi pada PHKnya.

Diskusikan hal ini dengan manajer Anda dan alokasikan kerangka waktu untuk eksplorasi awal / pengujian kode sisa, dan memahami spesifikasi dan persyaratan. Ini bisa kira-kira satu hari untuk proyek dalam skala waktu beberapa orang bulan, paling banyak seminggu untuk proyek satu atau lebih pekerjaan orang tahun, dll.

Setelah eksplorasi awal ini, Anda harus memiliki estimasi kasar

  • apa yang seharusnya dilakukan produk,
  • apa yang dapat dilakukan saat ini dan seberapa baik,
  • berapa banyak waktu dan risiko yang diperlukan untuk menulis ulang dari awal,
  • berapa banyak waktu dan risiko yang dibutuhkan untuk menyelesaikan apa yang sudah dilakukan.

Kemudian Anda bisa duduk bersama manajer Anda lagi untuk mengambil keputusan.

Péter Török
sumber
Mencoba melakukan kontak dengan pria itu sepertinya tidak masuk akal karena mereka menghilang begitu saja.
Shirish11
1
Saya bermaksud menghubungi manajer proyek orang itu , atau seseorang yang memiliki peran serupa yang biasa mengawasi pekerjaannya.
Péter Török
manajer tidak sepenuhnya menyadari apa yang sebenarnya dilakukan di bagian pengkodean.
Shirish11
1
@ Shirish11, tentu saja tidak, tetapi manajer proyek mana pun yang layak menerima garamnya setidaknya harus diberi tahu secara kasar tentang seberapa jauh anggota timnya saat ini menyelesaikan tugas / proyek yang diberikan.
Péter Török
6

Dalam pengalaman saya, ini bukanlah situasi yang tidak biasa. Sayangnya, Anda benar-benar memiliki dua masalah di sini :

1) Kelebihan yang tersisa dari proyek ini 2) Alasan Anda masuk ke kekacauan ini sejak awal

Untuk (1) Anda perlu mempertimbangkan ukuran / kompleksitas proyek. Jika ini adalah pekerjaan seminggu, Anda mungkin harus memulai dari awal lagi. Jika ini adalah pekerjaan satu tahun, Anda mungkin perlu melihat apa yang dapat Anda selamatkan dari kode yang ada.

Apa pun itu, Anda harus segera mengambil langkah-langkah ini:

a) Beri tahu manajer Anda bahwa Anda memiliki masalah besar

b) Dapatkan spek proyek dan dapatkan pemahaman menyeluruh tentang apa yang perlu Anda capai - atau bicarakan dengan sponsor proyek jika tidak ada spek.

c) Berbicara dengan manajer / pelanggan dll dan mencari tahu apakah ada yang / berpikir mereka memiliki setiap tahu apa negara dari proyek ini adalah.

Setelah Anda selesai melakukannya, Anda akan dapat mulai memeriksa kode / menyusun strategi.

(Saya tidak berpikir unit test akan banyak membantu Anda - mereka mungkin memberi tahu Anda jika fungsi yang telah ditulis benar-benar berfungsi, tetapi mereka tidak memberi tahu Anda apa fungsi yang seharusnya ada di sana.)

Apa yang saya tidak akan berikutnya adalah mendapatkan gambaran arsitektur kode yang ada, dan bagaimana ini memetakan ke masalah yang didefinisikan dalam spesifikasi. Kemudian kerjakan apa sub-komponen dari masing-masing komponen utama ini, dan lihat bagaimana mereka cocok dengan gambaran besarnya. Melakukan ini akan memberi tahu Anda (secara kasar) komponen apa yang hilang.

Setelah Anda tahu apa yang ada, Anda harus mulai memeriksa kode yang ada untuk melihat apakah ia melakukan apa yang seharusnya dilakukan.

Setelah Anda melakukan semua ini, Anda akan dapat memperkirakan berapa banyak pekerjaan yang tersisa untuk dilakukan.

Adapun bagian (2) perusahaan Anda mungkin perlu melihat kebijakan perekrutan / kebijakan retensi staf, menemukan cara agar programmer bertanggung jawab atas kemajuan.

Akhirnya, Anda juga harus mempertimbangkan bagaimana Anda dapat mencegah hal ini terjadi pada perusahaan jika Anda pergi dengan tergesa-gesa.

Kramii
sumber
+1 untuk mendapatkan spek. Kadang-kadang satu-satunya tempat itu ada di dalam kepala dev dan orang-orang yang memintanya untuk membangunnya.
Spencer Rathbun
5

Anda pasti perlu mencoba dan menjalankan perangkat lunak untuk melihat mana yang berhasil dan yang tidak.

Anda kemudian perlu mempertimbangkan dokumentasi apa yang tersisa. Apakah ada persyaratan tertulis? Apakah ada tugas khusus - apakah tugas dilacak dengan cara tertentu? Adakah yang mengujinya - jika demikian, mereka akan tahu apa yang sudah dilakukan dan apa yang tidak.

Saya pikir rencana tindakan adalah:

  1. Menandai persyaratan yang telah diselesaikan (dengan menjalankan sistem dengan cepat seperti yang dilakukan tester)

  2. Lihatlah kodenya - dapatkah Anda memahaminya? Apakah ini ditulis dengan baik?

Jelas jika sudah 90% selesai dan kodenya ditulis dengan baik, Anda cukup menyelesaikannya.

David_001
sumber
1
Saya mulai menulis jawaban dengan kalimat pertama yang sama (kata demi kata) seperti milik Anda. Ini hanya akal sehat. Pertanyaan lainnya adalah - mengapa manajer / mereka yang bertanggung jawab tidak tahu berapa banyak kemajuan yang telah dibuat?
Anonim
@Anonymous Manager tidak mengerjakan proyek secara langsung sehingga satu-satunya kemajuan yang mereka tahu sedang diberitahukan kepada mereka. Jika orang ini tahu bahwa mereka akan pergi, mereka mungkin hanya mengeluarkan asap karena dendam atau hanya kemalasan atau hanya kebodohan. Saya telah berada dalam situasi ini sebelumnya dan itu tidak menyenangkan justru karena ketika manajemen menyadari bahwa mereka telah dibohongi sekitar 90%, itu mengingatkan mereka betapa sedikitnya kontrol yang mereka miliki hampir sepanjang waktu.
maple_shaft
@maple_shaft - Dalam hal ini, manajer yang dimaksud tidak melakukan pekerjaan mereka dengan benar. Tugas mereka adalah mengelola tim untuk mencapai tujuan tertentu. Jika mereka tidak melacak kemajuan dan mendelegasikan tugas yang sesuai, untuk apa mereka ada?
Anonim
1
@ Anonim- Anda sudah lama bekerja sebagai pengembang perangkat lunak ;-)? Selama bertahun-tahun, pendapat saya tentang seorang manajer yang baik telah jatuh kepada orang yang menghalangiku dan kadang-kadang membersihkan penghalang jalan .
maple_shaft
1
@maple_shaft - Lol, itu cukup adil. Jelas bahwa gaya manajemen tidak berhasil untuk perusahaan op. :-p
Anonim
3

Belum disebutkan.

Cobalah untuk menghubungi pria yang meninggalkan. Tidak mungkin dalam setiap kasus. Tetapi jika dia sehat dan setidaknya sedikit menyukai pekerjaannya, dia akan membantu dan memberikan jawaban yang jujur ​​tentang kemajuan dan bagian yang hilang. Dan dia bisa menjelaskan gambaran besarnya kepada Anda.

matcauthon
sumber
+1: Jika memungkinkan, ini mungkin solusi paling sederhana dan paling efektif.
Leo
1

Selamat, ini adalah kesempatan Anda untuk bersinar dan membuat kesan yang sangat positif pada atasan Anda. Apa yang Anda miliki di sini adalah kesempatan yang sangat berharga. Jadi, apa yang perlu Anda lakukan dan bagaimana?

Pertama, dapatkan kodenya. Dia mungkin tidak memeriksa semuanya (orang yang melakukan ini kepada kami tidak) dan ada seseorang dengan hak admin menariknya dari komputernya dan memeriksanya untuk Anda.

Selanjutnya triase masalahnya. Ambil persyaratan dan catat bagian mana yang tampaknya memiliki kode tertulis dan mana yang tidak. Ini adalah daftar kasar dari apa yang belum selesai. Itu akan tumbuh ketika Anda melakukan langkah selanjutnya. Kemudian buka kode dan evaluasi dan jalankan dan lihat apa yang saat ini berfungsi dan apa yang tampaknya tidak berfungsi walaupun ada kode yang ditulis. Tambahkan bagian yang tidak berfungsi ke daftar. Cari tes unit (saya akan terkejut jika Anda menemukannya, orang-orang yang keluar sebelum batas waktu karena mereka tahu mereka gagal cenderung tidak menuliskannya). Sekarang setidaknya Anda memiliki gagasan yang bagus tentang seberapa buruk itu. Lihat juga persyaratan dan lihat pertanyaan apa yang perlu Anda jawab. Sering kali, kegagalan proyek muncul sebagai akibat dari persyaratan yang buruk dan pengembang yang tidak ingin (karena berbagai alasan) untuk mengajukan pertanyaan lebih lanjut.

Sekarang Anda membuat rencana proyek Anda. Mulailah dengan daftar pertanyaan yang Anda miliki dari persyaratan (tuliskan secara resmi dalam dokumen) dan kemudian daftarkan hal-hal yang perlu Anda lakukan untuk menyelesaikan pekerjaan. Buatlah perkiraan berapa lama waktu yang dibutuhkan. Tentukan apakah apa yang ada saat ini dapat diselamatkan (dan jika tidak, bersiaplah untuk membenarkan mengapa tidak).

Sekarang adakan pertemuan dengan manajer proyek (dan atasan Anda jika mereka adalah dua orang yang berbeda) dan beritahukan kepadanya kabar buruknya. (Ini hampir selalu merupakan berita buruk ketika seseorang pergi tiba-tiba dan Anda harus mengambil di mana mereka tinggalkan, pengembang yang baik tidak meninggalkan orang dalam kesulitan - mereka setidaknya pergi dengan daftar apa yang telah mereka lakukan dan apa yang tersisa untuk dilakukan Pengecualian mungkin terjadi jika seseorang pergi karena masalah kesehatan.) Dalam diskusi Anda, Anda mungkin mendapatkan beberapa jawaban yang Anda butuhkan dan Anda dan PM mungkin mengerjakan ulang rencana proyek sedikit.

Tindak lanjuti pertemuan dengan mengirimkan PM dan pemangku kepentingan penting lainnya (PM akan mengidentifikasi siapa), salinan pertanyaan Anda yang perlu dijawab dan rencana proyek yang Anda kerjakan.

Sekarang Anda memiliki apa yang Anda butuhkan untuk memulai pengkodean yang sebenarnya, jadi mulailah bekerja.

Sementara itu, Anda mungkin ditarik dari sesuatu yang lain untuk menyelamatkan proyek ini. Pastikan pekerjaan Anda dalam kondisi untuk diambil orang lain atau untuk Anda ambil setelah Anda menyelesaikan proyek. Itu berarti jenis hal yang sama, sebuah dokumen di mana Anda mengatakan apa yang dilakukan dan apa yang tidak dan cek semua kode sumber (tidak perlu ke bagasi jika tidak dilakukan, tetapi di suatu tempat orang lain dapat mengaksesnya .

Jika Anda belum ditarik dari pekerjaan yang ada, maka Anda perlu berolahraga dengan bos Anda berapa banyak waktu dalam hari kerja yang akan Anda habiskan untuk masing-masing. Ini adalah salah satu saat ketika lembur mungkin diperlukan dan akan dihargai. Semakin dekat dengan tenggat waktu yang sebenarnya, manajemen yang lebih putus asa adalah, Anda mungkin dapat menghitung upah lembur atau bonus besar jika tenggat waktu sudah dekat. Jika pekerjaan ini akan menunda pekerjaan lain secara signifikan, maka Anda perlu memastikan bahwa para pemangku kepentingan dalam proyek tersebut mengetahui hal itu.

Setelah Anda berhasil menyelamatkan proyek, pastikan untuk menyombongkannya dalam ulasan kinerja berikutnya.

HLGEM
sumber