チヌムの効果を評䟡する方法

旅の始たりにあるクヌルなスタヌトアップは、Peregrine Falconに䌌おいたす。 小さなチヌムが急速に勢いを増し、将来に突入し、倚くのタスクを本番に持ち蟌みたす。 Skyengのようにプロゞェクトが有望であるこずが刀明した堎合、数幎埌にはかなり倚くのチヌムが存圚するこずになり、その䞭には、少なくずも䜕かがナヌザヌに届くように、constantlyに火を垞に攟り蟌む必芁がある蒞気機関車が存圚する可胜性がありたす。





チヌムが玠晎らしいかどうかを刀断するための正匏な基準がわからない堎合は、Saint TeamLead ConfでのAlexey Kataevの講挔をご芧ください。 「かなり」、「いくら」、「ひどく」のカテゎリで操䜜するのではなく、技術的な負債を数時間で枬定できるようにしたい堎合。 プロダクトマネヌゞャヌが1か月に3人のチヌムで60のタスクを実行するず考えおいる堎合、この蚘事を芋せおください。 マネヌゞャヌがメトリックを䜿甚しお開発を䞭断し、次のような結果に基づいお察策を講じるこずを提案しおいる堎合「34はチヌムが蚈画に問題があるず思う」、このレポヌトはあなたのためです。







講挔者に぀いお Alexey Kataev deusdeorum は15幎間Web開発に携わっおいたす。 バック゚ンド、フロント゚ンド、フルスタック開発者、チヌムリヌダヌずしお働くこずができたした。 珟圚、 Skyengで開発プロセスの合理化に取り組んでいたす。 分散したチヌムの仕事に぀いお話す際に 、チヌムリヌダヌがよく知っおいる堎合がありたす。



最埌に、フロアをスピヌカヌに枡したす。 コンテキストから始めお、埐々に䞻な問題に移りたしょう。







私は2015幎にSkyengに入瀟し、5人の開発者のうちの1人でした。圌らは党員瀟内の開発者でした。



3幎䜙りが経過し、珟圚15のチヌムがありたす-これらは68人の開発者です。







すべおの開発者はリモヌトで䜜業し、䞖界䞭に散らばっおいたす。



䌚瀟を5人から68人の埓業員に拡倧するずきに必然的に発生する問題を芋おみたしょう。



写真では、Sergeyが開発マネヌゞャヌです。





チヌムが1぀になったら、Sapsanが未来に駆け぀け、生産のために倚数のタスクを実行したした。 しかし、タスクだけでなく、技術的な負債も少しありたす。 それから、ある時点で、予想倖に、もっず倚くのチヌムがありたした。



セルゲむが盎面する最初の質問は、 すべおのチヌムがサプサンであるかどうか 、たたはfireを火宀に投げ入れる必芁がある蒞気゚ンゞンがあるかどうかです。





この質問は重芁です。なぜなら、そのような状況が発生する可胜性があるからです。プロダクトマネヌゞャヌたたはビゞネス担圓者がセルゲむに来お、時間がないず蚀っお、チヌムはうたく機胜しおいたせん。 しかし実際には、問題はチヌム内だけではありたせん。 問題は、チヌムずビゞネスの関係、たたはビゞネス自䜓にある可胜性がありたす。目暙を適切に蚭定できないか、蚈画が楜芳的すぎる可胜性がありたす。



チヌムがクヌルかどうかを理解する必芁がありたす 。





2番目の質問は、チヌムのリ゜ヌスです。補品に察しおどれだけのタスクを匕き受けるこずができたすか。 補品には近い将来に倚くの蚈画が垞にあるため、この問題は重芁です。 チヌムがこれらの蚈画に察凊するかどうか、たたはタスクの半分を捚おる必芁があるかどうかを理解するこずが重芁です。 たたは、すべおのタスクを完了するためにさらに数人を雇う䟡倀がありたす。





3番目の質問は、どれだけの技術的負債を抱えおいるかずいうこずです。 これは重倧な問題です。なぜなら、その量が制限倀を超えるず、最終的に私たちの列車はどこにも行けなくなるからです。 チヌムを解任し、最初からプロゞェクトを開始する必芁がありたすが、これは蚱可したせん。





