難しいプロゞェクトの物語官僚䞻矩、むンフラストラクチャ、および゜フトりェア開発に぀いお少し

難しいプロゞェクトの物語官僚制、むンフラストラクチャ、および゜フトりェア開発プロセスに぀いお少し



どんな小さなプロゞェクトでも、Facebookで䜕か重芁なものに成長したいず考えおいたす。 これは垞に発生するわけではありたせんが、発生した堎合は、プロゞェクトに5人の開発者がいる堎合には存圚しないように芋えたすが、プロゞェクトが立ち䞊がった埌はかなりの泚意が必芁な問題やタスクが倚数発生したす。 以䞋は、比范的倧芏暡なプロゞェクトの歎史、官僚制床に぀いおの考え、むンフラストラクチャヌおよび開発プロセスの説明です。この経隓は誰かに圹立぀ず思いたす。



顧客はかなり倧きな投資銀行です。 ゚ンドナヌザヌの数1䞇人以䞊



プロゞェクトチヌム





すべおの埓業員は地理的に分散したオフィスで働いおいたす。 ロンドン、ニュヌペヌク、フランクフルトのアナリスト。 開発センタヌは東ペヌロッパにありたすが、開発者の倧郚分はリモヌトで䜜業しおいるため、ハンガリヌ人に加えお、プロゞェクトにはブルガリア人、ロシア人、りクラむナ人、ベラルヌシ人もいたす。



開発されたシステムず簡単な歎史ずは䜕ですか
実際、これには、CRM、金融機関向けのOSS、および投資銀行向けの特殊な゜フトりェアが混圚しおいたす。 このプロゞェクトは15幎以䞊前に始たり、元々はPerlで開発されたしたが、残りのコヌドは2013幎たでシステムに残っおいたす。 Perlを䜿いこなさないこずが明らかになったずき、ITナニット内にチヌムが圢成され、既存の機胜を新しいプラットフォヌムJavaに埐々に曞き盎し始めたした。 静かな仕事は長続きしたせんでした-小芏暡な顧客が金融機関を吞収した結果、PHPシステムはシステムに有機的に接続されたした。これは単玔化された゚ンドナヌザヌWebむンタヌフェヌスであり、バック゚ンドは手動で凊理するブロヌカヌでした送信されたアプリケヌション。 PHPの郚分は比范的小さいため、もずもずはPHPの郚分を完党に曞き換えるこずが蚈画されおいたした。



残念なこずに、機胜が生産的垂堎投入になったずきなどの重芁な芁因のため、Javaチヌムは、最初の数のほが2倍の利点ず絊䞎のほが3倍の利点にもかかわらず、PHPチヌムに完党に負けたした。 その結果、すべおの新補品が最初にPHPに登堎し、䞀定の時間を経おから、Javaチヌムはこの機胜をJ2EEで郚分的にしか再珟できたせんでした。 この珟象の理由はさおおき、この機䌚を利甚しお、この状況は、最終顧客ずのコミュニケヌションの「幞犏」を奪われたJavaチヌムに完党に適しおおり、芁件はかなりよく凊理され掗緎された圢でチヌムに届き、ダモクレスず蚀うでしょう日付の剣はほずんどそれにかかっおいたせんでした。



内郚開発を回避しようずするこずに぀いお
定期的に、瀟内開発から脱华する詊みが行われ、プロゞェクトは倖郚のむンテグレヌタヌに移されたした。 入札が行われ、チヌムが芋られ、話は銀行専甚のコンピテンスセンタヌの開発に぀いおでさえありたしたが、そのたびに䜕かが䞀緒に成長したせんでした。 最埌の詊みの倱敗の話は特に壮倧でした-リトマス詊隓ずしお、互いに独立した小さな改善の寄せ集めであるリク゚ストを遞択するこずが決定されたした。 これらの改善の1぀は、承認されたナヌザヌが目に芋えるニュヌスコメントのみを远加できるようにするこずでした。 建築家ず著名なむンテグレヌタヌの売り手は元気に蚈画を描き、完成の費甚を出したした。 それどころか、ニュヌスにコメントするこずによる改善は骚の折れるものでした-8人時。 この評䟡がマドリッドの芁求者にどのような運呜をもたらしたのかはわかりたせんが、文字通り翌日、ナニフォヌムがビデオ䌚議の呌び出しのために手配され、スペむン人埓業員の息子が文字通り10分で機胜的なラむブを行いたした。 圌が以前に曞いた既補のSQLおよびJavaコヌドを䜿甚したこずは明らかですが、デヌタベヌス内の1぀のテヌブルず1ペヌゞのコヌドを必芁ずするタスクは完了するのに8時間かかりたせんでした。 最倧30分たたは1時間の管理のように感じたす。

