私は、自社開発プロジェクトの欠陥追跡プロセスを再評価する必要があるかどうかを判断しようとしています。過去数年間、私は実際にコードでTODO
タグを使用して欠陥を追跡し、特定のビューで追跡します(私はEclipseを使用していますが、Eclipseはまともなタグ付けシステムを使用しています)。
残念ながら、このシステムは持続可能ではないのかと思い始めています。私が見つけた欠陥は通常、私が取り組んでいるコードのスニペットに関連しています。すぐに理解されないバグは、忘れられたり無視されたりする傾向があります。約9か月間深刻な欠陥があった妻のために申請書を書きましたが、それを修正するのを忘れています。
個人的なプロジェクトの欠陥を追跡するためにどのようなメカニズムを使用していますか?特定のシステム、またはそれらに優先順位を付けて管理するプロセスはありますか?
Fogbugz(無料の個人ライセンス)は、プロジェクトが長すぎるか、リストを実行するのが簡単(Googleタスクを使用)の場合
私は通常、Webベースのリビジョン管理システム(Github、Bitbucket、Redmine、Google Codeなど)を使用して、ソースコードを保存し、バグを追跡しています。特定のコードにバグがあると思われる場合は、リビジョン番号/変更リスト/変更セットで問題を作成し、疑わしいファイルと行の範囲を指定できます。
以前はプロジェクトごとにスプレッドシート/テキストファイルを使用していました(コード内のToDoコメントは、リストした理由により適切にスケーリングされません。コメントはコードに対してローカルであり、そうでない問題がある場合は、クラック)。
最近、ホームネットワークに Redmine サーバーをセットアップしました。 「チーム」が1人の場合は少し重いですが、自分の時間にかなりの数のプロジェクトに取り組んでおり、Issue Tracker + Repositoryオプションを使用して、より複雑な場所で奇妙なWikiページを使用する傾向があります。
私の友人は同じ目的で Pivotal Tracker を誓いますが、私の現在の雇用主はRedmineを内部で使用しているので、これで練習ができると思いました。悪くない。
オープンソースプロジェクトの場合、私はGitHubの課題追跡を使用します。
私が実際にホストしているWebサーバー(ブログなどに使用します)にFree Mantisバグトラッカーシステムをインストールし、そこにすべての欠陥を入れました。
言い換えれば、私はそれがプロであり、お金を払ったかのように私のものを実行します。
それは、業界で一般的に使用されている他の慣行と一貫性がある(おかしい)だけでなく、より良いマインドセット(欠陥を締めくくるなど)を維持するのに役立ちます。
コードなどでTODOメモを使用することもできますが、「ある日、これをより効率的にする必要があるため、バブルソートはパフォーマンスに悪影響を及ぼします」のようなメモにのみ使用します。または、夕食に連れて行かれたときに起きた場所についてのより即時のメモについては:)
私はコードプロジェクトからのオープンソースコードであるToDoリストプログラムを使用しています
http://www.codeproject.com/KB/applications/todolist2.aspx
とても素敵で、多くの機能があります。
私たちは [〜#〜] jira [〜#〜] を職場で使用しており、私はそれが大好きです。多くの製品と関係者がいて、すべてうまくいきます。
私は少し前にこれに対する答えを探しに来て、それから私にとってこれらの主要な目標を満たす非常にきちんとしたシンプルなシステムを考え出しました:
重要度の高い目標:
(3と4はそれほど重要ではなく、それらを提供しなかったシステムでも大丈夫だったでしょうが、これはそうです)。
ステップ1:Bitbucketでプロジェクトを取得する
私は bitbucket を問題追跡とgitバージョン管理(たとえば、XCodeのiOSプロジェクト)に使用します。私はFogBUGz(JoelOnSoftwareで何年も前から読んでいます)やGitHubなどを調べましたが、bitbucketには小規模チーム向けの最高の無料機能が備わっているようです。
ステップ2:プロジェクトでBitbucket Issue Trackingを使用する
次に、同じbitbucketプロジェクトで課題追跡を設定します。そのため、私のプロジェクトにはgitリポジトリと問題追跡があります。
ステップ3:問題の追跡を簡単にする!
このために、私は Bitbucket Cards を使用しています。これは、Bitbucketの問題に対して、シンプルでかんばんのような素晴らしいフロントエンドです。 Bitbucketアカウントにログインして、必要な列を設定するだけです。 4つの列があります:バックログ、次へ、バグ、解決済み。 (私はバグをバックログとマージすることを考えていますが、今のところそれを気にしないでください)
(この画像は私のプロジェクトからではなく、Bitbucket Cardsブログからのものです。したがって、列は私が使用するものとは異なります)
Bitbucket Cardsを使用すると、リストごとに非常にシンプルなフィルターを設定して、カード列に表示される問題のステータスと種類を選択できます。したがって、open
種類のbug
ステータスの問題は、Bug列に表示されます。
(これは私のプロジェクトからのものです:それは私がバグ列に行くものを選択する方法です)
本当にすばらしいのは、カードをある列から別の列にドラッグアンドドロップすると、カードが表す問題のステータスが自動的に変更されて、宛先列の定義のステータスと一致することです。
Bitbucket Cardのもう1つの良い点は、簡単にタイムアウトしないことです。この全体のセットアップの目的は簡単にすることなので、これは非常に重要です。つまり、このシステムは、私のために働く代わりに私のために機能します。カードページのブックマークを開くと、Chromeタブで終日開いたままになります。
これは私の2番目の目標を処理します。
ステップ4:バージョン管理でそれを結び付けます。
Bitbucketの問題は、バージョン管理(ほとんどの競合他社に関して)とうまく連動しているため、問題への取り組みが終了すると、「whatsitにwhatoにwhatoを追加しました。#245を修正します」のようなメッセージでgitをコミットします。これをコミットしてからプッシュし、Bitbucketカードページを再読み込みすると、問題が[解決済み]列に移動したことがわかります。涼しい。
私の3番目の目標が完了しました。
ステップ5:問題を簡単に作成できるようにします。
このセットアップ全体はすでにセットアップが複雑になっていると思うかもしれません。なぜプロセスに別のWebアプリを追加したいのでしょうか。さて、上記の私の主な目標を覚えておいてください。テキスト領域に入力して入力する前に、思考を失うことなく、また自分の場所を失いたくないタスクを簡単に追加できるようにしたいと思います。コードが完成するまでに。
現在、Bitbucket Cardsを使用すると、タスクをかなり簡単に簡単に作成できますが、目標#1を完全に達成するためには、ちょっとした操作が必要です。 [課題を作成]をクリックする必要があります。次に、モーダルエディターがポップアップします。問題のタイトルを入力した後、スクロールダウンして種類(バグ/タスク)と優先度を指定する必要があります。次に[作成]をクリックします。
代わりに、 taskrd という2番目のBitbucketアプリを使用することにしました。
Bitbucketログインを与えてTaskrdを設定し、ブックマークとタブに設定して、Bitbucketカードと同じように一日中開いたままにすることができます。 Taskrdには、新しいタスクを追加するためのはるかに単純なワークフローがあります。それを入力し、オプションで種類と優先度を設定して、[追加]ボタンをクリックします。
(この画像はTaskrdブログからのものです)
今では、Bitbucket CardsまたはBitbuckets独自の課題入力システムを使用するよりも、Taskrdを設定するのに労力を払う価値がないことは間違いありません。結局のところ、Taskrdでは、ブラウザーのタブをクリックし、Bitbucket Cardsが表示されたページで[Reload]をクリックして、更新してTaskrdアプリで追加した新しい問題を取得する必要があります。しかし、実際には、私は通常、モードまたはその他のモードになっています。BitbucketCardsを使用して、次に行うことを整理するか、バグリストを確認するか、コーディングとタスクの入力に忙しいのです。/bugsが発生するたびに-すべては高速モードで起動します。この2番目の作業モードの場合、Taskrdはすばらしいです。別のモニターで開いたままにし、作業中に問題をすばやく入力します。
これで目標1がカバーされます。
私の最後の目標は、簡単/安価なセットアップでした。安いです。これはすべて無料です。 Bitbucketには最大5人のユーザー用の無料のプライベートリポジトリがあり、他のアプリは無料でした。セットアップは上記に基づいて簡単ではないように見えますが、実際に最も複雑な部分は、gitをビットバケットリポジトリにプッシュするようにセットアップすることでした。私は何もインストールする必要がなく、両方のアプリを私のbitbucketリポジトリに接続するのはとても簡単でした。カードの列を好きなように設定するには、少し遊んでみましたが、それほど難しくはありませんでした。
これを読み返すと、私はBitbucketのちょっとした落ち込みとして脱落するかもしれませんが、そうするつもりはありません。私が何週間もこのプロセスを使用してきただけです-私が何をしているかを追跡するためにさまざまな構成を何年も試した後-私は本当にそれを掘り起こしているので、他の人のためにレイアウトするのに時間をかけると思いました。
私はJiraの$ 10スターターライセンスを使用しています。安くて、仕事でよく知っています。
EclipseでTODOタグを使用することに慣れている場合、簡単なステップアップは Mylyn を使用することです。最も基本的なものでは、それは単純なToDoリストです。ただし、コンテキストをタスクに関連付けます。タスクをクリックしてアクティブ化し、いくつかの処理を実行します。次に、アクティブ化すると、Eclipseが関連するクラスを開き、関連するメソッドを表示します。さらに強力に、最終的に他のバグ追跡システムに移行すると、MylynはそれらのシステムからタスクをプルしてIDEに表示できます。
最近のほとんどのEclipseダウンロードには、Mylynが標準でバンドルされています。タスクリストビューを検索して、タスクの追加を開始するだけです。
まだ誰もこれを言っていないことに驚いていますが、分散ソース管理の一部として機能する分散バグ追跡ソリューションがあります。よく知られている実装には、「Bugs Everywhere」、Fossil、Ditzなどがあります。
https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-tracking および https://stackoverflow.com/questions/1851221/distributed-bug-tracker-を参照してくださいto-go-with-dvc?rq = 1 ディスカッション用。
ここで他の人と同じように、私はテキストファイルか、dvcsホスティングサービスに組み込まれているバグトラッカーのいずれかを使用します。
その多くは、それがどのような「個人的なプロジェクト」であるかによって異なります。日の光を見ることになるものですか、それとも単なる実験ですか?このプロジェクトは一般に使用されていますか?
たとえば、私の個人的なプロジェクトの1つが適度に人気になり、 Get Satisfaction サイトを設定すると、非常にうまくいきました。本当に「バグ追跡」ではありませんが、バグ/機能のリクエストには最適です。
個人的なプロジェクトでは、TODOのコメントと、TODOやバグなどを含むテキストファイルで通常は十分です。
私の個人的なプロジェクトでは、Omnifocusを使用しています。
更新:2010年10月25日すぐに修正できない、またはすぐに修正したくないバグを見つけたら、すぐにOmnifocus受信トレイに追加します。その後、レビューを行うときに、バグを修正してプロジェクトに追加する必要があると思われるすべての情報を収集します。タスクリストでの位置は、相対的な重要性を示します。
私はほとんどの点でバグを要件/機能と同じように扱います。
私の個人的なプロジェクトには ToDoList を使用しています。軽量で無料で、機能も豊富です。チームプロジェクトでどれだけうまく拡張できるかはわかりませんが、自分で作業するのは素晴らしいことです。 Visual Studioの組み込みのタスクリストをどれほど長く使用して生き延びたかはよくわかりません。
JIRAとGoogle DocsおよびSpreadsheetsを組み合わせて使用しています。私たちのJIRAインストールはダートより古く、新しい、より洗練された、ドラッグアンドドロップインターフェイスほど簡単に使用できないため、他のツールを調べました。
Manymoon、Zoho Projects、Insightly、Redmine、Assemblaを調べました。 Assembla free Stand Up tool を試してみましょう。これは、各チームメンバーに3つの質問をする非常にシンプルな3フィールドレポートインターフェイスです。先週は何をしましたか。今週は何をしますか?あなたの邪魔になる障壁は何ですか?
最終的には、JIRA、Google Docs、Assembla Stand Upツールを使い続けるつもりだと思います。この組み合わせで必要なものがすべて揃うからです。
軽量で使いやすく、設定も簡単なTracが一番好きです。そして、統合されたwikiとエレガントなリポジトリブラウザーは大きなプラスです。
職場ではJIRAを使用していますが、これも非常に優れていますが、管理がそれほど簡単ではありません。そして、私は本当にWiki(Confluenceとの統合はそれほど素晴らしいものではありません)と優れたリポジトリブラウザー(私たちはViewVCしか持っていません)が恋しいです。
私はここ数年Tracを使っています。 BugzillaとJIRAも使用しました。私の個人およびプライベートコンサルティングプロジェクトは、慣れているという理由だけでTracを使用します。個人の開発環境でプロジェクトを開始するための努力は、努力が終わったのでほとんど必要ありません。私はSVNまたはGitと Hudson (または現在はむしろJenkins)を含む必要なすべてのものに接続されたTracを持っています。
一部のクライアントプロジェクトでは、一般的に、使用するもの以外に選択肢がありません。これは、残念ながら何もないか、社内のがらくたになります。彼らが最近バグトラッカーを持っているとき、私は驚いています。個人的には、私はOSSコミュニティからTracよりも優れた製品を提供できることを楽しみにしています。それは物事を成し遂げるが、最近はこのようなパッチワークのようです。
ReSharperを使用する場合、TODO tracker
は、ソリューション内のすべてのTODO
s、NOTE
sおよびBUG
sのリストを示します。また、選択した任意の色でコード内で強調表示します。これは自分のプロジェクトで本当に便利だと思います。
小規模な1人のプロジェクトで正式なバグ追跡を使用する意味はわかりません。通常、私は(非常に短い)メンタルリストを保持し、気づいたらバグを修正します。もちろん、これは大規模/複数人のプロジェクトには対応していませんが、要は、そうする必要がないということです。