最埌に- すべおのチヌムが列車ではなくサプサンであるこずをどのように確認したすか



1.チヌムのクヌルさを決定したす。



もちろん、最初に頭に浮かぶのは、いく぀かのメトリックを枬定するこずです 今、私たちの経隓ず、私たちが䜕床も䜕床も間違っおいた方法に぀いおお話したす。





たず、 速床を監芖しようずしたした-スプリントのためにロヌルアりトするタスクの数。 しかし、チヌムの半数にはスプリントがたったくなく、カンバンがあるこずが刀明したした。 スプリントがある堎合、タスクは時間単䜍たたはストヌリヌポむントで評䟡されたす。 タスクを実行するチヌムがただ2぀ありたす。カンバンがなく、スクラムが䜕であるかがわかりたせん。



これはデヌタの䞍敎合です。 完党に異なるデヌタで1぀の数倀を蚈算しようずしおいたす。 同時に、すべおのチヌムが同䞀になるようにスプリントをいたるずころに䜜成するず、非垞に費甚がかかりたす。 1぀のメトリックを蚈算するには、プロセスを倉曎する必芁がありたす。



私たちは、さらにいく぀かのオプションを詊しおみお、単玔な指暙- プランの実装 -を考えたした 。 これも費甚がかかりたすが、補品蚈画のみを同䞀で䞀貫性のあるものにする必芁がありたす。 誰かが圌らをJiraに導き、誰かがGoogleスプレッドシヌトの誰か、誰かがグラフを䜜成したす。1぀の圢匏に倉換するこずは、チヌムのプロセスを倉曎するよりもはるかに安䟡です。



四半期ごずに、チヌムがビゞネス芁件を満たしおいるかどうか、完了した蚈画タスクの数を確認したす。





むンシデントの数のカりントも倱敗したした。



䌚瀟に損害を䞎えたすべおの倱敗したロヌルバックたたはバグ、および事埌を蚘録したす。 セルゲむはチヌムリヌダヌずしお私のずころに来お蚀いたした。「あなたのチヌムは最も倚くの転倒を認めおいたす。 なぜそうなのか」ず私たちは考え、芋たずころ、私たちのチヌムが最も責任があり、すべおの転倒を蚘録する唯䞀のチヌムであるこずが刀明したした。 残りは、急萜したずいう原則に基づいお行動し、倒れたずは芋なされたせん。



ここでも問題は、デヌタの䞍敎合ず䞍十分なサンプリングです。 着陞するだけのチヌムがありたす-決しおクラッシュするこずはありたせん。 このチヌムの方が優れおいるずは蚀えたせん。プロゞェクトがより安定しおいるからです。



第二に、私のお気に入りのトピックは認知バむアスです。 認知の容易さは、私たちにずっお簡単に思える結論を䞋し、すぐにそれを信じ始めるずきです。 批刀的思考は含たれたせん。転倒が倚い堎合、それは悪いチヌムを意味したす。



むンシデントの数ずたったく同じメトリックに到達したしたが、その実装を修正しただけです。 すべおの転倒が蚘録されるプロセスを䜜成したした。 毎月末に、むンシデントの隠蔜に興味のない人に質問したす。これはQAず補品です。これはチヌムの障害が原因で発生した問題の完党なリストです。 圌らは私たちが䜕かを萜ずしたずきを芚えおおり、このリストを補足したす。





䞖論調査にも問題がありたす。 それは超普遍的なツヌルのように思えたす-私たちはチヌムチヌム、補品、チヌムリヌダヌ、顧客にどんな問題があるかをむンタビュヌしたす。 圌らの答えに埓っお、グラフを䜜成し、すべおを芋぀けたす。 しかし、倚くの問題がありたす。



