Cara mudah melibatkan non-programmer (yaitu desainer) untuk menggunakan kontrol versi?


13

Apa beberapa cara utama untuk melibatkan tim Anda dalam menggunakan kontrol versi selama pengembangan, pengembangan web atau lainnya?

Saya menolak bekerja tanpa itu, yang berarti siapa pun yang terlibat dalam proyek juga harus menggunakannya. Itu hanya latihan yang bagus.

GUI seperti Tower telah membantu, tetapi konsep itu baik bertemu dengan kemarahan ('bukan pekerjaan saya!' Agak sikap), takut-takut, atau hanya langsung tidak menggunakannya (menggunakan FTP sebagai gantinya, menghindari kontrol versi untuk mengatakan, dev atau penyebaran ).

Sunting: Saya harus mengklarifikasi sedikit bahwa saya tidak hanya bermaksud gambar / PSD.


11
Jadikan MUDAH untuk menggunakan ...

1
Saya menemukan bahwa Git cukup mudah setelah Anda menghabiskan beberapa hari dengan itu, dan memiliki konsensus tentang bagaimana pembangunan harus berjalan .. itu masih menjadi rintangan yang lebih besar bagi orang lain.
Kevin

2
Satu yang perlu diingat adalah bahwa kontrol versi dan cadangan terkadang berbaur (walaupun sangat berbeda) dan untuk seorang desainer dengan data biner; mencadangkan mungkin sudah menjadi norma dan oleh karena itu memahami apa yang diperoleh perlu dipahami.
Aaron McIver

1
@Kevin: Apa yang mudah, jelas, dan intuitif bagi seorang programmer belum tentu sama dengan orang lain, bahkan orang lain yang cerdas dan kreatif.
David Thornley

1
Bertunangan dengan seorang desainer lalu libatkan dia secara pribadi ke dalam kontrol versi. :)

Jawaban:


11

Saya bekerja di tim pengembang dan perancang dan kami semua menggunakan kontrol versi. Bagi para desainer, itu menyebalkan.

Berbagi file / cadangan tidak selalu sama dengan Kontrol Versi

Ketika Anda mengatakan:

Saya menolak bekerja tanpa itu, yang berarti siapa pun yang terlibat dalam proyek juga harus menggunakannya. Itu hanya latihan yang bagus.

Anda harus menyadari kesulitan menggunakan kontrol versi dengan data biner:

  • Timpa : Jika dua desainer mengerjakan file yang sama, yang kedua untuk melakukan akan menimpa perubahan pertama sebagai versi saat ini. Satu-satunya cara untuk mencegah hal ini adalah mengunci atau terus-menerus berkomunikasi tentang siapa yang melakukan apa ke file mana, yang keduanya dapat menghambat alur kerja tim mereka.
  • Penggabungan : Penggabungan dengan bantuan alat tidak ada dalam data biner. Penggabungan manual itu menyakitkan dan rentan terhadap banyak kesalahan.
  • Kembung repositori: Sistem VC hanya menyimpan baris yang diubah untuk file teks. Ini tidak mungkin dengan data biner, karena seluruh file akan terlihat berbeda dengan sistem VC. Ini berarti bahwa sementara 20 versi file teks 10KB hanya dapat memakan waktu 20KB, 20 versi file 1MB mungkin akan memakan waktu lebih dekat hingga 20MB. Tim desain berukuran sedang dapat dengan mudah menghasilkan banyak revisi pada lusinan file biner. Departemen TI Anda mungkin akan segera membenci Anda karena persyaratan penyimpanan dan bahkan mungkin meningkatkan memori / CPU yang akan dimiliki server VC Anda.

    Anda dan pengembang lain juga mungkin akan segera membenci berapa lama waktu yang diperlukan untuk checkout atau pembaruan kecuali Anda telah membuat organisasi repositori yang sangat baik untuk menghindari file biner.

  • Pengurangan manfaat : Desainer Anda jarang, jika pernah, kembali ke versi file biner sebelumnya, karena 1) tidak ada cara mudah untuk memeriksa konten versi masa lalu 2) tidak ada cara mudah untuk menggabungkannya, dan yang paling penting, 3) mereka tidak bekerja seperti itu - mereka digunakan untuk membangun versi alternatif dari beberapa grafik yang mungkin masih berguna ke dalam file produksi sendiri.