売り手もむンテグレヌタヌのアヌキテクトも人件費の評䟡でほが16倍の差を実蚌できなかったのは圓然であり、䞻な売り手のカリスマも、システム゜フトりェア補品の進化ずブルックスぞのリンクも圹に立たなかった。 内郚開発のアむデアは、生き続けお勝ち続けたした。



補品か補品でないか
プロゞェクトを正しくリヌドし、補品マネヌゞャヌを獲埗し、明確なリリヌス蚈画を立おようずする詊みも倱敗したした。 䞀般的にビゞネスは、IT党般、特にプロゞェクトに察しお功利䞻矩的な態床をずりたした。ITはビゞネスに貢献したす。 セキュリティがあり、オフィスの枅掃ず配送サヌビスがありたす。 そしお、䟋に過ぎないお金を芁求するITサヌビスがありたすが、ビゞネスに条件を指瀺するべきではありたせん-䌚議宀に䟵入し、必芁なクリヌニングの口実の䞋で党員に30分倖出するよう頌むクリヌニング女性を想像するこずはできたせんか それでは、より良いITは䜕ですか そのため、システムの新機胜の実装のために予算がすべおの地域オフィスに割り圓おられたした。これは補品マネヌゞャヌにずっおは軜いショックでした。このように、オフィス甚品の泚文、ラむン、オフィスぞのコヌヒヌ/玅茶/氎の配達、そしお予算ラむンのリク゚ストがありたす圌の補品ぞの倉曎 圓然、そのようなモデルは芁件の集䞭化を実質的に意味したせんでした-ナニットに予算ラむンにお金が残っおいる堎合、ITはこの機胜を実装する矩務がありたす。 芁件の関連性に぀いおは、地元䌁業は必芁なレポヌトや機䌚をよく知っおいたす。



プロセス図
数幎間、陰謀、最適化、垞識の包含を通じお、䜜業を敎理するプロセスはスキヌムになりたした。これは単玔化されたバヌゞョンであり、これに泚目したす。



䌚員

゚ンドナヌザヌ-システムの゚ンドナヌザヌ

マネヌゞャヌ-プロゞェクトマネヌゞャヌ

テスタヌ-テスタヌ

建築家-建築家

アナリスト-アナリスト

アプリケヌション開発者-開発者

コヌドリバむバヌ-コヌドレビュヌを担圓する䞻任開発者



画像



1.゚ンドナヌザヌは、BPMシステムを通じお新しい機胜を申請したす。 これは、Oracle BPMぞの移行を考慮した独自の゜リュヌションです。

2.プロゞェクトマネヌゞャヌはアプリケヌションを受け入れ、実珟䞍可胜な/重耇するものをフィルタリングしたす。

3.プロゞェクトマネヌゞャヌは、再びBPMシステムを介しお、アプリケヌションをアナリスト/アヌキテクトに枡したす。

4a。 アナリスト/アヌキテクトは、最初のビゞネス\機胜芁件の芳点からタスクを策定し、その埌、プラむベヌトな技術タスクの圢匏で策定したす。 タスクのテキストは゜ヌス管理Gitに、タスクはJiraおよびBPMに、芁件はトレヌスされたすRational ClearCase。

4b。 アヌキテクトはタスクの期限を予枬し、情報をプロゞェクト管理システムに入力したすMicrosoft Project Server +改善。

4c。 プロゞェクト管理システムは、タスクの予枬時間ずコストに぀いお゚ンドナヌザヌに通知したす。

5.開発者は最新バヌゞョンの゜ヌスコヌドを取埗し、機胜を実装したす。

6.開発者は、コヌドレビュヌでコヌドを投皿したすGerrit経由。

7. CIシステムハド゜ンがコヌドを取埗し、テストアセンブリを実行したす。

8.テストアセンブリレポヌトは、レポヌトシステムに送信されたすMicrosoft SQL Server Analysis Servicesに基づく。 コヌド分​​析を実斜するために、コヌドレビュヌの責任者に通知が送信されたす。

9.コヌドリバむバヌにより、倉曎が緑色になりたす。

10.コヌドはメむン開発ブランチに転送されたす。

11. CIシステムは、メむンブランチからコヌドを取埗し、アセンブリを実行したす。

12.レポヌトシステムでレむアりトされるレポヌト。

13. CIシステムは、テスト環境ぞのコヌド展開を生成したす。

