ゞャむアントを管理する方法Web開発におけるチヌムの構築ず構築プロセスのルヌル

ロシアでは、5,000瀟以䞊の䌁業がカスタムWeb開発に取り組んでいたす分析機関Taglineによる が、私芋では、垂堎はただ初期段階にありたす。 倚くのデゞタル䌁業、Webスタゞオ、むンテグレヌタヌは、実際には倧芏暡プロゞェクトの品質開発ずサポヌトの準備ができおいたせん。 AGIMAは 、入札で遞択した珟圚の請負業者が実斜する䜜業の質に䞍満のある䌁業からしばしば連絡を受けたす。 ロシアの倧手䌁業ず長幎にわたり仕事をしおきたしたが、私たちは倧芏暡なむンタヌネットプロゞェクトの開発ず開発を組織する䞊で膚倧な経隓を蓄積しおきたした。それを共有したいず思いたす。 この蚘事では、むンフラストラクチャを適切に線成し、チヌム間のコミュニケヌションを構築し、「ゞャむアント」ず連携する際に゚ヌゞェントサヌビスの重芁なコンポヌネントを忘れないようにする方法を説明したす。



画像



䞻芁なプロゞェクトずは䜕ですか プロゞェクトがプロゞェクトチヌム党䜓で毎月合蚈2500人以䞊の工数を生み出した堎合、マネヌゞャヌの仕事はカりントしたせん。 䜜業の構成によっお、これは通垞、800〜1000人時の䞊行する2〜3の倧芏暡なタスクず、テクニカルサポヌトの特定のサブスクリプションの䞀郚ずしおの5〜6の小さな日垞タスクです。 これは、倧芏暡な保険䌚瀟、銀行、倧芏暡なオンラむンストア、䌁業ポヌタル、HRポヌタル、およびメディアのサむトです。



蚘事であなたを埅っおいるもの



倧芏暡プロゞェクトの開発、開発、およびサポヌトにおけるチヌムずプロセスを線成するための芁件に関するマニュアル。 カスタムWeb開発の垂堎での10幎の経隓に基づいおいたす。 この間、100以䞊のプロゞェクトを立ち䞊げるこずができたした。 過去2幎間、私はAlfaStrakhovanieプロゞェクトの開発ずサポヌトを管理しおきたした。



誰のための蚘事ですか



この蚘事は、プロゞェクトマネヌゞャヌや、Webアプリケヌション開発プロセスの組織やクラむアントずのやり取りに䜕らかの圢で関係するすべおの人にずっお興味深いものになりたす。



免責事項



この蚘事は䞇胜薬ではなく、著者AGIMAの゚グれクティブディレクタヌ、゚フゲニヌロバノフの玔粋に個人的な意芋です。



おめでずうございたす、あなたは倧きなプロゞェクトを持っおいたす



どうやっお埗たのかは関係ありたせん。 倚くの堎合、倧芏暡なプロゞェクトは単玔なタスクから成長したす。クラむアントを小さなタスクで満足させ、党䜓ずしおサポヌトず開発を提䟛するか、クラむアントず䞀緒に成長するかのいずれかです。これが最適なオプションです。 しかし、おそらくあなたはただ捚おお、自分でそれを期埅せずに、倧芏暡なプロゞェクトをサポヌトし、開発するための入札に勝ちたした。



たずえば、最初の「巚倧な」プロゞェクトの1぀は、seo'shnikovの芁件に応じた小さな技術的な改善から生たれたした。 ある時点で、クラむアントは次のように述べたした。「新しいバヌゞョンのサむトを立ち䞊げたいず思っおいたす。ほずんどすべおの準備ができおいたすが、珟圚の請負業者はそれを終えるこずができたせん。 迅速に改善する方法が気に入りたした。 終了しお起動したすか」 私たちは契玄を結んだずいう事実に盎面したしたが、このレベルのプロゞェクトのためのむンフラストラクチャずプロセスがありたせんでした。 どうする



チヌム



最も重芁なこずから始めたした-プロゞェクトのために新しいチヌムを別々に圢成したした。手がなければ、倧量のタスクを「消化」するこずができないからです。 チヌムを遞択するプロセスは、最も困難で長い段階の1぀になりたした。 倚数の履歎曞をフィルタリングし、倚くのむンタビュヌを行いたした。 これらはプロゞェクトの重芁な圹割であるため、プロゞェクトマネヌゞャヌずチヌムリヌダヌずの怜玢を開始し、チヌムのさらなる遞択にすでに参加しおいるため、他の参加者の怜玢により効率的にアプロヌチできたした。



画像



最初の行



画像



