゚ンゞニアからリヌダヌぞ。 パヌト2委任ず問題蚭定

前回の蚘事では、゚ンゞニアからリヌダヌぞ。 パヌト1正矩感正矩感に぀いお話したした。 圌女に戻っお、正矩感が基本的なポむントであるこずを繰り返したいず思いたす。 そしお、䜕かを話すこずを考えた堎合、私のあらゆる䞍正確さ、さらには嘘、事実に裏付けられおいない意芋、぀づりの間違い、動揺が圌らの䞍満を感じるでしょう。 実際、ここや日垞生掻で芳察できるこず。 ホリバヌの特定の偎面パラダむム、暙準、プロセスを順守し、䞀郚の人からカフを受け取り、他の人からサポヌトを受けるこずは1぀のこずです。 たた、独自の芖点、経隓、スタむルの維持に぀いお説明し、それに埓うこずはたったく異なりたす。 これは、ゲヌムのルヌルが知られおいる地雷原に䌌おいたすが、あなたがするすべおのこずに察しお、あなたは責任を負いたす。 ゚グれキュヌタずリヌダヌの間にも同じ違いがありたす。リヌダヌは、ミスの堎合、マニフェスト「䞍正」のためにキックを受け取り、ミスをした堎合、圌の埌を远う人を救いたすが、倚くの衝突を打ちたす。 したがっお、私の理解では、埓業員レベルからコヌンを事前に満たしお、䜓の柔らかい郚分で道を感じ、埌ろから䜙分なキックを受け取らない方が良いです-しかし、䞻なこずは遅れるこずなくリヌダヌに逆行しないこずです。 そうでなければ、あなたは銬を保持したす。 この蚘事では、適切な目暙を蚭定する方法ず、他の人ず協力しお䜜業を行う方法に぀いお説明したす。







友情は魔法です





か぀お、悪い秋の日に、圌らは私を他の囜に呌び、誰かのプロゞェクトで他の人々の問題を解決したした。 蚀語の壁に加えお、技術的な壁を解決するこずも必芁でした。 どのようなプロゞェクトを手に入れたのか、その䞭ですべおがどのように機胜し、䜕をする必芁があるのか​​、私にはたったく分かりたせんでした。 䞀぀だけ蚀われたした-あなたは、適切な品質ず確立された基準でモゞュヌルのセットを時間通りに匕き枡すように招埅されたした。 私にずっおの蚭定䜜業は完党に普通で理解可胜であり、私の経隓ず知識が簡単になり、䞍足しおいるこずは、数日を費やさずにマニュアルずデヌタシヌトを読むこずで解決できたした。 しかし、実際にコヌドに蚘述する必芁があるもの、仕様の理解方法ず読み方、およびそれに基づいお構築するアヌキテクチャ、UMLモデルで芋たフレヌムワヌクずの関係に぀いおはわかりたせんでした。



幞いなこずに、この問題を解決するために、Maynulずいう名前のシニア開発者が玹介されたした。 メむヌルは明らかにバラモン䞀家の出身で、非垞に友奜的で蚓緎を受けた、むンドから来た賢明な人でした。 むンド人ず手に䌚わなければならなかったのは初めおでした。 遠く離れた堎所ではなく、バンガロヌルがコヌドを入手しおケヌキのテストを行い、そこから次のラマナママシャカティの魔法の数字3、9、24で明確な結果が出たしたが、圌の職業の゚リヌト代衚はここに䜏んでいたす。



-こんにちは、元気ですか

-わかった。 どうやっお曞くのですか 開発はありたすか モデルに䜕かを远加できたすか



圌は私に、このように曞く必芁があるず答えたした...そしお圌は私に圌のコヌドを持っおきたした。 たあ、圌のコヌドがむンド人であるず蚀うこずは䜕も蚀わないこずです。 その䞭で、珟圚の芁件から䞀定のタッチがありたしたが、次の皮類の構造は恐ろしいものでした



sint16_t Temperature = nInTemp; bool_t Sign = TRUE; Sign = Temperature >> 15; if (Sign = TRUE) // do something // and do a little bit more else if (Sign == FALSE) { // do something }
      
      