Untuk kode Anda, Anda harus benar-benar menggunakan VC dan Anda berhak untuk menuntutnya.

Tetapi Anda perlu memeriksa asumsi bahwa itu berarti setiap orang juga harus menggunakannya, serta apakah itu bahkan merupakan praktik yang baik untuk para desainer (meskipun cadangannya). Anda harus menyimpan aset grafik final yang diperlukan oleh situs web Anda / aplikasi di VC Anda, tetapi untuk file produksi, itu mungkin bukan solusi yang tepat.


Mengenai "repositori mengasapi": Anda dapat mencoba mengatasinya dengan format file yang tepat. Dokumentasi yang disimpan dalam format bahasa markup dokumen dan grafik yang disimpan dalam format bahasa markup grafis bukan format biner yang setara dapat banyak membantu. Tentu saja kelangsungan hidup ini tergantung pada proyek yang dimaksud dan kemauan dan kompetensi orang-orang yang terlibat. ;)
Baelnorn

5
Timpa tidak terjadi pada VCS yang berharga. Yang terjadi adalah Anda memiliki dua versi file yang sama. Ya, KEPALA repositori akan menyimpan terakhir; tetapi karya desainer lainnya tidak hilang seperti pada hard drive bersama. Saya pikir itu adalah perbedaan penting.
Berin Loritsch

2
@Berin: Itu benar, tetapi salah satu manfaat dari VCS modern adalah bahwa dua orang dapat mengerjakan hal yang sama pada saat yang sama dan banyak pekerjaan rekonsiliasi otomatis. Namun, dengan file biner di mana tidak ada proses penggabungan yang berarti, itu tidak mungkin. Selain itu, kepala repositori adalah orang yang akan dianggap sebagai "nyata".
jprete

1
Karena siklus hidup untuk kode sumber dan dokumentasi desain berbeda, pastikan untuk menggunakan repositori terpisah untuknya. Saya tidak setuju bahwa repositori payah untuk desainer; kebanyakan waktu dihabiskan untuk berpikir dan membuat model, tidak membuat banyak perubahan kecil pada dokumen. Kami juga membuat aturan untuk melarang penggabungan otomatis (pada semua file yang disimpan dalam repositori) dan karenanya memiliki penguncian file wajib untuk pengeditan. Dikombinasikan dengan komunikasi tim yang baik, ini mencegah banyak kekurangan yang Anda sebutkan.
rsp

1
Anda salah, mis: Menimpa - ini bukan masalah kontrol versi, sebaliknya, ini membantu Anda untuk mendeteksinya. Sistem VC hanya menyimpan baris yang diubah untuk file teks. - Salah untuk git.
maaartinus

4

Saya menolak bekerja tanpa itu, yang berarti siapa pun yang terlibat dalam proyek juga harus menggunakannya. Itu hanya latihan yang bagus.

Itu sikap yang HEBAT, tepat di sana dengan 'bukan pekerjaanku!' :-)

Cara terbaik untuk mendapatkan dukungan adalah dengan menggunakan sesuatu seperti TortoiseGit atau TortoiseSVN untuk mengintegrasikan kontrol versi ke Explorer (dengan asumsi Windows). Dibutuhkan waktu untuk melihat manfaat nyata jika Anda tidak terbiasa dengan paradigma kontrol versi. Setidaknya Tortoise memudahkan bekerja dengan VCS dengan mouse. Cukup "Klik Kanan -> Checkin" yang sederhana.