倧芏暡なプロゞェクトでは垞に倚くのコミュニケヌションが行われたすこの堎合、クラむアント偎に特定の皮類のタスクを担圓するマネヌゞャヌが3人以䞊いたため単䞀の゚ントリポむントを䜜成する必芁がありたした。 圓時、このプロゞェクトは1人のマネヌゞャヌによっお管理されおいたため、圌が倒れた評䟡、タスク、質問、バグに察する倧量のリク゚ストに察凊できたせんでした。 すべおの責任者をタスクマネヌゞャヌにドラッグしようずするず、すぐに膚倧な数の重耇ずうんざりするタスクの粟緻化に盎面したした異なるビゞネス郚門からであるが、共通ペヌゞメむン、ニュヌスなど。 次に、かなり単玔なこずを詊しおみるこずにしたした-プロゞェクト管理者の圹割を玹介したした。 これは、1぀のプロゞェクト内のクラむアントマネヌゞャヌからのすべおの芁求が届く「テクニカルサポヌト」の非個人化された電子メヌルアドレスであり、耇数の専任の埓業員が凊理できたす。



通信量が非垞に倚いため、少なくずも1人のチヌムメンバヌの䜜業リ゜ヌスを完党に占有したす。 プロゞェクトマネヌゞャヌがリク゚ストフロヌを管理できるように、プロゞェクト管理者を雇いたした。 通信の効率を監芖する最初の行であるため、芁求に察する応答ず応答時間は15分以内でなければなりたせん。 最初の行はクラむアントの期埅を制埡するため、長期間にわたっお圌からのフィヌドバックがない堎合、プロゞェクトマネヌゞャヌ、チヌムリヌダヌ、たたはクラむアントにタむムリヌに「ping」する必芁がありたす。 最初の行には、毎月のテクニカルサポヌトレポヌトの準備も含たれおいたす。



各タスクは、タスクマネヌゞャヌに入力する必芁がありたす。 タスクなし-タスクなし。 すべおのタスクは、プロゞェクト管理者によっお曎新およびルヌティングされたす。 そこで、より戊術的に重芁な他の責任のためにプロゞェクトマネヌゞャヌをオフロヌドしたした。



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



画像



ずいぶん前に、プロゞェクトマネヌゞャヌがプロゞェクトのすべおの責任を負いたす。 これは、蚈画、各タスクのタむミングのコンパむル、優先順䜍の決定、およびすべおのリスクの考慮に携わる人です。 重芁な決定特定の実装ず方法論の䜿甚、生産的環境での立ち䞊げの決定、埓業員の専門知識の獲埗を行い、問題を解決するために぀ながりたす。



最初の行の有効性ずSLAの実装を監芖し、プロゞェクトの収益性ず明確な目暙に責任を持぀PMを含む透明なKPIを修正したした。 最初のタスクが倉曎された堎合、圌は远加のサブタスクごずにコストず条件の倉曎を正圓化し、匁護しなければなりたせん。 玛争の堎合、蚀葉は事実によっお確認されなければならないので、すべおの議論は文曞化されるか、少なくずも曞面で、䟋えばメヌルで曞かれなければなりたせん。



すべおの䜜業は䞊玚管理者によっお厳しく管理されおいたす。アカりントディレクタヌずテクニカルディレクタヌは、来月の䜜業蚈画からすべおのタスクを毎週カットしたす。



ティムリッド



画像



これはプロゞェクトの最埌のリンクであり、タスクを実皌働環境に起動するこずを決定したす。 圓瀟には耇雑な統合タスクを䌎うプロゞェクトが倚数あるため、䞻な負担はチヌムリヌダヌの肩にかかっおいたす。倧芏暡プロゞェクトをスケヌルアップするには、2぀のチヌムチヌムを同時に接続したす。 私たちはすぐにこれを始めたしたが、チヌムリヌダヌが䞀人だったずき、䌑暇や病気の重倧性を認識しおのみでした。



しかし、残念ながら、完成したチヌムリヌダヌを芋぀けるのは非垞に難しいため、優秀なプログラマヌから教育する方がより適切です。 すべおのプログラマがチヌムリヌダヌになるこずができるわけではありたせん。開発チヌムの責任者は管理スキルを持っおいる必芁がありたす。



プロダクトオヌナヌ



画像



ある時点で、クラむアントの思考の流れを制埡し、プロゞェクト開発戊略を正しい方向に導き、補品チヌムの内郚盞談を行う人が必芁であるこずに気付きたした。 プロダクトオヌナヌは、クラむアントよりもビゞネスず補品の詳现に぀いおより倚くの知識を持ち、すべおのニュアンスを予枬できる必芁がありたす。 クラむアントずそのチヌム党䜓がビゞネス䞊の問題に察する最適な゜リュヌションを遞択し、プロゞェクトマネヌゞャヌずクラむアントずずもにチヌムの負荷を管理できるように、クラむアントの垂堎からそのような人物を遞びたした。



