- - PR -
大量のファイルを手動で管理するコツは?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-02-01 03:26
こんにちは。
去年の春から職業PG見習いになった者です。宜しくお願いします。 私は今、物流関係のプロジェクトの開発業務に参加し、VB+Oracleで伝票を出力するプログラムの一部を製作しています。 ところが、膨大な量のそのプロジェクトのファイルを手動で管理しなければならなくなり、ファイルの更新ミスなどが度々起こしてしまうようになりました。 開発の環境としては、テスト用のサーバ(このマシンのファイルが、最終的に本番環境へとアップされる)がLAN上にあり、ローカルにコピーしてきたファイルをローカルで編集、ローカルで開発を行なった後動作確認をとり、テスト用サーバにアップロードしてもう一度テスト、という流れを踏んでいます。 バージョン管理は導入されていないため、ファイルの管理にはExcelの台帳を用い、作業中であるかどうか等を記入して管理しています。 しかし、プロジェクトの規模が大きく、扱わなければならないファイルが大量にある上、ファイルは最新か、ファイル同士の同期はとれているか、もしかして誰かが間違って更新or誰かのファイルを間違って更新してはいないか……等等、常に神経を尖らせて監視しなければならず、負担が大きくなってきています。 対抗策として、作業のチェックリストを作成したり、ローカルマシン限定のSubversionを立ち上げたり(結局、サーバとのやり取りは人間なので、あんまり意味はないのですが)、あれやこれやとミスをなくす方法を考えているのですが、どうしても完全に失くすことが出来ず、更新ミスや台帳の記入ミスなどが発見されてしまいます。 身近なプロジェクトのメンバー(一人残らず自分とかなりの経験の差がある)にも意見を聞いてみたのですが、周りは寧ろ、私がなぜミスをするのかの方が理解できないといった感じで、あまりこれといったアイディアはつかめませんでした。 現在はテストサーバだからまだ良いものの、いずれ本番の環境で失敗するかもしれないと考えると、出来ればこういった瑣末なミスをなくすコツを?んでおきたいと思います。 瑣末なミスを減らすコツや、大量のファイルを手動で管理するコツ・ツールなどあれば、是非ご教示下さい。宜しくお願いいたします。 | ||||
|
投稿日時: 2008-02-01 03:46
管理システムも無しに、んなことやろうなんて、端から考えません。
>ローカルマシン限定のSubversionを立ち上げたり 何でローカル限定なの、のいいたいところだが、 使ったことがないんじゃ、仕方がないのかなあ。 そもそもサポートも無しに、新人さんが 担当するような作業じゃないと思うけどね。 | ||||
|
投稿日時: 2008-02-01 07:57
さかもとと申します。
さいくろう様も書かれているように、「ローカルマシン限定のSubversionを立ち上げたり 」するのであれば、思い切ってそのプロジェクト全体に導入するのが一番手っ取り早いと思います。 導入にあたっての一時的なコストは時間・サーバーの購入(空きがなかったら)などがかかりますが、重要な局面でミスを起こしたり日々のバージョン管理に時間を費やすよりはましだと思います。 _________________ ------------------------------------------ 拝啓、さかもとと申します♪ | ||||
|
投稿日時: 2008-02-01 10:30
>バージョン管理は導入されていないため、ファイルの管理にはExcelの台帳を用い
上級者が管理システムの導入作業を行うべきであって新人に任せるような代物じゃあないに一票。 まあそれが無理なら、改善の方向を大雑把に話し合って、それで周りを乗り気にさせた後で正式に文書で提案してそれでOKが取れたら作業は私が行います、という風な道筋に持っていった方が健全だろうなぁ。知識や技術が不足するなら上級者のアドバイスを受けながら‥でも、プロジェクトの正式環境構築作業、という風にした方が何かとお得。 | ||||
|
投稿日時: 2008-02-02 02:56
皆さんコメント有難う御座います。
少々語弊があったようなので補足しますが、私がプロジェクトのファイルの取り纏めをやっているという訳ではありません。 自分の作業したファイルを、間違えずにきちんと操作すればよいだけです。大量にファイルがあるため、それが難しいのですが(^^; (ちなみに、プログラムのコードは変更履歴の代わりのコメントが挿入されまくっていて、恐ろしいほど見づらいです。) ローカルマシンだけでSubversionを使っている理由は、 1.手動でバックアップを取らなくて済む、間違っても最低元には戻せる(サーバには大量のバックアップや過去のバージョンのファイルも溢れてます……) 2.フロントエンド(TortoiseSVN)が、変更のあったファイルのアイコンに印を付けてくれるので、とても分かりやすい などの理由からです。勿論、抜本的な解決にはなっていません。 私も、この状況を見て、バージョン管理ツールの導入を訴えてみようかと何度か考えてみたのですが、 1.上長らはバージョン管理ツールを使った事が全くないらしい(SubversionやCVSという単語を知らない。バージョン管理という概念自体ない?) 2.あと少しでシステムがリリース間近の佳境なので、管理のポリシーは変えられそうにない などの理由で、難しいのではないか……と考えています。 また、私のような新人は他には誰も居らず、周りは十年以上キャリアの違う先輩社員ばかりなので、自分ひとりで彼らを納得させられるかどうかと考えると、 足踏みしてしまいますね……(^^; とはいえ、そういう事も出来るようになってこそとは思っているので、その辺の納得させるテクニックも身に着けたいとは思うのですが。 | ||||
|
投稿日時: 2008-02-02 14:17
同じような経験がありますね。
自分の場合規模は小さいですが、管理はもっと適当でした。 デザイナも絡む、そしてプログラムがレガシーASPなのでデザイン部分とコードが混在しているファイルを扱ってました。 ですのでPGがコードを変更するのとデザイナがデザインを変更するのとで 通常手順は テストサーバから変更するファイルのコピーをローカルに持ってきて、それを変更してテストサーバにアップして、OKなら本番へ という流れでした。 が、チェックシートすらないのでPGとデザイナが同時期にテストサーバからファイルをコピーし、それぞれ作業してテストサーバに上書きすると 当然先に上書きした方の更新は後からの上書きにより消え去るということがよくありました。 本当ならPGかデザイナどっちかが先にやるよといってからコピーし、どっちかが終わったら終わったのでそっちの担当部分どうぞ、となるのにそんな取り決めもなにも特になかったので。 そして自分も当然バージョン管理システムを考えましたが、導入のコスト以前に他のメンバーが理解できるかどうかが一番の問題ないんですよね。 PG系の人は例え知らなくても教えればすぐ覚えてくれるんですが、デザイナがもうどうにもなりません。 コミット?ブランチ?リポジトリ? わかるはずもありません。 寧ろ導入してよく知らないで使われて、余計おかしな事になりそうな勢いです。 かといって常時進行中のものなので止めて練習するというわけにもいきません。 全員に覚えさせるには完全なテストプロジェクトでも作って、まずは実際にそれを色々弄ってもらってどうなるかを体験して覚えてもらわなければなりませんが これは1人でやっても肝心のバージョン管理のなんたるかが絡んでこないのでみんなで一緒にやらなければ意味がありません。 が、他の業務がある中そんなテストの練習をみんな一緒に弄っていこうなんて事もそうそうできるわけでもないわけです。 教える方としてもコストもかかりますし、覚える方のコストがなにより高い。 これが一番の問題なんですよね・・・ 1人でも理解していないのがいるとバージョン管理の意味がないですし。 結局自分の管理下の分だけローカルでSubVersionという結論になりました。 社内全体で変えるのは理想ですが相当難しい事だと思います。 駅伝で全員が区間レコード更新するような人ばかりいるのが理想ですが、そんなメンツが実際は集まらないように、理想と現実の差は大きいですね。 | ||||
|
投稿日時: 2008-02-02 16:09
どんなツールで管理しようとも、管理に手作業が入っているから、間違いが入り込むのだろうと思います。 Excel をお使いならば、Excel のマクロ(VBA)を使って、コピーやアップロードの処理を半自動化できないでしょうか? もしも、マクロを使うのが嫌・ダメなどということでしたら、それはどうしようもないことだと思います。管理に使うツールになんであろうと、自動化できないならば、ツールではなく管理方法自体に問題があると考えられます。 | ||||
|
投稿日時: 2008-02-03 08:34
余談を少し。
>コミット?ブランチ?リポジトリ? わかるはずもありません。 専門用語は無しにして、業務フロー優先で教えるべきでしょう。 手順書があれば一通りのことはできる、という利用環境を作れば大抵は慣れてくれます。 必要なら生の操作環境を隠す工夫をすればなおよし。 ユーザに暗記させる量が多くなればなるほど上手くいかないし、少なければ作業環境の移行は上手くいきやすいです。 そこら辺は外部の客相手の仕事でも内部の社員相手でも変わらないですね。 ユーザ視点をどう持って環境を作るか?というだけの話だから、 最終的にはどの程度手間を掛けたか?に比例する出来(結果)になります。 |
1