問題タブ [extreme-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - YAGNI - 名前を付けてはいけないアジャイルの実践とは?
仕事のやり方にアジャイル思考をどんどん吸収していくにつれて、ヤグニ (「あなたはそれを必要としない」) がますます重要になっているようです。見当違いの優先順位を除外し、次に取り組まないものを決定するための最も効果的なルールの 1 つであるように私には思えます。
しかし、ヤグニは、ここ SO ではほとんどささやかれている概念のようです。必須の検索を実行しましたが、それは 1 つの質問のタイトルにのみ表示され、その後は二次的な役割に表示されます。
どうしてこれなの?その重要性を過大評価していませんか?
免責事項。私が異議を唱えると確信している応答を先取りするために、ヤグニは迅速で汚いの反対であることを強調させてください. 貴重な時間と労力を、必要な部品を正しく入手することに集中することをお勧めします。
以下は、人が尋ねるかもしれないいくつかの最先端の進行中の質問です。
単体テストは、ユーザーの要件またはフレームワーク構造に基づいて選択されていますか?
フレームワークから外れているため、そこにあるだけの単体テストをインストール (およびテストと保守) していますか?
私のフレームワークによって生成されたコードのうち、私が一度も見たことのないものはどれくらいありますか?
ユーザーの問題ではなく、ツールの作業にどれくらいの時間を費やしていますか?
ペアプログラミングの場合、オブザーバーの役割値は「yagni」にあることがよくあります。
CRUD ツールを使用していますか? _RU_ ツールまたは C__D ツールとして使用することを許可しますか (いや、推奨しますか)、それとも 1 つまたは 2 つしか必要ないのに 4 つのコード (および 4 つの単体テスト) を作成しますか?
estimation - FogBugz 推定とペアプログラミング
私は FogBugz をツールとして使用して、「未来をのぞき見る」ことができます。このプログラムは、私たちの作業時間、リリースのタスク、そのタスクに対する割り当てられた開発者の見積もり、および開発者が過小評価/過大評価する傾向を考慮して、将来のある範囲の日付に対してリリースを行う可能性を考え出そうとします。 .
現在、FogBugz は作業時間を考慮に入れているため、開発者が割り当てられたタスクに時間を割くことを想定していますが、これは XP では当てはまりません。ペアの以前の決定は、開発者のタスクの 1 つに取り組むことだったからです。一緒。
これは、ペア プログラミングを行うときに FogBugz を見積もりに使用できないということですか?
estimation - ペアプログラミング中の見積もり方法
XPの本を読んでいると、私は対処できないという考えがあり、皆さんが助けてくれるかどうか疑問に思っています。
XPは、インデックスカードにストーリーを書き、それらを開発者に割り当て、タスクにかかる時間を見積もり、ペアプログラミングを使用してコーディングビットを実行すると言います。
したがって、彼女と彼女がペアを組む開発者は、自分のタスクを実装することを選択する必要があります。その選択に基づいて、彼らが実行する作業は、彼女がそのタスクに対して行った見積もりにカウントされます。彼女が誰と一緒に働いているかに依存しているように見えるので、その見積もりはまだ有効ですか?
agile - ペアプログラミング時の遅いフィードバックにどう対処するか?
私はエクストリーム プログラミング チームで働いており、毎日ペア プログラミングを行っています。最近はフィードバックが遅くなるようなことをすることが多くなってきました。3分程度です。例: 何かを変更し、再コンパイルし、実行して、パフォーマンスが向上するかどうかを確認します。ペア プログラミングの質を調整していると思いますし、ソロ プログラマーよりもペアに影響を与えると思います。私が一人なら他のこともできますが、ペアプログラミングの場合はどうなりますか? どのように対処しますか?
extreme-programming - 就職面接のためのペアプログラミング
私たちの会社は、面接手順を廃止し、各候補者を何人かのプログラマーと4〜5時間座らせて、ペアプログラミングを行うことを検討しています.
理論的にはこのアイデアは気に入っていますが、どのようにして各候補者にとって本当に公平にできるかはわかりません. それらをどのように評価しますか?彼らの入力は、各プログラマーがその日に取り組んでいた内容に大きく依存するのではないでしょうか?
これが良いアイデアか悪いアイデアか、またはそれを機能させる方法についての考えは、私がここで探しているものです。
乾杯!
編集:
結果 - 要求どおり
インタビューの最初のステップはこれまでと同じように実施します。電話の次は対面。彼らを 3 回目の最終的なグリルに戻す代わりに、3 人の開発者をチームの 7 人のメンバー全員と一緒に座らせることにします。誰を採用するかはチームに任せることにしました。
いくつかの理由から、この結論に達しました。これにより、誰と仕事をするかを選択できるようになり、開発者に力を与えることができると信じています。2 番目の理由は、グループ ダイナミクスです。私たちは、優れたグループのダイナミクスを持つことが非常に重要であると考えており、人を雇うまでは、その人が適合するかどうかを判断するのは困難です.
したがって、最終的には、ペア プログラミング セッションを進めることになりますが、当初の意図とはまったく異なる方法で、まったく異なる方法で行うことになります。
このアプローチについての考えや批判は大歓迎です!! (この編集は以下の回答として投稿されているため、これが最善のアプローチではないと思われる場合は、遠慮なく反対票を投じてください)
time - エクストリームプログラミングで時間を管理する方法は?
私は、各スプリントが1時間間隔でスケジュールされている競技会を監視しています。各チームメンバーは、画面上、できればターミナル上にカウントダウンロックを設定する必要があります。c'locksは、45分、55分、60分後にアラームを鳴らします。
環境は、極端なプログラミングの感覚を生み出すはずです。仕事のためのいくつかの準備ができたターミナルアプリケーションはありますか?
[説明]チームはUbuntuとMacを使用しています。
visual-studio-2008 - TFSでワークアイテムを表示/操作するためのより良い方法はありますか?
私はアプリケーション構築の要件/設計段階にあります。VS2008とTFSを使用しています。たくさんのシナリオと関連するタスクがあります。いくつかの要件が変更されたので、どのタスクを変更/削除する必要があるかを確認したいと思います。
VSのグリッドであろうと、Excelでの表示であろうと、既存の作業項目ビューのいずれかを使用してシステムの概要を表示することは非常に困難です。
作業項目を階層ビューで表示するツールはありますか?または、ワークアイテムをVisioにエクスポートするものを使用して、仮想の「ホワイトボード上のインデックスカード」の方法でワークアイテムを操作できるようにします。
extreme-programming - ペアプログラミングは、設計ドキュメントが必要ないことを意味しますか?
ペアプログラミングでは、チームの各メンバーの経験を新しいメンバーに広めることができます。ペアの「上級者」はコードがどのように機能し、設計が何であるかを知っているため、この経験は常にコードと同期しています。
では、この場合の設計文書の有用性は何でしょうか?
アップデート
私は設計がないことを暗示しているのではなく、ドキュメントがないことを暗示しています。ペアプログラミングを実践するチームでは、誰もがコードを知っているので、誰もが使い捨てだと思います。上級開発者が去った場合、コードを知っている人が少なくとも 1 人は必ずいると思います。経験は以前に共有されていたからです。
tdd - テスト駆動開発とペアプログラミング
私は、チームメイトに TDD を採用するよう説得しようとしているチームに所属しています (以前のチームで TDD が機能し、セットアップが似ているのを見てきたため)。また、私の個人的な信念は、TDD とペア プログラミングの両方を組み合わせて行うと、少なくとも最初のうちは本当に役立つということです。そうすれば、(TDD の) 経験の浅い 2 人の開発者が互いに助け合い、どのような種類のテストを作成するかを議論し、うまく進めることができます。
一方、私のマネージャーは、チームに 2 つの新しい開発プラクティスを同時に導入すると、両方とも失敗する可能性が高いと感じています。だから、彼はもう少し保守的になりたいと思っています。
これらの両方が補完的であり、直交していないことを彼に納得させるにはどうすればよいでしょうか。それとも私は間違っていますか?