私はデータベース関連の作業も行うプログラマーであり、いわゆる1回限りのレポートリクエストや定期的なレポートリクエストをたくさん受け取ります。
私は、サードパーティのデータを統合するSQL Serverデータベースを持っている会社で働いています。また、独自のレポートシステムを使用して、フラットファイル形式でデータを抽出する必要のあるサードパーティベンダーもあります。セキュリティ上の理由からSQLServerに統合します。
これらのレポートの多くを生成するには、さまざまなシステムからのデータをクエリしたり、別々のシステムからのデータを組み合わせる小さなスクリプトを作成したり、泣いたり、髪を引っ張ったり、レポートを作成した最後の人の名前を呪ったりする必要があります。私の質問は、これらのレポートを生成するために取られた手順を文書化して、それらを実行しなければならない次の貧しい人々が私の名前を呪わないようにするためのいくつかの良い方法は何ですか?今のところ私はプロジェクトごとにサブフォルダーを持つフォルダーを持っています最後のレポートを生成したselectとスクリプトを使用しますが、これは「貧乏人」の解決策のようです。 :)
正直なところ、あなたは自分がしていることを正しい方向に進んでいるように思えます。
「それを次のレベルに引き上げる」ために私がすること:
「昨年私のために実行したレポートを覚えていますか?」という質問に対する答えが必要です。
まず、ハウスキーピングに注意し、以下を追跡できるようにします。
次に、リクエストプロセスを形式化します。私はこれが口で言うほど簡単ではないことを知っています。少なくとも「ドライブバイ」リクエストは避けてください。これは、誰かが文字通りあなたの机を通り過ぎたり、廊下/コーヒーマシンであなたを止めて報告を求めたりする場所です。上司や忘却の恐れを言い訳にして、メールを送ってください。
第三に、ソース管理。これらの小さな1回限りのリクエストにだまされてはいけません。実稼働アプリケーションよりもさらに多くの変更要求を持つことができます。 「私が取り出してもらいましたそのコラムを元に戻して、第4四半期のみホノルル支店を除外していただけませんか?」
これらのいくつかを処理するためのツールはたくさんあります。私はいつも、新しい仕事を得るたびに新しいデータベースを作成し、そこにできるだけ多くを投入することを習慣にしてきました。レポートだけでなく、新しい人は、AccountingMonth7がそのデータベースを何に使用しているかを知りたいと思うかもしれません。
1、2年前、私は自分が行った変更をテストしていて、手動で何度も計算をしなければならないことに悩まされていました。その計算を行うためのグラフィカルユーティリティを作成したかったのです。私は組み込みソフトウェアを書いているので、GUIプログラミング用のプログラミング環境をまだセットアップしていなかったので、すぐに利用できるという理由以外に、JavaScriptで単一のHTMLファイルに実装しました。
機能を終了してテスト用に送信すると、テスターからその計算方法を尋ねられました。彼にユーティリティを与えるよりも説明するのが難しかったので、少し磨きをかけた後、それを行いました。彼はそれをテスターが使用する内部Webサーバーに配置しましたが、私はすぐにそれをすべて忘れました。数週間前、まったく別の部門の誰かがそのユーティリティのパッチを送ってくれました。それは口コミで広まり、他の誰かがそれを使っているとは思いもしませんでした。
この話は、最初は意図していなかったものの、Webサーバーに配置することで「1回限りの」スクリプトを共有して再利用するのが簡単になった理由を説明するために説明します。レポートをWebページから実行できるようにするために少し余分な時間を費やし、それらを内部Webサーバーのどこかに配置することをお勧めします。
ソース管理は明らかなものです。 gitをお勧めします。または、MSショップなので、ネットワーク上のどこかにVSSまたはTFSサーバーがあるかもしれません。
もう1つのオプションは、ネットワーク上にwikiを設定することです。更新が簡単で、使いやすさに勝るものはありません。これはまた、イニシアチブのためにボスと一緒にいくつかのブラウニーポイントを獲得します:)