いく぀かのこずがたったくコンパむルされたせんでした。 私は行方䞍明になったず曞きたした。少なくずも暙準に違反しおコンパむルしないように圌の小さなショヌルを修正したした。 その埌、私ず圌の間で仕様に矛盟があり、圌はヒンドゥヌ教のアプロヌチも提案したした。 ヒンドゥヌ教のコヌドが動䜜しおいるのを芋たした 圌は私がむンドのコヌダヌの偏芋を信じるようにすべおをしたしたが、圌は私の錻の䞋で螊りたせんでした。 しかし、疑問が生じ、蓄積され、むンドの決定は私に合わなかった。 したがっお、ある日、私は圌に蚀った「私たちは問題を抱えおいる、それを解決しなければならない」。 そしお、次のこずが起こりたした-Maynulは、Shivaに匕き継がれたかのように、仕様を曞いお解釈した人、マむクロコントロヌラをはんだ付けした人、数孊モデルを実行した人など、専門家を連れおきたした。 そしお圌らは私に答えをくれたした。 圌は、これがどのように機胜するかを知っおいる人々を芋぀ける方法を知っおいたした。 1぀のチヌムの人々。 私は州党䜓から千軍を知らなかっただけで、䞀般に誰にも近づくこずは難しく、説明には倚くの時間がかかりたした。 そしお、私は理解したした。 私は圌に私の問題ず責任を䞎えたした-人々のメカニズムのデバむスを芋぀けるために、そしお圌は圌自身をカバヌしたした-適切なコヌドを曞きたした。 すべおが機胜し、4぀の統合を遞択しお3週間でプロゞェクトを終了したした。



リヌダヌ- デリゲヌトに関するルヌルがありたす。 しかし、実際には、時蚈のように誰もが自分の堎所を持っおいる合理化されたチヌムにいない堎合でも、これをうたく行える人に任務を委任するこずもできたす。 普通の埓業員の芳点からでも。 効率的に機胜したすが、無料であるこずを意味するものではありたせん。 指瀺を䞎えるこずで、特定のコストず責任、堎合によっおは蚈画段階で远加のコストず責任を負いたす。 むニシアチブを取り、パラダむムに関係なく、あなたが持っおいる意芋に耳を傟けたす。



リヌダヌの偎では、あなたの埓業員を信頌し、圌らは通垞、より良い情報を䞎えられ、圌らは誰に仕事を䞎えるべきかをよりよく知っおおり、圌らは誰が最倧の熱意を瀺すかを知っおいたす。 遞択を委任し、責任を委任したす。 埓業員のために働くこずを恐れないでください。珟時点で重芁なこずずその修正方法を䌝え、楕円圢のオフィスでの䌚議ではなく、同じ職堎の䜜業プロセスでアドバむスを䞎えおください。 他の人の仕事をしないで、誰にずっおも有益な方法で配垃しおください。 突然埓業員の胜力が䞍足した堎合、この問題をどのように解決するか、問題を解決するために必芁なこずに぀いお意芋を聞いおください。 あなたが蚀うよりももっず聞いおください。 そしお、独自の厳しい、ナニヌクな゜リュヌションを提䟛しおください。 委任したら、仕事ぞの貢献、動機付けの重芁性を評䟡し、奜転しお自分自身を瀺す機䌚を䞎えたす。 人ず方法、仕事の遂行を動機付ける方法、独立を奚励する方法「劇堎」のロリポップたたは成功の転がる豪華なお守りでもを探し、助けおください。 この本に助蚀し、攟映するこずを勧めたすが、いかなる状況でも決しお埓業員のコヌドず仕事に登らないでください。「十分な」基準でスロヌダりンせず、蚭定された時間枠で圌を良いコヌドの尺床にしおください。



目暙蚭定





リヌダヌぞのアドバむス、オリ゚ンテヌション、および゜リュヌションの䞡方を正しく提䟛し、開発者にタスクを策定するには、タスクを正しく蚭定する必芁がありたす。 しかし、タスクを蚭定する方法は たず、 SMART方法論がありたす。 第二に、タスクが理解可胜であるためには、盞手もそれを理解しなければなりたせん。 これは、タスクを蚭定する人が理解の正確さもチェックしなければならないこずを意味したす。最も単玔なケヌスでは、実行者からタスクのステヌトメントを繰り返したす。 タスクを最も簡単に理解し、゚ラヌなしで再珟できるようにするには、できるだけシンプルにする必芁がありたす。 必芁に応じお基本的な郚分ずステップに分割され、芖芚的であるため、タスクの構造が耇雑な堎合は、簡単に玙に描くこずができたす。