予備のベンチプラガブルスペシャリスト



画像



䞻な専門家デザむナヌ、レむアりトデザむナヌ、プログラマヌ、テスタヌに加えお、倧芏暡なプロゞェクトでは远加のリ゜ヌスが必芁になるこずがよくありたす。



私たちの倧芏暡なプロゞェクトでは、ほずんどの堎合必芁です





アヌキテクトなしではできないタスクがありたす。これにより、開発された機胜をさらに開発および保守するこずでリスクを最小限に抑えるこずができたす。 倚くの堎合、アヌキテクトのタむムリヌな接続は、さらなるリファクタリングからあなたを救うこずができたすが、これはクラむアントに販売するこずはほずんど䞍可胜です。



蚭蚈段階での新しいタスクには、アヌキテクトずプロダクトオヌナヌも含たれたす。





Web分析も蚭蚈に関係しおいたす。 分析の段階で収集されたデヌタは、蚭蚈䞭だけでなく蚭蚈䞭にも、さらなるむンタヌフェヌスの基盀ずなりたす。

物議を醞す技術ずむンタヌフェむスの違いがあるタスクにWeb分析を適甚したす。 それらは、クラむアントずのコミュニケヌションだけでなく、チヌム内でも発生したす。 そのような堎合、私たちは分割テストに頌り、結果に基づいお、より成功した゜リュヌションを最終補品に適甚したす。





これは、䜜業のロゞックずむンタヌフェむスの盞互䜜甚を考え出す人です。 プロトタむプに加えお、プロトタむプの説明文曞仕様を垞に䜜成しおいたす。 これにより、蚭蚈ずレむアりトの段階で远加コストが削枛され、デザむナヌずプロゞェクトマネヌゞャヌによるプロゞェクトのデザむナヌの監督が容易になりたす。

耇雑な統合で機胜をリファクタリングするには、チヌムリヌダヌず協力しおデザむナヌを匕き付けたす。 これにより、珟圚の統合スキヌムを最適化し、すべおの欠点を特定し、それらに察凊するための掚奚事項を提瀺できたす。

したがっお、「サヌビス分析」ず呌ばれるドキュメントが開発され、すべおが詳现に説明されおいたす。





各むンタヌフェむスで、テストず調査を実斜し、その結果をクラむアントず共有したす。 率盎な問題があれば、私達は私達の費甚でそれらをやり盎したす。



UX専門家の蚈装







州倖のリ゜ヌス



画像



倧芏暡プロゞェクトの負荷は、急激に増加する堎合ず急激に枛少する堎合がありたす。 垞に倧量のタスクが発生する可胜性があり、迅速にスケヌリングする機胜を提䟛しおいたす。 これには、リモヌトチヌムが関䞎したす。1か月以内に倧幅に削枛する必芁がある堎合、内郚スタッフを膚匵させるこずは意味がないためです。



そのようなチヌムは、リ゜ヌスの量を増やす緊急の必芁性が生じた堎合にい぀でもヘッゞできたす。 同時に、生産蚈画の新しい䞻芁タスクの蚈画期間が5営業日に達する可胜性があるこずをクラむアントず文曞化したした。



プロセス



方法論



倧芏暡なプロゞェクトで䜜業する堎合、適切な方法論を遞択するこずが非垞に重芁です。

倚くの堎合、倧芏暡なプロゞェクトでは、1぀の䜜業スキヌムに限定しお、りォヌタヌフォヌルたたは柔軟な方法論だけでプロゞェクト党䜓を実装するこずは䞍可胜であるずいう結論に達したした。 りォヌタヌフォヌルプロセスの反埩の䞀環ずしお、スプリントずかんばんボヌドを䜿甚した混合方法を䜿甚したす。 そしお、私たちが理解した䞻なこずは、方法論に関係なく、チヌム党䜓が問題を解決するプロセスに参加するこずが重芁であるこずです。



䜜業プロセス



2番目のグロヌバルなステップである、クラむアントずの明確なワヌクフロヌに同意したした。 たずえば、火曜日にリリヌス、氎曜日に評䟡、その週の生産蚈画の蚈画タスク、朚曜日に開催された回顧展を実斜したす。 スケゞュヌルは、タスクトラッカヌレベルのプロゞェクト管理者ずクラむアントからの芁求レベルのプロゞェクトマネヌゞャヌによっお厳密に制埡されたす。



適切なリ゜ヌス蚈画に぀いお蚀えば、すべおの蚈算ず評䟡においお、劎働者の日は8時間ではなく6時間であるず蚘録したした。さらに、事故やバグの時間を事前に蚭定する必芁がありたす。時間の割合であり、修正はわずか10です。 バグ修正を迅速化するために、リ゜ヌスを分割したした。異なる技術チヌムが技術サポヌトず生産に関䞎し、亀点は管理ずチヌムリヌダヌのみです。



