゚ンゞニアリングチヌムず補品チヌムの間で効果的な盞互䜜甚を構築したす



@innubis



珟実には、成功する補品は、オヌディ゚ンスの新しいニヌズを理解し、予枬し、敏感にならなければなりたせん。 さらに-新しいトレンドを蚭定したす。 これは必然的に補品開発に関わる゚ンゞニアリングチヌムに矩務を課したす。゚ンゞニアは垞に補品プロセスに没頭し、あらゆる皮類の実隓を行い、同時に効率を高いレベルで維持する必芁がありたす。



Badooの私たちは比范的小さな力私のチヌムでは30人で、品質、蚈画、サポヌトを倱うこずなく、毎月玄100の新機胜を展開しおいたす。 この蚘事では、「銬に乗っお」いる方法ず、゚ンゞニアリングチヌムず食料品の盞互䜜甚をどのように構築したかに぀いお説明したす。



私たちの経隓は他の䌁業にずっおも興味深いものになるず確信しおいたす。 そしお、詊行錯誀ず継続的な改善を通じお開発したアプロヌチが、誰かを本圓に助けるこずを願っおいたすそしお理想的には、プロセスを構築する時間ず劎力を節玄し、望たしい結果をもたらすでしょう。



私の名前はDmitry Semenikhinです。Badoo機胜のチヌムリヌダヌです。 私はここでほが6幎間働いおおり、私の目の前のこの時期に、チヌムずそのプロセスの䞡方の急速な進化補品開発のコンテキストがありたした。



この蚘事のプロセスずは、゚ンゞニアリングチヌムず補品チヌム間の盞互䜜甚のシステム、この盞互䜜甚を改善および簡玠化するために蚭蚈された特定のルヌルず掚奚事項のセットを意味したす。 しかし、䜕かを改善し始める前に、解決したいタスクを決める必芁がありたす。 それらをキヌ倀ず呌びたす。 私たち自身のために以䞋を開発したした





スキヌム1スタヌトアップ



2012幎に圓時の革新的なモバむルの方向でチヌムに参加したした。 5人のバック゚ンド開発者ず1人のプロダクトマネヌゞャヌがいたした圌は顧客でもありたす。 3぀のクラむアントチヌムiOS、Android、およびモバむルWebもありたしたが、䞻にバック゚ンドチヌムの仕事に぀いおお話したす。



タスクず蚈画の蚭定は簡単でした。 プロダクトマネヌゞャヌはビゞネスから芁件を収集し、それらを単玔な技術芁件にたずめ、優先順䜍を付けお、チヌムのタスクのリストを䜜成したした。 さらに、タスクは、他のチヌムの開発者ずのコミュニケヌションを確立し、それらのタスクを実皌働にもたらした開発者に枡されたした。 圓時それが機胜した理由





そしお、私たちはかなり長い間そのようなスキヌムで生きおきたした。 結局のずころ、圌女はスタヌトアップスタむルに可胜な限り近いです 誰もがすべおを知っおおり、誰もがすべおに参加しおいたす。 このプロセスは、可胜な限りシンプルで簡単でした。 「私たちは若かった 」:)



しかし、䜕かがうたくいかなかった



時間が経぀に぀れお、サヌバヌチヌムが成長し、自然に数人のグルヌプに分かれたした。 各グルヌプは特定の領域メッセンゞャヌ、怜玢、通知など、たたはJiraに関しおはコンポヌネントを担圓しおいたした。 䞀方、補品チヌムも成長し、より倚くの顧客を獲埗しおいたす。 この時点で、私たちはスキヌムの欠点のいく぀かを認識したしたが、慣性によっお問題を正確に解決し続けたした。 そしお圌らは...



最初の問題リスト内の分垃は、チヌムが分割された方向ず盞関しおいなかったため、優先リストからタスクを抜出する順序を保蚌できなくなりたした。 したがっお、䞀郚のグルヌプは非垞に忙しく、他のグルヌプは食料品の仕事で過負荷になる可胜性がありたす。 このため、プロダクトマネヌゞャヌは、私たちがランダムに䜜業しおいるか、フル皌働しおいないず感じおいたした。



2番目の問題䞍敎合ず䞍透明床。 プロセスには倚くの参加者がいたため、さたざたなチヌムの䜜業に非同期があり、同意するこずがより困難になりたした。 その結果、チヌムずディスカッション誰が䜕をい぀開始するかの䜜業を同期させお、䌚議に倚くの時間を費やしたした。



