Apa yang harus saya lakukan ketika pemimpin tim saya melanggar skema database saya dengan rilis yang akan datang?

21

Ketua tim saya memiliki kebiasaan yang mengerikan untuk mengacaukan skema database, dan membuat perubahan yang akan menyebabkan kerusakan parah pada basis kode (tanpa benar-benar berkonsultasi dengan saya tentang bagaimana perubahan itu akan mempengaruhi basis kode).

Biasanya, saya hanya akan hidup dengannya, tetapi kami memiliki tenggat waktu dalam 2 minggu dan ini telah terjadi sejak saya mulai 1 setengah bulan yang lalu. Saya dibawa, untuk mempercepat pengembangan proyek.

Karena tenggat waktu saya sudah memasukkan dalam 60+ jam seminggu, dan tidak benar-benar memiliki energi yang tersisa untuk berurusan dengan ini (saya sudah mencoba dalam beberapa cara sudah). Kami hanya tim 2 orang, dan selain mengubah database setiap hari, ia tidak berkontribusi banyak dalam arti pengembangan aktual (pengkodean).

Saat ini, saya merasa seperti saya melakukan semua pekerjaan, ditambah harus 'memperbaiki' apa yang dia hancurkan dengan perubahannya.

Bagaimana seseorang berurusan dengan ini? Saya sudah berbicara dengan manajer kami tentang kurangnya usaha di departemen pengembangan. Dia telah berada di sana 6 bulan lebih lama dari yang saya miliki, tetapi saya telah menulis 95% dari kode ketika Anda mengecualikan ke-5 bentuk basis data normal yang dia 'kontribusikan'.

Ada saran?

Post-mortem:

Pada hari Jumat kami berdiskusi dengan manajer, dan saya menyampaikan kekhawatiran saya. Ini menyebabkan sedikit konfrontasi, tetapi secara keseluruhan saya merasa manajer memihak saya. Jadi setidaknya kita memiliki data kita dibekukan sekarang, mari kita lihat bagaimana hasilnya dari sini.

leppie
sumber
3
+1 untuk tag 'terlalu gesit'! :-) Agile adalah metodologi yang hebat, tetapi beberapa orang secara keliru mengklaim bahwa mereka gesit, ketika mereka hanya tidak disiplin.
Bill Karwin
2
Sebuah contoh utama dari pengujian otomatis yang bernilai garam. Dia mengubah meja dan 15 menit kemudian bel dan peluit mulai memberi tahu Anda semua kode yang rusak.

Jawaban:

15

"Tenggat waktu dalam dua minggu; kita perlu membekukan skema jika kita akan mencapai itu."