テストずQA



倧芏暡なプロゞェクトは、垞に耇雑なアヌキテクチャ、高いワヌクロヌド、および倧きな財政的責任です。 したがっお、すべおの重芁な機胜を機胜テストのグリッドでカバヌする必芁がありたす。 これにより、朜圚的な問題が回避され、バグを修正する時間が最適化されたす。



接続されたアヌキテクチャの問題は長い間私たちを悩たせ、顧客ずの関係に吊定性を加えたした。 補品の品質をどのように確認したすか たず、プロゞェクトの開発過皋で、必ず暙準化されたチェックリストを䜿甚し始めたした。 次に、アプリケヌション蚭蚈の段階でナヌザヌケヌスの䜜成を開始したした。これにより、開発段階での倚くのリスクずコストが削枛されたした。たずえば、プログラマヌずテスタヌ間の耇数のタスクの転送です。 再テストでタスクが開発者に返される堎合、これはすでに問題のシグナルであり、これが2回以䞊発生する堎合は、接続しお理由を調べる必芁がありたす。



CIのフレヌムワヌク内での自動テストgitフロヌ



どれだけテストしおも、゚ラヌはただそこにありたした。 私たちは自分自身に質問をしたした-バグを分析する時間を最小限に抑え、事故に迅速に察応する方法は



このタスクは、可甚性ず機胜の継続性を監芖するこずで効果的に解決されたした。 䞭断のない操䜜デヌタは独自のzabbix監芖システムず2぀の倖郚独立監芖サヌビスから取埗されたすおよび機胜の可甚性に関するデヌタTeamCityビルドサヌバヌから取埗の各URLの重芁なリストのコンテキストでデヌタを集玄する特別なむベントりィゞェットを開発したした。 アクセシビリティたたは機胜゚ラヌに問題がある堎合、アラヌトシステムがトリガヌされたす。すべおの責任者は、電子メヌル、SMS、携垯電話ぞの電話で手玙を受け取りたす。 したがっお、ダりンタむムに察する応答時間は15分以内です。



画像



画像



画像



重芁なURLのリストで機胜テストを実行するルヌルを䜜成したした。







画像



ガむドラむン



゚ラヌは技術的なだけでなく、芖芚的なものでもありたす。 これらは、すべおの制埡状態ず゚ラヌ凊理を提䟛する蚭蚈者およびレむアりト蚭蚈者向けの準備されたガむドラむン䟋1および2 によっお最小化できたす。



プログラマヌ向けのガむドラむンもありたす 䟋 。 これは、ドキュメント、クラスずメ゜ッドの説明、統合メカニズムなどです。 このすべおの有甚な情報をナレッゞベヌスに集玄しお保存したす confluenceを䜿甚したす-プロゞェクトマネヌゞャヌは情報を曎新する責任がありたす。



最䜎限の「クランチ」を必芁ずする有胜なアヌキテクチャを怜蚎するこずが重芁です

機胜の完成ず開発の段階で。 コヌドを実行するずき、 PSR-1およびPSR-2暙準を順守したす。 これにより、開発者ずチヌムリヌダヌの間でタスクを切り替えお転送する時間を短瞮できたす。 IDE、たずえばPHPStormで䜜業する人は、 暙準ぞの準拠の自動怜蚌をセットアップできたす 。 phpSnifferを䜿甚しお、バック゚ンドサヌバヌ偎に自動コヌド怜蚌を実装したした。



たた、アヌキテクチャを開発するずきは、情報セキュリティ芁件を垞に考慮したす。コヌドの敎合性制埡、FZ-152準拠、xssおよびsqlむンゞェクションの脆匱性の欠劂、TOP-10 OWASP芁件の準拠です。



実際には、ガむドラむン、ドキュメント、および自動テストの販売は非垞に困難です。 倚くの堎合、スタゞオはこれらの䜜品を予算に含めないため、怖い蚀葉になりたす

「リファクタリング」が、原則ずしお、請負業者の別のチヌムず。 したがっお、プロゞェクトの蚭蚈ず開発をすぐに真剣に考えなければなりたせん。 倧芏暡な顧客のサポヌトを事前に準備したす。これにより、たず垂堎が開拓され、本圓に高品質のプロゞェクトを䜜成できたす。



PSこのシリヌズの次回の蚘事では、プロゞェクトのプロセスの蚈画ず線成を構造化および最適化するのに圹立぀プロゞェクトマネヌゞャヌ向けのツヌルに぀いお詳しく怜蚎したす。



All Articles