䞀般的に、私たちのコアバリュヌはすべおすぐに苊しみたした。



スキヌム2頭の呚りの蚈画



特定された問題に包括的な方法で察凊したした。



たず、各プロゞェクトを段階に分けたむンタヌフェむスを開発したしたたずえば、「プロトコル-請求-サヌバヌAPI-Android-iOS」。その埌、進行状況ず䟝存関係を簡単に確認できたした。 これはJiraの䞀皮のアドオンで、Jiraの組み蟌みツヌルよりも䟿利な圢匏でプロゞェクトの党䜓像を芋るこずができたした。 透明性が向䞊したした。



次に、サヌバヌチヌムは、クラむアントチヌムの蚈画を個別に慎重に監芖し、圓面の蚈画にリストされおいるプロゞェクトのみを開発に取り入れたした。 これを行うために、クラむアントチヌムごずに、サヌバヌチヌムの責任者が任呜され、週に1回「圌の」クラむアントチヌムの蚈画を曎新し、残りのチヌムに通知したした。 私たち自身の経隓から芋おきたように、サヌバヌ偎を事前に開発するこずは非垞に危険です-䞡方の優先順䜍が倉曎される可胜性があり、機胜の芁件も非垞に危険です。 透明性ず速床が向䞊したした。



第䞉に、クラむアントチヌムの蚈画を知っおいれば、たずえば、䞀郚のグルヌプが過負荷であり、他のグルヌプが過負荷でないこずを確認しお、䜜業をより有胜に敎理できたす。 この堎合、補品マネヌゞャヌに優先順䜍の倉曎を䟝頌するか、mejuの䜜業を再配垃したした。 たずえば、ある開発グルヌプが別のオヌバヌロヌドされたグルヌプのタスクに参加しお、優先順䜍リストの正しい順序を確保できたす。 柔軟性がより柔軟になりたした。 :)



スキヌム3垂盎



時間が経っおも、私たちのチヌムは成長を続けたした。 たた、゚ンゞニアの方向コンポヌネントによる分割により、非垞に簡単にスケヌリングできるようになった堎合、補品チヌムはモノリスずしお存圚できなくなるため、方向垂盎にも分割されたした。 たずえば、Comms、Revenue、Core、Next genアプリケヌションがありたした。 ぀たり、補品チヌムは䌚瀟のビゞネス目暙に埓っお分割されたした。これは論理的です。 その結果、1぀の優先順䜍リストではなく、条件付きで4぀の独立した結果が埗られたした。 各補品ラむン内で、タスクの優先順䜍リストが䜜成され、「降順」されたした。





図 1 4぀の独立した補品バヌティカルストリヌムは、゚ンゞニアリング郚門党䜓のタスクリストを圢成したす。 その埌、タスクは、仕様に埓っお適切な開発グルヌプに分類されたす。



さらに、各業皮には、承認された゚ンゞニアリングリ゜ヌスの割り圓おがありたした。 盞察的に蚀えば、垂盎Aは今月の時間の30、B-20、C-40、D-10を受け取りたす。 次に、進行䞭の補品タスクのJiraでスラむスを撮圱し、垂盎に分割しおプロットした最も単玔な統蚈を䜜成したした。 これらのグラフを芋お、どの垂盎に泚目する必芁があるかを決定したした。





図 2各郚門の開発リ゜ヌスの実際のコストを远跡しお、正しい割合を維持したす。



このスキヌムは非垞に機胜しおおり、゚ンゞニアリングリ゜ヌスの䞍足をほずんど垞に経隓しおいるそしお経隓し続けおいるずいう事実がない限り、党䜓ずしお私たちのすべおの䟡倀に察応しおいたすちなみに、 才胜を探しおいたす 。 これにより、補品チヌムは、特定の業皮の特定のプロゞェクトがどの時点で開発に取り入れられるかを理解しおいたせんでした。



垂盎に割り圓おられた割り圓お、およびコンポヌネントごずの瀟内゚ンゞニアリング郚門を考慮するず、垂盎の3番目の堎所にあるタスクが非垞に長い間そこにハングアップしたり、このプロゞェクトを担圓するグルヌプが完了しなかったりするこずがありたす過負荷でした。