たず、閉じた質問をするず、これらのデヌタから結論を匕き出すこずはできたせん。 たずえば、「チヌムは蚈画に問題がありたすか」ず尋ね、34が圌らが持っおいるこずずそれをどうするかを蚀っおいたすか 「むンフラストラクチャを備えたチヌムの問題は䜕ですか」ずいう自由回答圢匏の質問をするず、誰もが曞くのが面倒なので、空の答えが返っおきたす。 これらのデヌタから結論を匕き出すこずはできたせん 。



このアむデアを開発したした-最初にスクリヌニングずしお調査を実斜し、次に問題を正確に理解するためにむンタビュヌを実斜したす。 むンタビュヌに぀いおは少し埌で説明したす。



私は3぀の䟋を挙げたしたが、実際には数十のメトリクスを詊したした 。



珟圚は次のもののみを䜿甚したす。





最も高䟡なものは実装であるため、すべおのチヌムでこれらの単玔なものを枬定するこずさえ蚀うず、私は欺かれたす。 特に、15の異なるチヌムが存圚する堎合、補品に「はい、たったく必芁ありたせん タスクを展開する必芁がありたすが、今はそれではありたせん」 すべおのチヌムで1぀の数倀を枬定するこずは非垞に困難です。



むンタビュヌ



開発者ずのむンタビュヌに぀いお簡単に説明したしょう。 私はいく぀かの蚘事を読み、食料品コヌスを通過したした。 ナヌザヌ調査ず顧客開発に぀いおはたくさんありたす。 私はそこからいく぀かのプラクティスを取りたしたが、それらは開発者ずのコミュニケヌションに非垞によく圓おはたりたした。



チヌムが抱えおいる問題を芋぀けるこずが目暙である堎合は、たず、答えを探すタヌゲットを絞った質問を䜜成する必芁がありたす。 ぀たり、30個の質問を投げるだけでなく、答えを探しおいる2〜3個の質問を遞択したす。 たずえば、チヌムにむンフラストラクチャの問題がありたすか。 ビゞネスずチヌム間のコミュニケヌションの確立方法。



この堎合、質問は次のずおりです。





別の非垞に良いアプロヌチは、 優先順䜍付けです。 チヌムラむフにはさたざたな偎面がありたす。 あなたは、圌の意芋では、どれが最もクヌルで同じたたであり、おそらく改善されるべきである埓業員に尋ねたす。



本「むンタビュヌ」のむンタビュヌに関する章から取った別のアプロヌチがありたす。 あなたのナンバヌワンの問題を解決しおください-「このような質問をしおください」補品に尋ねたら 、どう思いたすか、どのような問題に名前を付けたすか「これにより、開発者は私の立堎からではなく、党䜓像を芋おすべおの問題を芋るこずができたす



2.リ゜ヌスを倧切にしたす



次に、リ゜ヌスの評䟡に぀いお説明したす 。



補品のアプロヌチから始めたしょう。通垞、チヌムのリ゜ヌスをどのように評䟡するかです。 3人で、1か月に20営業日です。日数を掛けるず、60のタスクが埗られたす。







もちろん、誇匵したすが、通垞の補品ではこれが60日間の開発期間ずしお増加したす。 しかし、これも間違っおいたす。60日間で60日間のタスクを誰もロヌルアりトするこずはありたせん。 スクラムでも、フォヌカスファクタヌを怜蚎し、0.2などの特定のマゞックナンバヌを掛けるこずをお勧めしたす。 実際、反埩から反埩たで、12、17、10のタスクを展開したす。 これは非垞に倧たかな評䟡だず思いたす。



リ゜ヌスを評䟡するための独自のアプロヌチがありたす。 たず、劎働時間におけるチヌムの総リ゜ヌスを考慮したす。 私たちは開発者に䜕時間もかけ、䌑暇や䌑暇を奪いたす。 750を取埗するずしたす。しかし、すべおの開発が開発そのものではありたせん。





䞊蚘の実際のデヌタは、コマンドの1぀の䟋です。





補品はこれらの63.1を圓おにできたすか いいえ、補品タスクは䞀郚にすぎないため、できたせん。 バグの修正ずリファクタリングのためのクォヌタ玄20がただありたす。 これは、timlidが配垃するものであり、補品はこの時間に䟝存しなくなりたした。





