Epigraf
"Jika aku harus menempatkan bibir Nikanor Ivanovich ke hidung Ivan Kuzmich, mengambil kesombongan seperti Baltazar Baltazarych, dan mungkin menambahkan kemalangan lebih lanjut dari Ivan Pavlovich untuk ini, aku akan segera memutuskan." N.V. Gogol. Menikah.

Ada dua alat manajemen proyek yang terkenal dan sangat berbeda: Proyek MS dan Redmine. Masing-masing dari mereka memiliki kelebihannya sendiri, dan kelebihan ini dapat saling melengkapi dengan sempurna.
Saya ingin menyampaikan kepada Anda sebuah utilitas kecil yang disebut P2R, yang memungkinkan tanpa instalasi apa pun dan dengan pengaturan minimum untuk memastikan sinkronisasi online proyek di Proyek MS dan Redmine. Ini tersedia di .
Apa gunanya Project:
- Lebih mudah untuk mengedit proyek secara keseluruhan dalam mode dokumen - spreadsheet. Ini juga merupakan nilai tambah bahwa beberapa proyek dapat dengan cepat digabungkan menjadi satu yang terkonsolidasi dan dipandang secara keseluruhan. (Dalam Redmine, tugas proyek hanya diedit satu per satu melalui formulir tugas).
- Semua jenis variasi dan fleksibilitas koneksi antar tugas (dalam Redmine, komunikasi diimplementasikan secara minimalis).
- Memantau pemuatan sumber daya dan kemampuan untuk secara otomatis mendistribusikan tugas di kalender, dengan mempertimbangkan hubungan akun dan pemuatan sumber daya. Termasuk sumber daya "tidak manusiawi" seperti peralatan, fasilitas, dll. (Tidak ada ini di Redmine; alat itu diciptakan untuk yang lain.)
Apa yang baik tentang Redmine:
- Produk gratis di Ruby On Rails, cukup sederhana, dapat dikustomisasi dengan baik dan dapat dikembangkan, dengan komunitas yang aktif, banyak pilihan plugin, dikembangkan secara aktif
- Web dan kerja tim. Sebagai hasilnya, sangat nyaman untuk mencatat kemajuan setiap tugas, termasuk log perubahan, korespondensi dan diskusi tentang tugas, file, laporan individu pada jam yang dihabiskan, dll. (Tidak ada yang seperti ini dalam Proyek.)
Akan lebih mudah untuk menyiapkan proyek di MS Project, mengirimkannya untuk dieksekusi ke Redmine, mendapatkan ketentuan tugas yang sebenarnya dan memperkirakan / menghabiskan waktu berjam-jam dari sana, membandingkannya dengan baseline yang disimpan sebelumnya, membuat penyesuaian jika perlu. (Terutama nyaman, misalnya, dalam situasi seperti kita di tempat kerja: ada aliran proyek dengan struktur reguler, yang harus dibentuk sesuai dengan template, sedikit ditentukan dan diberikan untuk bekerja.)
Ada plugin Rredmine untuk integrasi ini. Tetapi mereka melakukan integrasi melalui mengunggah dan mengunduh file-file xml, tetapi saya menginginkannya tanpa file dan lebih mudah.
Skrip P2R yang diusulkan ditulis dalam ruby dan bekerja dengan MS Project via OLE, dan dengan Redfmine oleh API. Jika ruby tidak diinstal, Anda dapat mengambil skrip yang sama dikompilasi ke .exe (terletak di folder unduhan, dihasilkan oleh utilitas ocra).
Mempersiapkan proyek MSP untuk publikasi dan sinkronisasi memerlukan tindakan minimum.
- P2R menyimpan pengidentifikasi tugas Redmine dalam atribut Hyperlink tugas MSP. Untuk menandai tugas untuk publikasi, Anda harus memasukkan 0 pada atribut ini. Setelah publikasi, P2R akan secara otomatis mengubah bidang ini menjadi ID tugas nyata dan pada saat yang sama menghasilkan URL yang benar di atribut HyperlinkAddress, sehingga tautan tersebut dapat diklik. (Tentu saja, maka Anda tidak boleh lupa untuk menyimpan proyek MSP, itu tidak secara otomatis disimpan.)
- P2R juga menyimpan ID pengguna Redmine di atribut “Hyperlink” sumber daya MSP. Untuk mengaitkan sumber daya ini dengan pengguna Redmine, Anda perlu menemukan ID pengguna dari admin Redmine. (Admin memiliki akses ke daftar pengguna dan dapat melihat ID mereka, misalnya, di tautan dalam daftar).
- P2R mengambil parameter akses dalam Redmine dari tugas khusus yang disebut "Redmine Synchronization". Anda perlu membuat tugas seperti itu dan meletakkan parameter akses di bidang "Catatan" dalam format YAML sesuai dengan sampel (nilai parameter, tentu saja, harus diganti dengan Anda sendiri):
redmine_host: 192.168.10.10 redmine_port: 3000 redmine_api_key: a21e583e7670b1fc79378441d485b9608e4c2dc4c redmine_project_uuid: test task_default_redmine_tracker_id: 4 resource_default_redmine_role_id: 4
Setelah itu, proyek siap untuk sinkronisasi. Tujuan dari parameter jelas dari namanya.
Parameter redmine_project_uuid
berisi kode proyek unik yang harus ditemukan sesuai dengan aturan Redmine, yang dapat ditemukan melalui halaman pengaturan proyek apa pun. Jika kesalahan “Entri yang Tidak Dapat Diproses” terjadi saat membuat proyek, kemungkinan besar Anda telah memilih proyek yang salah.
Parameter task_default_redmine_tracker_id
opsional. Jika Anda menghilangkannya, trek default dari pengaturan Redmine akan ditempelkan.
Jika Anda tidak ingin membuat proyek baru di Redmine, tetapi untuk menghubungkan yang sudah ada, lakukan hal berikut:
- Tambahkan parameter
redmine_project_id
ke pengaturan Sinkronisasi Redmine dan letakkan ID proyek Redmine di sana. Ini bukan uuid! Integer ini adalah ID dari entri dalam database Redmine. Anda dapat menemukan ID ini, misalnya, dalam kartu proyek dalam format XML atau JSON (untuk contoh di atas, Anda bisa mendapatkannya di http://192.168.10.10/10000000/projects/test.json ). - Agar tugas disinkronkan dengan yang sudah ada di Redmine, letakkan di bidang Hyperlink bukan nol mereka, tetapi ID Redmine asli mereka.
Ada sedikit batasan dalam menetapkan sumber daya untuk suatu tugas:
- Karena hanya satu pelaksana yang dapat ditugaskan untuk tugas di Redmine, skrip akan bersumpah dan berhenti ketika menemukan lebih dari satu sumber daya dalam tugas MSP yang ditandai untuk sinkronisasi. (1) Ada kemungkinan bahwa dalam versi yang akan datang perilaku ini akan digantikan oleh yang lebih lembut, seperti mengeluarkan peringatan dan secara acak memilih salah satunya. (2) Sumber daya yang tidak disinkronkan dapat ditetapkan sebanyak yang Anda inginkan, P2R mengabaikannya.
Algoritma sinkronisasi berikut diterapkan:
- Nama tugas, struktur subordinasi, dan orang yang bertanggung jawab diutamakan di sisi MSP, yaitu mereka perlu diedit di MS Project, dan perubahan akan diarahkan ke Redmine selama sinkronisasi.
- Awal tugas, akhir, biaya tenaga kerja (penilaian dan aktual) mengambil prioritas di pihak Redmine dan pergi ke MSP selama sinkronisasi.
Ada juga masalah dengan biaya tenaga kerja: dalam MSP estimasi biaya tenaga kerja, biaya tenaga kerja aktual dan persentase penyelesaian terkait erat dengan formula, sedangkan di Redmine mereka ditetapkan secara independen. Artinya, mereka memberi nilai pada 10 jam, menghabiskan 40 jam dan pada saat yang sama menyelesaikan tugas sebesar 30%. Itu terjadi dalam hidup, dan Redmine tidak keberatan. Solusi yang dipilih adalah:
- Biaya aktual selalu ditulis apa adanya
- Jika biaya aktual lebih besar dari perkiraan dan persentase penyelesaiannya adalah 0, abaikan perkiraan tersebut
- Jika biaya aktual lebih besar dari perkiraan dan persentase penyelesaian bukan 0, kami menghitung perkiraan baru berdasarkan fakta dan persentase penyelesaian.
Secara total, proses sinkronisasi terlihat seperti ini:
- Kami membuka proyek kami di Proyek MS dan membiarkannya aktif.
- Jika kita mau, kita mulai menjalankan siaga P2R dan kita melihat, perubahan apa yang akan terjadi.
- Kami memulai sinkronisasi yang sebenarnya: dengan sakelar –e.
Direktori kerja dari mana skrip diluncurkan tidak masalah.
Anda dapat memulai skrip dengan penghitung waktu, dan sinkronisasi akan menjadi sepenuhnya otomatis.
Terima kasih atas perhatian anda