説明したす。 このスキヌムでは、補品チヌムは、私たちの郚門を30人以䞊のモノリシックリ゜ヌスずしお認識したした。たずえば、ある郚門が10個の新しいタスクを「萜ずし」たす。 しかし、実際には、これらの10個のタスクはすべお、このグルヌプが担圓する同じ技術分野に属しおいるため、1぀の開発グルヌプに分類できたす。 このグルヌプには5人しかいないずしたす。 この堎合、チヌムが合理的な時間内にそのようなタスクのストリヌムに察凊できなかったこずは明らかですが、補品チヌムにずっおこれは決しお明癜ではありたせんでした。



この状況䞋で、悪いこずが起こり始めたした。 プロダクトマネヌゞャヌは、゚ンゞニアリングリヌダヌに「ハング」プロゞェクトを抌し付け、リストをランダムに䞊べ替え、個々のタスクをリストの先頭に移動し、他のタスクを「プッシュ」し始めたした。 リヌドは垞にストレスにさらされ、党員を満足させようずするず同時に、サポヌトや技術プロゞェクトのために䜕らかの圢でリ゜ヌスを残そうずしたした。 その結果、倚くの補品プロゞェクトが実装されたしたが、䜕らかの理由でこれは満足をもたらしたせんでした。



そのように生きるこずは䞍可胜でした 芁玄するず、私たちがその時に抱えおいた問題をもう䞀床抂説したす。





そしお、行動を起こしたした。



スキヌム4珟圚



たず、内郚構造を補品チヌムに開攟するこずにより、透明性を向䞊させるこずにしたした。 これで、5人がアプリケヌションの1぀の機胜を担圓し、3人だけが他の機胜を担圓しおいるこずがわかりたす。 このようなオヌプンなプロセスには玠晎らしいボヌナスがありたす。同僚のリ゜ヌスを尊重するこずです。 補品チヌムのメンバヌは、誰が䜕で忙しく、どれくらいの時間忙しいかを確認し、タスクを蚈画するずきにこれを考慮したす。



次に、開発チヌムの個別のバックログの圢成に基づいお、より明確な週次蚈画を導入したした。 補品チヌムすべおの業皮が毎週、特定のグルヌプのメンバヌシップに埓っおタスクのリストを䜜成し、優先順䜍を付けたす。 さらに、どちらのタスクがより重芁であるかは互いに合意しおおり、゚ンゞニアリングリヌダヌはすべおの補品分野に察応するためのバランスをずる必芁がなくなりたした。 さらに、グルヌプのリヌダヌは、チヌムの胜力ず提案されたタスクの耇雑さを考慮しお、グルヌプが今週解決し始めるこずができるのず同じ数のタスクをリストの先頭から取埗したす。 その埌、すべおのグルヌプに察しお実行されたタスクの単䞀リストが補品チヌムに衚瀺され、必芁に応じお調敎が行われたす䜕かが远加され、䜕かが眮き換えられたす。 その埌、蚈画は承認されたず芋なされたす。





図 3補品チヌムは、各開発グルヌプのバックログを独立しお圢成したす。 ゚ンゞニアリングリヌドは、1週間で解決できるタスクのみを受け入れたす。



この堎合、1週間の蚈画は、1週間で解決するために着手するタスクのリストであるこずに泚意しおください。 タスクの䜜業を完了するための期限は期日フィヌルドに衚瀺され、開発者がタスクの䜜業を開始した時点で蚭定されたす以䞋で期日に぀いおもう少し説明したす。



結果ずしお埗られたもの





欠点はありたすか もちろん。 たずえば、今では、補品チヌムは圌女にずっお珍しいこずをしなければなりたせん。別のチヌムのリ゜ヌスの蚈画に参加するこずです。 これからは、゚ンゞニアはチヌムメンバヌが新しいタスクを削陀しお完了するたで埅぀ための「ブラックボックス」ではありたせん。タスクバックログを䜜成するずきは、゚ンゞニアリングチヌムの機胜の断片化を考慮しお重芁なタスクをグルヌプに均等に分散する必芁がありたす。 幞いなこずに、Jiraの組み蟌みツヌルはこれを比范的簡単にしたす。



たた、補品チヌムにずっお、10人のグルヌプに提案された10人のうち1週間にリヌドが3぀のタスクしかずらなかった理由がただ明確ではありたせん。 ここで、そのような゜リュヌションの栞心にあるものを口頭で説明するだけですが、それを単玔化しお芖芚化したいず思いたす。 たずえば、すべおの新しいタスクのサむズを暫定的に掚定できたす。 これにより、開発者のリ゜ヌスをより効率的に䜿甚できたす。 プロダクトマネヌゞャヌが特定のタスクの開発に非垞に時間がかかるこずを知っおいた堎合、それを提案するこずはできたせんでしたが、いく぀かの単玔なタスクを優先しお遞択しおいたしたが、党䜓ずしおビゞネスに倧きな圱響を䞎える可胜性がありたす。



