完全なERP実装または誘導爆発





この記事では、大規模プロジェクトでERPシステムを実装した経験を共有したいと思います。 この記事は、1Cでの大規模プロジェクトの導入時に2013年に書かれました。



はじめに:2種類の顧客



通常、新しいプログラムの実装は次の2つの場合に発生します。

1.会社がまだ特別なプログラムで記録を保持しておらず、Excelでのみ働いている場合

2.すでに成長した古いプログラムにレコードを保存すると、データベースの速度が低下し始め、機能の開発、不安定な動作などができなくなりました。



最初のケースでは、企業のスタッフが少なく、導入量が少ないです。 同社は、会計システムが必要な場合にのみ、情報量の重要なポイントを踏み越えました。 Excelの手動モードは、マニュアルに適合しなくなりました。



このようなクライアントの利点-単に存在しないため、古いシステムの機能やディレクトリと残余のオーバーロードについて考える必要はありません。 起動自体は非常に簡単です。プログラム(1C構成)を作成した後、すべてのユーザーが作業を開始できます。提供された機能の欠如という形でプログラムに問題が発生しても、会社の作業は停止しません。 ユーザーはいつでも昔ながらの方法で作業を続けることができます-プログラマーが1Cプログラムを終了する間、手動またはExcelで。



短所:1Cで作業するようユーザーをトレーニングし、Excelからデータをダウンロードします。 たとえば、Excelのさまざまな印刷フォームにユーザーが甘やかされているクライアントがいて(ほぼすべての顧客が独自のブランチを持ち、さらにブランチごとに異なる)、1Cでも同じサポートを要求しました。 フォームを統一し、実装をデッドポイントから移動するために、大きな管理リソースが必要です:ユーザーは学習し始め、ユーザーは、カウンターパーティのディレクトリと命名法を最新の状態に維持するなど、彼らにとって珍しい新しい作業を実行し始めました。



2番目のケースでは、これは古いシステムからの移行です。たとえば、1C 7thバージョンプログラムや、現代の要件を満たさない他の古いプログラムです。たとえば、RS-Balance 3.16プログラムを使用しているクライアントが非常に遅くなりました。



通常、これらは多数のジョブを持つクライアントです-100以上、すでに古いシステムにレコードを持っているので、最初に古いビジネスプロセスを新しいトラックに(新しい1C 8プラットフォームに)転送して、会社のアクティビティが1分間停止しないようにします。その後、ビジネスプロセスを変更します。 最初の起動を実行するには、2つの方法があります。ビッグバン方式-会社全体が新しいプログラムに移行するとき、および個々のワークステーションを組み込むとき-変換は個々のユーザーが実行し、双方向のデータ同期はシステム間で実行されます。 あるシステムに入力されたデータは、すぐに別のシステムに分類されるため、ハーフファームは1つのプログラムで機能し、他のプログラムでは機能します。 この実装方法は、会社の活動を維持するという観点からは最も便利で安全ですが、請負業者にとっては技術的に最も困難です。 しかし、1C 7.7やRS-Balanceなどのプログラムから切り替えることはできました。



完璧な実装



これは、管理者が署名するために完了の行為を彼にもたらした後、管理者が実装の終わりについて知るとき、そのような実装です。 つまり 請負業者と顧客の従業員との間に摩擦がまったくない。



顧客の従業員は9から18で働いており、彼らは通常の仕事のラインで働いています:彼らは頭脳に負担をかけたくありません-新しい仕事をしたり、学びたい、彼らはプログラムがクラッシュした場合に上司に問題を抱えたくないので、例えば彼らは義務を果たすことができませんプログラムの欠陥により、商品は倉庫から出荷されません。 理想的なケースは、プログラムの古いインターフェイスを繰り返し(従業員は新しいインターフェイスを学習する必要はありません)、双方向のデータ同期を作成します(新しいプログラムで障害が発生した場合、ユーザーは停止せずに古いプログラムで作業を続けます)



この記事では、双方向データ同期の使用を強く推奨します。 これにより、多くの間違いが回避され、新しい低血度プログラムの迅速な実装が保証されます。



