SportmasterがOstin、FunDayなどを含む企業グループ全体を統合していることを知っている人はほとんどいません。約1,500人の従業員を擁するSMLab部門は、このマシン全体の運用を維持する責任があります。これらのうち、約400人が開発者で、25〜30人がフロントエンド開発者です。残りはすべて、製造、ロジスティクス、財務のITサポートに関与しており、これにはWeb開発、品質保証なども含まれます。
すべての開発者は、他の大企業の同僚とほぼ同じことを行っています。つまり、新しいシステムの開発と古いシステムの保守です。非常に大規模なテクノロジースタックと、サポートおよび開発する幅広いアプリケーションがあります。Sportmaster、Ostin、FunDay、Columbia、Fila、Demix、UrbanVibesなどのサイトの開発とサポートが私たちの肩にかかっています。これらすべてに加えて、内部自動化のための大きな足がかりがあります。一般に、開発者にとっては、スキルを高めるために展開する場所があります。
内部キッチン

すでに約400人の部門の開発者に話したように、このような大規模な部門を効果的に管理するために、同社は2年前に変革プロセスを開始しました。現在、アジャイルに取り組んでいます。現在、約30の製品チームがあり、最大100の製品チームがプロジェクトを開発および維持する予定です。各チームには、ビジネス、アナリスト、開発者、テスター、自動化エンジニア、方法論者など、さまざまな能力があります。チームの指標を追跡する特別なポータルを作成し、方法論者がチームがフローを設定するのを支援します。チームが十分に独立するとすぐに、方法論者は他のチームを支援することに切り替えます。
よく理解されているフロントエンドは、2、3年前にSMLabで生まれました。その前は、フレームワークの動物園、ノックアウト、jqueryなどの多数の異なるライブラリがありました。これらすべてが、開発、新入社員の検索、プロジェクト間のローテーションに多くの制限を課しました。
私たちが最初にしたことは、会社のすべてのソフトウェア、それらが何で構成され、何が書かれているかを分解し、技術レーダーを作成することでした。そのおかげで、現在、会社で利用可能な技術のリストを監視しています。利用可能なもののリストに新しいテクノロジーを追加するための明確なルールがあります。レーダーに新しい技術を導入する必要がある場合は、RNDが形成され、専門家のチームがこの調査を実施するために採用されます。その結果に基づいて、チームはテクノロジーのプレゼンテーションを作成し、RNDドキュメントを作成して、技術委員会でそれを擁護します。委員会が技術がさらなる開発にとって重要であると決定した場合、それは会社全体で利用可能な技術の範囲を拡大します。
また、会社全体のフレームワークの選択について多くの調査を行った結果、Vueが選択されました。今では新しいソフトウェアが書かれ、古いものはすべて徐々に書き直されています。
Sportmaster全体として、会社のすべての内部活動を自動化する200を超えるシステムを使用しています。たとえば、店舗での商品の陳列、チェックなど、マーチャンダイジングビジネスプロセス全体を自動化しました。現在、フォトスタジオやコールセンターの自動化に取り組んでおり、多くの方々にご参加いただいております。
Sportmasterのすべてのeコマースは2つの大きなグループに分けられます
。最初のグループはSportmasterやAustinなどの巨大なサイトであり、2番目のグループは同じように重要なサイトのグループですが、FunDayやモノブランドサイトのグループなどの負荷ははるかに低くなっています。
Ostinは、NodeJS、Vue、SSR、Kotlinなどの新しいテクノロジーで完全に記述された最初の巨人になりました。そして生産に入った。Sportmaster Webサイトの現在のバージョンは、約4年前に作成されました。現在、新しいバージョン3.0の開発が進行中であり、新しいテクノロジーと新しいデザインが採用されており、まもなく古いバージョンに置き換わる予定です。状況は2番目のグループのFundayサイトと似ており、サイトは現在新しいスタックを使用して活発に開発されており、まもなく新しいサイトが表示されます。
モノブランドのサイトグループは、新しいスタックでのサイト開発の2回目の反復でした。私は結成の段階で一時的にチームに紹介され、チームリーダーの地位に就きました。現在はチームを去り、キュレーターの立場からチームと協力し続けています。
モノブランドのウェブサイト
少し背景。 ITに移行する前は、約5年間ビジネスに従事していました。新しく作成されたソフトウェアに何度も出くわし、そこからプログラマーが自分だけのためにそれを書いているような気がしました。そして、この製品はすべての人にとって便利である必要があるという結論に達しました。外部のユーザーにとっても、開発プロセスのすべての参加者にとっても内部からです。
モノブランドサイトの番だったとき。実際、開発開始の1か月前に、私のチームと私は、すでに他社が作成したサイトを調査し、2つの大きな問題を提起しました。
まず、企業はユーザーメトリックを無視します。たとえば、製品カードが20秒間開かれ、フィルターが10〜15秒間適用されることに気付きました。つまり、それは購入ではなく、サイトとのある種の闘争であることが判明しました。
第二に、モバイルデバイスでのサイトの表示に問題があります。それらはすべて曲がっています。
そのため、順番が来たとき、まずコンポーネントダイアグラムの作成を開始し、必要なすべてのブロックと接続を描画してから、各ブロックと他のブロックとの接続を個別に最適化する作業を開始しました。バックエンドは、すべてのロジック、マイクロサービスの操作、計算、必要な集計などが彼らの肩にかかっており、フロントはユーザーとの対話の表示とロジックに従事していることに同意しました。
このおかげで、応答のサイズを最小限に抑え、APIを大幅に標準化したため、チームはプロセス内をナビゲートしやすくなり、新しい機能の作業のコードで、契約に非常に迅速に同意できます。
2番目のグローバルビジネスでは、アプリケーションの統計をどのように扱うかについてチームで話し合い、合意しました。スタティックは、突然管理できなくなり、サイズがギガバイトで計算されたときに、他のプロジェクトで複数回問題を引き起こしました。一般に、このフォルダーを破棄することに同意しました。このフォルダーは、アプリケーションによって自動的に生成および収集されます。プロジェクトはすでに約1年前のものであり、すべての静的コンテンツの重量は30MB以下です。
レイアウトに着手したとき、コードの重複がないように開発を行うことにしました。さまざまなデバイスに適応できるようにレイアウトを行いました。Seoのスペシャリストは、この問題について素晴らしい仕事をしており、どのブロックがseoに依存しているか、どのブロックが依存していないかを説明しています。重要なCSSを強調しました。これらすべての最小限のアクションにより、モノブランドのWebサイトのページの重量は平均で20Kb以下であり、ほぼ瞬時に開きます。
予想外の結果もありました。プロジェクトの開始時に、コンポーネントのリストとその機能のリストを使用して、誰もが通常作成する形式ではなく、ドキュメントの編集を開始しました。起動コマンド、依存関係、環境、コードスタイルなど、一般的なすべてを文書化しました。そして、彼らは、概して、自分たちのためだけに、これらすべてを行いました。しかし、すべてが始まったばかりのとき、プロジェクトには5人が参加し、現在は20人です。
そして今では、新入社員を最新の状態にするのがはるかに簡単になっています。数日間ドキュメントを調べてもらうだけで、その後は自分で戦闘ミッションに参加する準備が整います。