Untuk alasan ini, saya sudah mencari untuk menerapkan kontrol versi transparan di TortoiseGit pada setiap file yang ditutup. Jika Anda memberi seseorang cabang untuk dikerjakan, dan kemudian setiap penulisan / penutupan menjadi operasi komit, maka pada titik tertentu Anda sebagai pengembang dapat menggabungkan cabang mereka tanpa khawatir tentang konsistensi seluruh repositori, dan mereka dapat melanjutkan dengan bisnis melakukan apa yang mereka lakukan tanpa harus tahu tentang kontrol versi.

Saya memiliki masalah yang sama dengan sejumlah besar dokumen audit yang tidak dapat saya kendalikan ke versi orang, jadi kami memiliki 50 versi dokumen yang sama yang semuanya berbeda.


4

Cara untuk mendekati ini adalah dengan mensetup sistem build (seperti Hudson ) yang menggunakan sistem kontrol versi untuk mengambil sumber build dan menjadikannya aturan proyek yang hanya artefak yang dikirim oleh sistem build akan ke tim uji dan akhirnya dikerahkan di situs pelanggan.

Jelaskan dengan jelas bahwa sejauh menyangkut proses proyek, apa pun yang tidak berasal dari build adalah privat untuk pengembang saja; selama pekerjaan seseorang tidak diterima di gedung, itu mungkin juga tidak ada.


2

Jelaskan keunggulannya:

  • Tunjukkan pada mereka bagaimana mereka dapat menghemat waktu dengan memungkinkan semua orang berbagi pekerjaan dan akses ke lokasi pusat.
  • Tunjukkan pada mereka bagaimana hal itu memungkinkan para desainer untuk mengerjakan bagian proyek yang berbeda pada saat yang bersamaan dan menggabungkannya kembali.
  • Tunjukkan pada mereka bagaimana mereka dapat menandai dan membangun versi aplikasi yang lebih lama untuk pengujian atau pemecahan masalah.
  • Tunjukkan pada mereka bagaimana mereka dapat dipusingkan dengan desain untuk eksperimen dan kemudian menyegarkan proyek dan tidak menyimpan perubahan jika mereka tidak mau.
  • Tunjukkan pada mereka bagaimana mereka dapat melihat apa yang terjadi dari waktu ke waktu.

1
-1 Ini tentang melibatkan non-programmer; daftar muncul diarahkan pada seorang programmer. Jika Anda mengubah jawaban Anda, saya pasti akan menghapus suara turun ...
Aaron McIver

1
Saya pikir Anda melewatkan bagian "untuk non-programmer". Semua tugas yang Anda sebutkan adalah tugas programmer.
Erik Funkenbusch

Maaf, saya baru saja membaca pertanyaan, bukan judulnya. Saya akan mengedit jawabannya.
jzd

1 Dihapus ...
Aaron McIver

1

"Bukan pekerjaan saya" tentang kontrol versi adalah sikap waras dari non-programmer.

Buat sistem kontrol versi sesederhana dan tak terlihat seperti Dropbox untuk sinkronisasi atau Time Machine untuk cadangan.

Seharusnya berfungsi. Tanpa checkout, tanpa komit. Cukup letakkan file di folder proyek.


1

Saya telah menggunakan tortoiseHG / lincah dengan wanita situs web baru, tidak ada masalah di sana. Tidak memiliki checkout membuatnya sangat sederhana dan memberikan tekanan pada orang yang sebenarnya harus memastikan file disinkronkan. Bahkan tidak tampak seperti "satu hal lagi yang harus dilakukan", itu hanya, "ok saya akan demo situs web jadi saya harus meminta Peter untuk menyinkronkan kembali perubahan." dan itu tidak masalah.

Saya tidak punya pengalaman dengan lincah sebelumnya, kami menggunakan VSS dan saya tidak akan pernah berharap itu pada siapa pun untuk kontrol sumber situs web. Saya mencobanya sekali dan saya tidak akan menyalahkan siapa pun karena tidak ingin menggunakannya.


0

Saya akan mengatakan penggunaan klon kura-kura *, itu lebih sederhana. Atau mengintegrasikan kontrol versi, dalam IDE atau apa pun.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.