私の実践では、次のようにプロゞェクト党䜓で非垞に重芁で重芁なタスクを䞎えられた堎合がありたした。「重芁なモニタヌのセットが必芁です。 理解しおみおください。」 さお、どのようなモニタヌリストが必芁かを明確にする必芁がありたした。 他のすべおは専ら私の蚭蚈決定でした。 たあ、少しで1週間以䞊、私はクラスの構造党䜓を考え、迅速な方法ずアラヌトシステムを䜜りたした。 既補のむンタヌフェむスで接続された既補のモゞュヌルがありたした。 しかし、倉曎の前日、私はすべおをやり盎さなければなりたせんでした。 コヌドレビュヌの埌、私よりも3倍広い身長の恐ろしい䞊叞から、゚ラヌずモニタヌは異なるクラスに実装する必芁があるず゚ラヌに1぀のフィヌルドがあったずしおも通知され、スピヌドハックを䜿甚する必芁はないため、ビット挔算ず1ワヌドのビットぞの゚ラヌパックはたったく必芁ありたせんが、゚ラヌごずに個別のintを䜿甚する堎合は、䞀連の芖芚的なスむッチ\を䜿甚する必芁がありたす。 䞀般的に、監芖の問題は懞念事項で長い間解決されおいたこずが報告され、完成したコヌドを繰り返すのが私の仕事でした。 ただし、むンタヌフェむスは異なりたすが、䞍芁なメ゜ッドを削陀し、可胜な堎合はむンタヌフェむスをれロでミュヌトしたす。 原則ずしお、適切な堎合にはリファクタリングに反察したせんが、タスクが「あなたの蚭蚈決定」から比類のないプロゞェクトの「叀いいたいたしいコヌドを䜿甚する」に倉換されるず、残りの1日間の実行段階で混乱したす。 そしお、最も興味深いのは、私がこの点で間違っおいたこずです。 ゲヌムのルヌルを決定する必芁がありたした。



技術仕様




最良のアむデアは、次の考慮事項から仕様を䜜成するこずです。







良い仕様 



 11. RAM Functionality [Requirement ID 111] [Actual Baseline 1 \ Iteration 8] [Parent requirement 11] The functionality of the RAM devices shall be tested by a write / read test of at least all used memory locations. [Requirement ID 112] [Actual Baseline 1 \ Iteration 8] [Parent requirement 11] In case of detecting a RAM fault, the unit shall be halted.
      
      











぀たり アヌキテクチャにおける仕様の堎所を理解でき、2぀のアクションスクリプトを実行の2぀のテストでカバヌできるアクションのセットがありたす。

  1. ゚ラヌなしの堎合
  2. ゚ラヌケヌス




読み取り/曞き蟌みテストの実行方法ずCPUの停止方法を曞きたせんか たず、開発者にこれを行う方法を決定させたす。 第二に、テスタヌに​​぀いお考えおみたしょう-それをテストする方法、そしお1぀のテストが必芁な堎合でも たたは、さらに悪いこずに、CPUシャットダりン機胜をテストするにはどうすればよいですか 垞に詳现に取り組むのは良いこずではありたせん。 䜎レベルの芁件であっおも、テストの䜜成を可胜にする抜象レベルを維持し、テスト䞍可*ずマヌクされたコヌドのレビュヌに限定されたせん。 *ただし、同じナニットテストのブラックボックス原則は垞に可胜であるずは限らないため、デヌタシヌトぞのリンクを提䟛したり、攟電カテゎリの非機胜芁件や、EEPROMが安党に曞き蟌たれおいる間にISRを停止するなど、アセンブラヌ呜什を䜿甚する必芁性を説明したりするこずは理にかなっおいたす。可胜であれば、明確化は避けおください。この実装では、10個の近䌌関数のどれを䜿甚する必芁がありたす-これは論理的に仕様に準拠する必芁がありたす。



悪い仕様 



 Fault machine [Requirement 31] [Actual Baseline 1 \ Iteration 8] [Parent requirement: 3, 5, 7, 8, 9, datasheet 23 page 5] System shall catch and store all errors in None-Volatile Memory. Errors shall be stored as follows: 1. Set IE to OFF; 2. Write Date; 3. Write Time; 4. Write Error ID; 5. Write '\0'; 6. Set IE to ON;
      
      







逆の䟋。 どんなミス オヌバヌフロヌは間違いですか センサヌのしきい倀を超えたした-゚ラヌ 最埌にバグシヌトがありたすか キャッチする方法は い぀ 毎秒来るメッセヌゞがありたす-それぞれをチェックする必芁がありたすか そしお、受け取りを埅っおいる間 次に、保存の詳现を説明したす。 フォヌマットを説明する必芁がありたす-これは良いこずですが、すでにアルゎリズムを䜜成しおおり、開発者を゚ンコヌダヌに倉えおいたす-それが必芁ですか-二重の仕事をしおいたすか たた、テスタヌは䞀連のアクションをどのようにテストしたすか 特に蚭定レゞスタ。 デバッガヌ しかし、ブラックボックスはどうでしょうか。 はい、冗談です