補品のタスクに぀いおも、すべおのタスクが補品が蚈画したものではありたせん。 リリヌスのために緊急の助けを求めおいる他のチヌムの補品タスクがありたす。 他のチヌムからのタスクの玄8〜10を芋積もっおいたす 。





そしお今、私たちは287時間を持っおいたす 成瞟に垞に適合しおいれば、すべおがクヌルになりたす。 しかし、このチヌムでは平均の過剰消費がカりントされたした-1.51、぀たり、平均しお、タスクは予想よりも1.5倍時間がかかりたした。





䞻なタスクを完了するために、合蚈750時間が189時間残りたす。 もちろん、これは近䌌倀ですが、この匏には倉曎可胜な倉数がありたす。 たずえば、1か月をリファクタリングに費やす堎合、この倀を代入しお、䜕に頌るこずができるかを調べるこずができたす。



私は䞀日䞭これに専念したした-私はタスクを取り、Excelで平均時間を蚈算し、分析したした-私は倚くの時間を費やし、二床ずそれをしないず決めたした。 毎回自分の手でそれをしないように、これにはいく぀かの迅速なアプロヌチが必芁です。



JiraずEazyBIのプラグむンを勧められたした。 これは非垞に耇雑なツヌルです。たたは、十分な胜力がありたせんでしたが、途䞭でgaveめたした。



レポヌトをすばやく䜜成する方法を芋぀けたした。





タスクトラッカヌから既知の任意のDBMSPostgreSQLは圓瀟にデヌタをアップロヌドし、アナリストにすべおの蚈算を䟝頌したす。 ディマがあり、圌はすべおを2時間で蚈算したした。





同時に、圌は倚くの远加デヌタを提䟛したした-開発者の残業、タスクの皮類の残業、いく぀かの係数、圌の掞察ず新しい仮説に぀いお教えおくれたした-楜しくおスケヌラブルですすべおのチヌムですぐに䜿甚できたす。



リ゜ヌスを増やす方法



チヌムのスピヌドを䞊げる方法に぀いお -開発者の数を増やすこずなくリ゜ヌスを増やしたす。



たず、䜕かを加速するためには、たずそれを枬定する必芁がありたす。 通垞、2぀のメトリックをカりントしたす。



  1. 反埩のタスクの初期芁玄評䟡時間単䜍。 たずえば、1週間に100時間タスクを展開したした。

  2. たた、平均ロヌリング時間は、タスクが開発に入っおから実皌働するたでの時間である堎合がありたす。 これはよりビゞネス䞊の指暙であり、開発者ではなく補品にずっお興味深いものです。



週末に曞いたボットArsenyに話すのは飜きたせん。 毎週圌はダむゞェストを投皿したす-どれだけのタスクをロヌルアりトしたか。







ここには2぀の興味深いこずがありたす。



  1. 私がオブザヌバヌ効果ず呌んでいるもの-䜕らかの指暙を評䟡しお、すでにそれを倉曎しおいたす。 このボットの䜿甚を開始するずすぐに、反埩䞭に行うタスクの数を増やしたした。

  2. メトリックはやる気にさせる必芁がありたす 。 たず、スプリントする時間がないこずを瀺すこずから始めたした。 私たちは10、20間に合わなかったこずが刀明したした。 これはたったく動機付けではなく、オブザヌバヌ効果はありたせん。



速床は遅れた指暙であり、盎接圱響を䞎えるこずはできたせん。 それは䜕かを瀺しおいたすが、速床に圱響を䞎えるこずができるメトリックスがありたす。 私の意芋では、2぀の䞻なものがありたす



1.評䟡タスクの粟床。

ここで、最初の評䟡に応じおタスクの実際の時間を蚈算した担圓アナリストディマの助けを借りたした。





これは実際のデヌタです。 䞊の図はタスクを完了する実際の時間のグラフで、䞋の図は掚定倀です。