これらすべおにもかかわらず、私の意芋では、このスキヌムの利点はマむナス以䞊のものです。 したがっお、今ではそれを䜿甚したすが、すぐに盞互䜜甚メカニズムを完成させるために問題のある領域を分析するこずを止めたせん。



重芁な远加



゚ンゞニアリングチヌムず補品チヌムの間の盞互䜜甚スキヌムの説明の邪魔にならないように、蚀及するのに非垞に重芁ないく぀かのポむントを別の章に入れるこずにしたした。



期日



すべおの補品タスクの期日を蚭定し、このパラメヌタヌのコンプラむアンスを監芖したす。 新しいタスクを受け取った開発者は、たずそれを詳现に分析し、自分の仕事、関連チヌムの仕事、リスクず䟝存関係を評䟡する必芁がありたす。 はい、これは間違いではありたせん。 圌がコヌドの䜜成を終了した日付ではなく、QAでタスクを䞎えた日付ではなく、タスクが実動で衚瀺された日付ではありたせん。



むリダ・アゞェフは、なぜそれが重芁であり、どうやっおこれに至ったのかを圌の蚘事で説明したした。 簡単に蚀うず、私たちにはすべおの開発者がいたす-これは最初から最埌たでタスクを実行する小さなプロゞェクトマネヌゞャヌです。 そしお、圌は結果ず期限に責任がありたす。 期日が守られない堎合は、理由を分析し、これが将来発生しないこずを確認するか、システムのボトルネックを芋぀けお修正したす。 たた、開発者は、プロゞェクトの進捗状況、プロセスで発生する問題、状況チケットの特別なフィヌルドでどのように誰によっおブロックされるかに぀いお、関心のあるすべおの人に簡単に通知したす。



プロゞェクトチヌム



チヌムの機胜分離に基づいた暙準的なタスク開発プロセスの蚈画ず存圚にもかかわらず各郚門は補品の䞀郚を担圓したす、倚くの堎合、このメカニズムは柔軟性ず効率が十分ではありたせん。 最も顕著な䟋は実隓的なタスクです。特定の機胜を開発する必芁がある堎合、そのタむプずロゞックは完党には理解されおいたせん。 初期プロトタむプを迅速に䜜成し、その埌倚くの線集を行っお補品を改善する必芁がある堎合および耇数のチヌムが同時に䜜業する必芁がありたす。



そのような堎合、プロゞェクト期間䞭、必芁なすべおの郚門からのリ゜ヌスがあるクロスファンクショナルプロゞェクトチヌムを䜜成したす。 そしお、倚くの堎合、暙準プロセスをバむパスしお機胜したす。 必芁に応じお、このようなチヌムに個別の蚈画プロセスず開発プロセスが導入され、補品チヌムずやり取りするためのスキヌムが導入されたす。



あずがき



誰もがすべおを知っおいお、誰もがすべおを知っおいる小さなチヌムがある堎合、特別な盞互䜜甚メカニズムは必芁ありたせん。 すべおがそのように動䜜したす



しかし、成長し始めるずすぐに、プロセスの参加者の仕事をよりよく調敎する必芁があり、コミュニケヌションのためのオヌバヌヘッドがありたす。 この時点で、毎週の集䌚、スタンドアップ、シンクなどのようなプロセスを導入する必芁がありたす。



プロゞェクトが成長しお、1぀の郚眲内でも埓業員は䜕も眮き換えるこずができないようになるず、基本的な倉曎が必芁になりたす。これは、構造ず内郚の詳现を考慮したプロセスです。



そのため、スクラムやかんばんなどの既成の方法論を採甚せず、独自の機胜ずアドオンを備えた特定の䞭間オプションを䜿甚しおいたす。 そしお、私たちはプロセスを改善し続け、停止する぀もりはありたせん。お気づきかもしれたせんが、ただ十分な問題がありたす。



そしお、瀺された問題をどのように解決し、解決したしたか コメントで共有しおください。



ご枅聎ありがずうございたした



PS 今週の土曜日、 Techleads MeetupがBadooのモスクワ事務所で開催されたす。 空垭はもうありたせんが、 YouTubeチャンネルで攟送を芋るこずができたす 。 瀟内でプロセスを構築し、ITを管理するトピックに興味がある堎合は、ぜひご参加ください



All Articles