私はカリフォルニア州で働いています。私の意見では、プログラミングチームは実際には「チーム」ではありません。通常、アプリケーション/システムのライフサイクル全体を通じてプロジェクトに単独で取り組んでいるからです。
最終的には、多くの開発者が「車輪を再発明」しています...私たちの大多数が同じOracle DBで作業しているにもかかわらず、独自のデータレイヤーを作成しています...独自のセキュリティスタッフを作成しています...オン。
私は従業員の考え方を変えることができず、チームプロセスの変更に関して現実的な野心はありません...しかし、私の目標は、少なくとも共通の建物を構築するために、チームをもう少し連携させることですすべての定型機能に使用できるブロック片。
明らかな利点は、すべてのユーザーが共通の部分に精通している場合、テストとサポートがはるかに保守可能であり、他の誰かがすでに行ったものと同じリポジトリを作成していない場合、本番までの時間が短縮され、より良いソリューションの提供に焦点を当てることができます私たちのアプリが解決しなければならない特有の問題に...など
私は合唱団に説教していると確信しています。
コツは、国家が変化を好まないこと、そしてその従業員を好まないことです。マネージャーは、摩擦を避けたいので、そのまま続けたいという理由だけで、しばしば新しいアイデアを無視します。
似たような質問がありますが、私が探しているのは、どのようにして同じような状況に直面したかに関するアドバイスと、「草の根」のような取り組みをより簡単に管理に取り入れる方向へのアドバイスです。
編集:いくつかのことを明確にするために:
私が探している範囲は、州政府機関のITショップです。私はいくつかの部門を超えて調整しようとはしていません。バイクに乗るように頼む前に、人々を補助輪から降ろしてください。
セキュリティはそれほど重要ではありません。ほとんどのアプリケーションは内部にあり、Citrixで配布されているWindowsフォームで記述されています(ほぼ)。ほとんどすべてのアプリケーションがOracleの同じエンタープライズテーブルを使用しています。話す。コラボレーションを妨げるべきではありません。
私は、NuGetフィードをセットアップし、いくつかの定型コードをパッケージ化し、Oracle用のいくつかのリポジトリを作成し、いくつかのメールを送信しましたが、フィードバックはほとんどありませんでした。私のチームの約3分の1がReSharperを使用していて、ヒントを添えて随時メールを送信しています。