Joel Spolskyは、タスクごずに16時間が制限であるず䞻匵しおいたす。 私たちにずっおは、12時間埌に評䟡が意味をなさないこずは明らかであり、分散が倧きすぎたす。 私たちは本圓に゜フト制限を導入し、タスクを評䟡しないように12時間以䞊詊みたした。 その埌、分解たたは远加調査のいずれか。



2.時間の消費。぀たり、開発者が費やさない可胜性のあるものに時間を費やす堎合。

私たちのチヌムの1぀では、最倧50の時間がコミュニケヌションに費やされたした。 その理由を分析し、理解し始めたした。 問題はプロセスにあるこずが刀明したした。すべおの顧客が開発者に盎接質問し、質問をしたした。 プロセスを少し倉曎し、この時間を短瞮し、速床むンゞケヌタヌを改善したした。



あなたの堎合、これは必ずしも通信であるずは限りたせん。たずえば、配備やむンフラストラクチャの時間になるかもしれたせん。 ただし、このための前提条件は、すべおの開発者が時間を蚘録する必芁があるこずです。 Jiraで時間を蚘録しおいる人がいない堎合、これを実装するのは明らかに非垞に費甚がかかりたす。



3.技術的負債ぞの察凊



「技術的矩務」ず蚀うずき、私はそれをがやけたものずしお芖芚化したす-それがどのように枬定できるかは明らかではありたせんか





チヌムの1぀で正確に648時間の技術的矩務を負っおいる堎合、あなたは私を信じたせん。 しかし、私たちがそれを枬定するアルゎリズムを教えたす。





四半期に䞀床、チヌム党䜓ずしおリファクタリングミヌトアップず呌ばれたすカヌドを䜜成したすコヌドで束葉杖私たちや他の人が芋たもの、疑わしい決定、その他の悪いこず䟋えば、ラむブラリの叀いバヌゞョン-䜕でも。 これらのカヌドの束を生成した埌、それぞれに解決策を曞く-それをどうするか。 技術的な矩務ではないため、たたはラむブラリのバヌゞョンを曎新したり、リファクタリングする必芁があるなどの理由で、䜕もしないかもしれたせん。 次に、Jiraでチケットを䜜成したす。「これは問題です。これが解決策です。」



そしお今、私たちはJiraに150のチケットを持っおいたす-それらをどうしたすか







その埌、1人の開発者に察しお10分かかるアンケヌトを実斜したす。 各開発者は1〜5の評䟡を䞎えたす。1-「い぀か次の人生でやる」、5-「今すぐやらなければならないので、かなり遅くなりたす。」 この評䟡をJiraのチケットに盎接远加したす。 「リファクタリングの優先床」ず呌ばれるカスタムフィヌルドを䜜成し、優先床の高い技術的な負債ず問題のリストを取埗したした。 最初の10〜20を評䟡し、テヌルに平均評䟡を掛けるず150枚のチケットすべおを評䟡するには遅すぎたす、 技術的な負債が数時間で埗られたす。



なぜこれが必芁なのですか この評䟡は四半期ごずに実斜したす。 第1四半期で700時間を過ごした埌、たずえば800時間になった堎合、すべお正垞に動䜜しおいたす。 そしお、それが1400になった堎合、脅嚁があるこずを意味し、リファクタリングの割り圓おを増やす必芁がありたす。これは、1か月たたはすべおの時間の40をリファクタリングするずいうビゞネスに同意するものです。



さお、技術的な負債の問題を解決したした。それは鍵ず鍵の䞋にありたす。





しかし、その発生に぀ながる理由に぀いお話したしょう。 これはほずんどの堎合、コヌドレビュヌが䞍十分です。



悪いコヌドレビュヌ



䞍十分なコヌドレビュヌの䞻な理由の1぀は、バスファクタヌです。 bus-factorを圢匏化するこずを孊びたした 。 私たちはチヌムを取り、このチヌムに関連する分野のリストを曞きたす。たずえば、プラットフォヌムチヌムの堎合は、ビデオコミュニケヌション、挔習の同期、ツヌルです。 各開発者は1〜3の評䟡を䞎えたす。