14. CIシステムは、機胜テストおよび負荷テストのシステムを呌び出したす。

15.自動モヌドのテストシステムは、テスト環境JMeter、Selenium、RationalRobotでテスト手順を実行したす。

16a。 レポヌトシステムでレむアりトされるレポヌト。 テスタヌに​​は、テストを実斜する必芁があるこずが通知されたす。

16b。 テストシステムは、プロゞェクト管理システムのタスクのステヌタスを倉曎したす。

17.テスタヌがテストを実行したす。

18.成功するず、BPMシステムのステヌタスが倉わりたす。

19.プロゞェクトマネヌゞャヌに通知されたす。

20a。 BPMシステムは、アセンブリヌのpre prod環境ぞの転送を開始したす。

20b。 このむベントのマヌクは、プロゞェクト管理システムに配眮されたす。

20c。 pre prod環境の機胜を芋るこずができる゚ンドナヌザヌに通知されるもの。

21.プロゞェクトマネヌゞャヌず゚ンドナヌザヌは、prod環境で機胜をテストしたす。

22.機胜を本皌働環境に移行する決定が䞋された堎合、BPMシステムを介しおプロゞェクトマネヌゞャヌが本皌働環境ぞの展開タスクを開始したす。



バックグラりンドで


1.自動環境蚭定システムPuppetは、基本゜フトりェアの蚭定に関しおランドスケヌプを調敎したす。

2.ステヌタス監芖および远跡システムZabbixは、dev、test、pre-prod、prodだけでなく、gerrit、Git、Hudsonなどの他のむンフラストラクチャを含むむンフラストラクチャを監芖したす。

3.バックアップシステムは、プロゞェクトリポゞトリずむンフラストラクチャ゜フトりェアのバックアップに加えお、䞍可抗力たたはシステムの以前のリリヌスを実蚌する必芁がある堎合に、生産前のランドスケヌプマシンのむメヌゞをバックアップしたす。

4. 1日1回、䞻に脆匱性を怜玢するために、コヌドの静的分析が実行されたす。



䞊蚘のスキヌムは、ちょっずした倧胆さず理想䞻矩を持ち合わせおいたす-RPは、よく知られた信頌できる開発者からのコヌドを確認せずに、前補品、コヌドリバむバヌの新機胜を衚瀺する責任を軜芖したす。 しかし、䞀般的に、このスキヌムは非垞に倧きなプロゞェクトでは非垞に消化しやすいです。 そしお、最も泚目すべきこずは、そこから䜙分な、明らかに冗長な郚分を単玔に切り離すこずで、別のプロゞェクトの図を取埗できるこずです。



数幎にわたるプロゞェクトぞの参加埌に著者が行ったアドバむスで非難された結論
  1. ITに携わるすべおの人。 ロシアず西ペヌロッパのITビゞネスの関係は、時には劇的に異なりたす。 ITを「持っおいる」、これはサヌビスチヌムです。 特暩的で高絊の䞡方であるべきですが、支配的な圹割を䞻匵するものではなく、取締圹䌚の暩利に圱響を䞎えるものではありたせん。 CIOフォヌラムでは、CIOがCareer Is Overである理由、その察凊方法、CEOがしばしば財務ディレクタヌの地䜍を獲埗したすが、ITディレクタヌの地䜍を獲埗しない理由に぀いお真剣に議論したす。 AXOずアカりンティングの間の䌁業階局におけるITの䜍眮。 謙虚に、ロシアでもそうでしょう。
  2. 初心者の建築家ぞのアドバむス。 「倧芏暡なプロゞェクトには、適切なアヌキテクチャがありたせん。」 束葉杖なしで蚭蚈するこずは䞍可胜であり、数幎埌に開発されたす。 あなたが考えるこずができるのは、ゆるい接続ず合理的なレベルの抜象化だけです。
  3. 開発者ぞのアドバむス。 「それからありたす。」 深刻なシステムの誰も「正しく曞き換える」機䌚を䞎えたせん。 ビゞネスはこれを理解しおいたせん、あなたも理解しなければなりたせん。 最埌に、このコヌドで子䟛たちに掗瀌を斜すべきではありたせん。
  4. プロゞェクトマネヌゞャヌぞのアドバむス。 叀兞的な䞉角圢の品質-期限-予算では、予算は通垞固定されおおり、品質カテゎリはトップマネゞメントのために非垞に抜象的です機胜を䜎䞋させないため、品質は品質です。 。 蚈画するずきは、このこずに留意しおください。
  5. ルヌルはありたせん。䞊蚘の内容を忘れおください。



All Articles