kekacauan
sumber
3
Oke, langkah 1, bekukan basis data, laba langkah 3! :) Mari kita lihat bagaimana kelanjutannya ...
1
Saya agak mengambil alih tanpa tanggung jawab, kami memiliki anggota tim lain sekarang. Nasihat Anda adalah jawaban akhir untuk saat itu. Kami masih menatap kepala penggemar sh * t pada ... :(
4

Berbicara dengan manajer DAN pengembang pada pertemuan yang sama:

"Perubahan basis data dan kode harus muncul secara bersamaan. Jika Anda mengubah basis data, Anda juga harus mengubah dan menguji basis kode. Jika tidak, Anda mengirim komit yang rusak, yang tidak dapat diterima jika kami memenuhi tenggat waktu. Saya tidak akan lagi memperbaiki kode karena komitmen Anda, saya hanya akan mendukung perubahan dan meninggalkan Anda catatan email karena saya tidak dapat menyelidiki dan memperbaiki masalah di luar pekerjaan yang saya ditugaskan dan masih berharap untuk memenuhi tenggat waktu. "

Jauh lebih sulit jika Anda tidak memiliki rencana pengujian ...

Adam Davis
sumber
Rencana tes? Kami bahkan tidak punya rencana friggen! Hanya spesifikasi kebutuhan klien yang biasa, ditulis dalam bahasa klien ... Dan ya, sangat menyedihkan ketika Anda harus membuat catatan checkin yang mengatakan: BUILD IS BROKEN.
2

Anda harus menjadi lebih kuat dan memastikan bahwa segera (seperti kemarin, sehari sebelum kemarin, atau bulan lalu) Anda memutuskan skema dan bergerak maju. Tidak ada cara yang masuk akal bahwa Anda dapat terus mengembangkan aplikasi dengan database yang merupakan target yang bergerak.


sumber
1

Anda perlu menghadapinya dan menjelaskan kepadanya bagaimana perubahannya mempengaruhi basis kode dan karenanya garis waktu proyek. Yakinkan dia bahwa dia perlu mempertimbangkan dampak perubahannya sebelum menerapkannya. Juga buat dia untuk setuju di hadapan manajer Anda dengan fakta bahwa ia akan bertanggung jawab atas keterlambatan yang disebabkan oleh perilaku ini.


sumber
1

Jika pemimpin tim bukan orang yang berakal (dan dia tidak terdengar masuk akal dari deskripsi perilakunya), bicarakan dengan manajer Anda dan jelaskan kepadanya bahwa Anda tidak akan memenuhi tenggat waktu dengan keadaan yang terjadi. Mintalah dia untuk mengambil sikap dan pastikan pemimpin tim Anda mengetahui hal ini dengan mengadakan pertemuan di mana manajer menetapkan harapan.

Anda juga harus mendorong kasus Anda tentang kurangnya kontribusi pemimpin tim Anda untuk pengembangan. Kedua masalah harus diselesaikan untuk membuat proyek ini berhasil.


sumber
Kami telah melalui sesuatu seperti ini, tetapi sepertinya dia tidak mengerti ... well dia bilang dia akan berkontribusi, tapi saya belum melihat apa-apa sejauh ini, kecuali perubahan skema. Saya ingin tahu apakah dia bahkan dapat menulis kode, dan bukan hanya 'mendesain'.
Mengapa manajer membiarkan pemimpin tim lolos begitu saja? Siapa yang menjadikan pemimpin tim pemimpin tim? Apakah manajer Anda tidak memiliki hak dalam hal ini?
Saya kira manajer berusaha menyelamatkan muka. Setidaknya saya memperingatkannya lebih awal, dan semoga mereka tidak menyalahkan saya karena penundaan.
1

Anda harus memaksakan pengekangan pada tim Anda, tetapi itu bisa sulit untuk bermain di posisi Anda di dalamnya.

Cara yang berguna untuk mengatasi hal ini adalah dengan mengadopsi kontrol perubahan yang lebih terdokumentasi. Anda dapat memainkan ini dengan menegaskan bahwa saat ini perubahan ad-hoc membahayakan kemampuan Anda untuk mengelola pembaruan sistem dengan cara yang tidak memiliki konsekuensi yang tak terduga dan mengancam tenggat waktu (yang benar). Jadi bersikeras bahwa semua perubahan harus disertai dengan dokumentasi yang menunjukkan perubahan yang diusulkan dan efeknya pada semua kode dan struktur lainnya. Anda akan kagum betapa banyak yang akan mengurangi volume perubahan yang terjadi :-)

Cruachan
sumber
Salah satu dari orang-orang dukungan TI lainnya merekomendasikan hal itu :)
Hehe, itu karena itu benar - saya pernah ke sana. Sebagian besar jawaban lain di sini adalah solusi teknis untuk kegagalan sistem logis yang dirasakan. Sebenarnya apa yang Anda punya masalah perilaku, jadi Anda perlu menerapkan sistem hukuman / penghargaan untuk mengubah perilaku itu
1

Sudahkah Anda mengadakan retrospektif dengan tim? Jika tidak, tahan satu. Ketika Anda melakukannya, identifikasi perubahan yang tidak direncanakan (mucking with) ke database sebagai masalah. Tentukan biaya untuk Anda dan orang lain mengenai risiko dan kualitas kehidupan kerja. Terus bekerja 60 jam minggu tidak berkelanjutan. Jika Anda tidak dapat mempertahankan laju perkembangan Anda, Anda tidak gesit.

Juga, apakah Anda melakukan TDD (test driven development) atau uji fungsional / regresi otomatis? Jika demikian, perubahan pada database harus menghasilkan tes yang rusak. Ini harus membantu mengatasi dampak dan mengidentifikasi kode yang perlu diperbarui.

Dalam hal ini, pemimpin tim Anda tidak " terlalu gesit ", pemimpin tim Anda adalah seorang " koboi tangkas ". Pegang retrospektif, identifikasi apa yang salah. Prioritaskan tinggi, lalu atasi selama iterasi berikutnya. Itu seharusnya mengikat koboi tangkasmu !!!


sumber
Saya sudah mencoba dan mencoba. Saya pikir dia murni koboi BS'ng. Bagaimanapun, saya hidup dengannya.
0

Bukankah ada masalah yang sama dengan Anda sekitar setahun yang lalu? ' Pemimpin tim saya mengatakan A. Properti = A. Properti; baik - baik saja '. Sepertinya qustion itu diblokir karena saya tidak melihatnya dalam riwayat komentar saya. Pokoknya, intinya adalah:

Jika Anda merasa semua pemimpin tim Anda mengacaukan Anda karena memiliki hampir setengah dari pengalaman Anda, Anda mungkin akan menemukan pekerjaan tanpa itu . Saya menyarankan untuk mencoba dan menjadi pemimpin sebagai pilihan lain, jika Anda masih mampu, Anda sudah ditawari untuk melakukannya.


sumber