興味深いこずに、䞀郚の分野ではチヌムに専門家が1人もいなかったため、これがどのように機胜するのか誰も知りたせんでした。



バス係数の問題をどのように解決したしたか



次に、各゚リアの䞭倮倀を蚈算し、定期的なチヌム䌚議で䞀連のレポヌトを実斜し、専門家がそれらの゚リアに぀いおチヌム党䜓に話したした。 もちろん、この方法はあたりうたくスケヌリングできたせんが、たず、これらのレポヌトのビデオがあり、次に、非垞に高速な方法です。 珟圚、チヌム党䜓がビデオ通話の仕組みをある皋床理解しおいたす。 䞀郚の領域では、ただドキュメントを䜜成しおいたせんが、ドキュメントを䜜成するタスクを実行しおいたす。 い぀か曞きたす。





次に、十分な時間がない堎合のコヌドレビュヌに぀いお説明したす。 珟圚、レビュヌコヌドレビュヌを行っおいる実隓䞭です。 毎月末に、ランダムプルリク゚ストを遞択し、開発者にコヌドレビュヌを再床行い、できるだけ倚くの問題を芋぀けたす。 したがっお、誰かがあなたの埌にダブルチェックするこずを知っおいるずき、あなたはレビュヌに察しおより敏感になりたす。 たた、チェックリストも远加したした-ご芧になりたしたか、これずあれ-䞀般的に、コヌドのレビュヌを改善するよう努めおいたす。



それがすべお技術的な矩務です。 最埌の質問が残っおいたす 。 すべおのチヌムがサプサンズであるこずを確認する方法です 。



4.すべおのチヌムをサプサンに倉える



これを行う最も簡単な方法は、最初からです。 新しいチヌムが結成されたずき、特に新しいチヌムリヌダヌが到着しお人材を採甚したずきは、すべおのプロセスに぀いお同じクロスレビュヌを行いたす。 ぀たり、蚈画、最初の技術的゜リュヌション、技術スタック、すべおのプロセスなど、すべおをチェックするチヌム゚キスパヌトを採甚したす。 したがっお、䜜業を開始するチヌムに正しいベクトルを蚭定したす。 費やした時間のために非垞に高䟡ですが、それは報われたす。



ここでも、䞀定の前提条件がありたす。GoogleSuiteを䜿甚しお、すべおの䌚議をビデオに蚘録したす。すべおの䌚議、すべおの蚈画、すべおの回顧、い぀でも確認できたす。



2番目の安䟡な枬定基準は、もちろんチェックリストです。





䞊蚘はチェックリストの䟋ですが、実際にはもっず長いです。 チヌムごずに、チヌムに自動テスト、継続的むンテグレヌションなどがあるかどうかを巚倧なテヌブルに蚘録したす。



ただし、これらのチェックリストには問題がありたす。䜜成した翌日に期限が切れたす。 管理アシスタントが問題の解決を支揎したす-これらは、日垞的なタスクを蚭定できる人です。 タスクを蚭定し、曎新できるものを自分で曎新したす。曎新できない堎合は、チヌムリヌダヌを曎新したす。 したがっお、チェックリストの関連性を維持したす。



たずめるず



私たちは話したした





ボヌナス



レポヌトには、アレクセむがリク゚ストに応じお共有する準備ができおいる資料は含たれおいたせんでした。





これらのリストを取埗し、チヌムのパフォヌマンスの評䟡の詳现に぀いおは、Telegram@ ax8080たたはFacebookで Alekseyにメヌルしおください。



2月25〜26日にモスクワで開催されるチヌムリヌダヌのためのTeamLead Conf 2019カンファレンスでの論文募集は既に開催されおいたす。 レポヌトの提出方法ず参加条件の抂芁は次のずおりです。 これは 、申し蟌みフォヌムぞのリンクです。



そしお私たちず䞀緒にいおください 開発チヌムの管理に関する蚘事ずビデオを匕き続き掲茉したす。 ニュヌスレタヌでは、有甚な資料を数週間収集し、䌚議のニュヌスに぀いお曞きたす。




All Articles