議論の1つは、このアプローチ、「何も忘れない」原則の自動実装では、データ転送プロセスの作成時に、古いプログラムのデータ構造の徹底的な調査が実行されるという事実です。 テーブルごとに小道具を勉強します。 すでに開発段階で、古いプログラムのユーザーは特定のデータの重要性について質問されています。 さらに、古いプログラムのデータの100%すべてについて質問されるため、重要な何かが失われる可能性は非常に小さいですが、これが発生した場合でも、ボタンを1つ押すだけで、新しいプログラムから古いプログラムにブロックを一時的にいつでも転送できます。



誘導爆発



どうやって


オブジェクトへの変更を記録するためのメカニズムが作成されます(たとえば、1C 8では、組み込みの登録メカニズムが適切です。または、イベントにサブスクライブするメカニズムを使用できます。1C7バージョンでは、外部コンポーネント1C Migratorが使用されます。および「UpdateDoc」)。



1C 8では、プログラム間で変更されたオブジェクトをアップロードおよびダウンロードできる処理が作成されます。 とりわけ、データ転送の正確性のための特別なモニターが必要です。 データ転送の問題は、失敗したトランザクションのみに関連するエラーを次の交換セッション中に自動的に処理し、プログラマーの介入が必要なエラー(たとえば、不正なデータオーバーフローシナリオ)をプログラマーが手動で修正する必要がある特別なテーブルに表示する必要があります(交換処理コードを最初に修正してから、手動で交換開始)。



ユーザーが使用できるプログラムを決定する権利メカニズムが作成されます。 次に、権利のインストールにより、特定のプログラムの各ユーザーの作業が設定されます。



私たちは何を学びました


プログラムが実装され始め、人々がそれを使い始めたときに、主な生産的な作業が実行されることがわかります。 現時点では、非常に多くのタスクがあるため、実装チームは迅速に完了できません。 調査の段階では、数百万の事柄が考慮されていないことがわかりました。それについては知らない人もいれば、覚えていない人もいます。 たとえば、別の結婚登録文書を作成し、個別の文書フローを提供し、レポート、ステータスなどを作成する必要がありました。したがって、すべての要因を考慮するには、すべてのビジネスプロセス、一度に1つの職場で規制された実装プロセスを作成し、ローカル爆発を作成する必要があります一人の職場の枠組みの中で、一人の人間の仕事の枠組みの中で脳。 ある職場でプログラムを実施したら、別の職場に行きます。



エピローグの代わり:誘導爆発を導入するという逆説



大規模な企業(100台のワークステーションから)は、古いシステムがそれらに合わない場合、新しいシステムに切り替えています。 これは明らかです。 しかし、なぜ彼らは幸せではないのですか? システムの内部を制御できる人がいないため、プログラマーが交代したか、重いプラットフォームに対応できない弱いプラットフォームが最初に選択されたか、既存のシステムを把握するよりも新しいシステムに切り替える方が簡単なパッチのセットが作成されたためです。 多くの場合、上記のすべての理由が存在します。 既存のシステムの開発は行き詰まっています。 彼らが今言うように、プログラムはもはやビジネスのニーズを満たしていません。



誘導爆発法を使用して新しいシステムに切り替えるには、つまり 1つの職場で順番に、両方のシステムを詳細に理解する必要があります。 移行期間中に2つのシステム間で本格的な情報交換をセットアップするには、これらすべてが必要です。 そうしないと、何も機能しません。 しかし、古いシステムを理解し、作業のメカニズムを完全に理解し始めるとすぐに、既存の古いシステムを制御できる人が現れ、新しいシステムに切り替える必要がもはやないことがわかります。



おそらく逆説は、文書化されていない情報のカオスを理解できる人がそれほど多くないという事実によるものです。 システムサポートのみに従事しているスペシャリストは、それに対処しません。 非常に重要な点は、タイタニックな仕事を行う特別な動機が必要だということです。 この作品は感謝せず、その大部分は水の中に隠されています-この作品は、新しいプログラムへの移行の結果としてのみ見ることができます。



All Articles