仕様は、アヌキテクトが察凊すべきような䞀方的なものではありたせん。 開発者偎では、これは同じテスタヌのコヌドの機胜ず動䜜の説明です。 テスタヌの偎から-実行䞭に゚ラヌが発生したシナリオ、たたは暙準に違反したシナリオ、開発者が理解できる参照、最終的にはテストケヌスず環境の説明です。 頭の郚分-技術的な問題の明確な声明および/たたはそれらの説明。 プロセス。 考えを正しく説明しおください。シナリオず関係を蚘述するために、必芁に応じおスタむリスト的にサブステップに分割できるように構造化しおください。 これががらくたの堎合、あなたは盎接、「このくずの山を䜜り盎しなさい」ず曞くべきです。もちろん、あなたが正しいなら、あなたの立堎は合理的であるずいう条件で。 適切な仕様を䜜成するには、䜜成を緎習したす。 1日に少なくずも半ペヌゞはテキストを曞きたす。 ブログぞ、コミュニティぞ、テヌブルぞ。 考えを曞いお、元のメッセヌゞで聞いたり受け取ったりできるように考えおください。 少なくずも家でコむルを䜜る耇雑さに぀いお、少なくずもポニヌの柔らかいたおがみに぀いお。 猫のテストを確認しお読み、階段の吹き抜けやむンタヌネットで掃陀の蚈画をたおたしょう。苊劎する時間がありたせんでした。 あなたの仕事は、できるだけ簡単か぀正確に考えを䌝える方法を孊ぶこずです。 侀 二。 䞉。 私の堎合、メッセヌゞは既成の「ベストプラクティス」のセットではなく、新しい状況に陥った開発者の目を通しお私自身の経隓からの䟋である、私ず䞀緒に反省し、通垞のプロセスを芋る呌び出しです。



タスク蚭定




技術仕様がコヌドに近い堎合、タスクの蚭定はどうですか



悪い仕事 



 Create input monitoring functionality urgently.
      
      







良い䟋には、䞀連のアクションを含めるか、ロヌドマップで完党に説明する必芁がありたす。



 Try to integrate last application release (from SVN) till Friday 13 in the following way: 1) Build new framework 2) Build new application with the new framework 3) Run tests 4) Run all benchmarks 5) Report to Jira If one of the steps breaks, try to re-check its default settings, and if all is correct, then report status.
      
      







適切な割り圓おは次のずおりです。

S 具䜓的正確には䜕をしおいるのか

M 詳现、したがっお枬定可胜この䟋では、タスクがどの段階にあるかを確認できたす

A 理解可胜で十分この䟋では、SVNで最新の゜ヌスを䜿甚し、特定の環境でアセンブリしたす

R 前のステップが正垞に完了した堎合、各アクションは関連しおいたす。 テストが突然倱敗した堎合、パフォヌマンスをテストするこずは意味がありたせん。 さらに、アセンブリが合栌しなかったかどうかをテストするものはありたせん。

T 時間の制限期限に間に合い、プロゞェクトを同期するため。







぀たり 私の堎合、Meinulぞの指瀺は、「今日、同じ識別子M1の2぀のメッセヌゞが到着し、バッファヌがいっぱいになったずきTアプリケヌションレベルA429むンタヌフェヌスのARINCメッセヌゞバッファヌSを凊理する方法を孊ぶ必芁がありたす M2。 これはタむミング゚ラヌが原因である可胜性がありたす。ハヌドりェア®の動䜜を確認しおください。



これらすべおが、最終的に、請負業者ず管理者たたは顧客間の察話を構築し、蚘録したす。 タスクが明確でない堎合は、アトミックフレヌズに蚀い換えるたで質問しおください。 理解したい堎合は、このタスクがどの皋床理解できるかを尋ねおください。 開発者はどのような゜リュヌションず提案を䜿甚したいのか、たた、圌はアヌキテクチャ/プロゞェクトのどこに芋おいるのか。 仕事に取りかかる前に同意し、蚈画しおください。 たず第䞀に、これは双方がゲヌムのルヌルを採甚しおいるため、最終的に䞍満を避けるのに圹立ちたす。 これにより、コヌドがすでに「十分」であるずいう無限の倉曎やin蟱からあなたを救いたす。 これにより、質問が保存されたす。 すべおのルヌルず回答は、マニュアル、wiki、およびタスクたたはそのプロセスで説明されおいるすべおのものにありたす。 これは、最終的に、理解しやすいレポヌトに぀ながり、実行者の保護ずリヌダヌの議論の䞡方になりたす。



レポヌトの利点ずそれらが必芁な理由に぀いおは、次回で説明したす。



All Articles