プロセスを改善するためにどのような測定を使用しますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/385213

  •  23-08-2019
  •  | 
  •  

質問

この質問はもともと「ソフトウェア開発組織でどのような KPI を使用していますか」というものでした。残念ながらどうやらそうらしい KPI は 4 文字の単語であり、KPI は常に誤って使用される (おそらく誤用される可能性がある) とすぐに想定されます。

そこで、当初 KPI が役立つと考えていた根本的な目標を達成できるように、質問を改善できればと思います。あなた (またはあなたの組織) がソフトウェアを開発する方法について何らかのプロセスがあると仮定します。次に、あなた (またはあなたのチーム) がソフトウェアの開発と配信がより上手になりたいと考えているとします。最後に、改善する方法の 1 つはプロセスを改良することだと仮定します。

これらすべてを考慮すると、プロセスの改善がプラスの影響を与えているかどうかをどうやって知ることができるでしょうか?これらがあれば KPI, 、または [SMART 目標](http://en.wikipedia.org/wiki/SMART_(プロジェクト管理) 効果的であると思われる KPI/SMART 目標の個人またはグループを提供してください。他のメカニズムである場合は、それが何であるかを説明してください。最後に、プロセスの改善が有益だと思わないのであれば、それについても説明できると思います。

役立つと思われる改善点は次のとおりです。品質、リリースの適時性、生産性、柔軟性。個人または開発者のチームの他の側面がある場合は、それを知るのは興味深いでしょう。

明確化メモ:

問題は、プロセスを最適に適応または変更する方法や、優れたプロセス改善プロセスとは何か (カイゼンや振り返りなど) ではありません。また、プロセスのどの特定の側面を改善する必要があるかを判断するために使用される根本原因分析やその他のアプローチに関するものでもありません。

プロセス改善が達成されたかどうかを判断するための手段の使用は、進行中のプロセス改善と混同されるべきではありません。(それは良いことですが、質問の内容はそこではありません。)

プロセス 何でも構いません。スクラム、アジャイル、エクストリーム、ウォーターフォール、アドホック。この質問は、特定の種類のソフトウェア開発にどのプロセスが最適であるかについてではなく、時間をかけてそのプロセスを改善する方法についてです。

明らかに、具体的な指標は、関係するプロセスと、改善しようとしている認識された問題によって異なります。この質問は、使用されるメトリクスの例を取得することを目的としているだけで、明らかにさまざまなプロセスや改善領域にまたがるはずです。

メトリクスは実際に使用されているものである必要はありません いつも, たとえば、プロセスの変更が機能するかどうかをテストするときにのみ使用できます。(たとえば、常に測定して追跡するには時間的にも金銭的にもコストがかかりすぎるため、追跡するだけでプロセスを微調整することができます)。

開発者がシステムを操作するときなどに、メトリクスの使用が不適切に実装されると悪影響を与える可能性があることは当然のことと考えられています。プロセス変更を実装する人はこの問題を認識しており、それを軽減するための効果的な措置を講じていると想定されます。

すべてのソフトウェア組織は異なり、企業への適合方法も異なるため、社内で期待される具体的な事柄も異なりますが、製品の品質、生産性、柔軟性、リリースの適時性は、すべての組織ではないにせよ、ほとんどの組織に当てはまります。(特定の組織に応じて強調点は明らかに異なります。)

この質問は何の関係もありません コードのソース行!特に、私はプログラマの生産性を測定すること、特に SLOC や修正されたバグの数、その他の単純な測定の観点からは興味がありません。私は、チームまたは個人が改善を測定するより高いレベルの方法に興味があります。私は、単一の KPI を使用して誰かのパフォーマンスを測定することに興味はありません。私 午前 さまざまな KPI を使用してチームのソフトウェア開発プロセスを測定および改善することに興味があります。

KPI が誤用されて効果がなくなったという恐ろしい話を私は知っています (KPI を見つけるために熱心に検索する必要はありません) が、プロセスを継続的に改善しようとしている人が誰もいないとは信じられません。 KPI の良い例をいくつか紹介します。

私は、個々のソフトウェア プログラマーに適用される単純化されたメトリクスの欠点についてはよく知っています。私は、KPI を使用すべきではないすべての理由ではなく、人々が役立つと判断した KPI または代替戦略の例を入手したいと心から望んでいます。

私は主に、ソフトウェア開発会社全体ではなく、大企業内の開発組織に関連するプロセスとパフォーマンスに興味があります。たとえば、ソフトウェア会社は製品が市場に適した機能を備えていることを確認する必要がありますが、一般的にそれはエンジニアリングではなく製品管理の役割です。そして、はい、なぜエンジニアが製品管理に関与する必要があるのか​​、そしてどの程度まで関与する必要があるのか​​については、まったく別の議論がありますが、それは別の議論です。

役に立ちましたか?

解決

は、これまでで最高の単一の指標は、「テスト機能が提供され、受け入れ」されます。アジャイルの世界では、我々は通常、「ユーザーストーリー」の用語で「機能性」を測定するが、それは限り、それが配信され、テストされ、顧客に受け入れられる実際の機能を測定しますと、任意の便利な形態であることができます。

などSLOC、SLOC /スタッフ時間、いつものような他の措置は、理由である経営のチャーリーの第一法則、の失敗します

  

人々は、彼らがしているものは何でもお届けします   提供するために報われてます。

SLOCとしてあなたの措置を設定し、そしてあなたは、SLOCの多くを得るでしょう。 SLOC /時を使用して、あなたはSLOC / HTの多くを得るでしょう。あなたは残業の多くを得るでしょう、残業のためにそれらにボーナスを与えます。

ああ、あまりにも、correlaryを覚えています:

  

どのような人々が提供していることは何です   彼らはへのやりがいになると思います   提供しています。

あなたが望むものを取得していない場合はそれが行わなってきものを行うためにやりがいだ理由を、お願いします。

他のヒント

私が聞いて主要な業績指標を取得しますちょっと心配なので通常は、次のことを行なっているリンクの性能へのご褒美として取得でき拍車が非常に早い。いつも足をお運びくださいソフトウェア企業と決定した報酬システム周辺のバグ修正-タが報われたバグの開発うに固定します。開発の停止などを瞬時に黒の市場形成の挿入を検出-訂正させてしまいます。

自組織のKpiはお客様討.の種類によってソフトウェア製品を作ってみましょうを測定することでで、以下のように

  • 売上高は、製品がお客様の要求?ることができる測定の観点から、この比率がソフトウェアの発表に販売または訪問等お客様のwebサイトのご購入ページへの実際の購入
  • 品質はソフトウェアに分かりやすく、。どのように多くの支援を求めていることをご連絡いただければ直ぐに対応いく。のに関する疑問やお問い合わせいやエラー?
  • お客さまの満足-満足においてお客様におすか?調査では、顧客や見してしまう可能性もあります。って増加の満足度を調査していくべきも向上します。な迷惑おか多くの質問やすく)

あり、これらの指標うものではないものであのーポレート-ガバナンス"コースソフトウェアメトリクスのようなバグが見つかり、ラインのコードを作成した。しかし、問題はバグが見つかりでなければならグレードの厳しさのバグ、リファクタリングはしばしば削減を行います。適時性に限事項の場合はお客様の期待をタイムリーな納期で提供します。

業務に集中。ご購入のお客様にご使用する必要がないので多くの支援を利用しなければならない、そのソフトウェアの組織は成功です。のバグを検出し、スケジュールの伝票も問題にない者になることになる。

場合はソフトウェアプロジェクトでは非表示にすることが可能で多数ありますので、予算、船舶の少ない特徴が予想していますなビートを楽しこれらのものように移動します。はい、必要なバグデータベース、ソース管理、試験および測定プロジェクトの速度がない場合は、事業の成果できな成功を問わずどのように磨くと光沢のあるコードはどのように複数のバグです。

更新 みの改正問題

Kpiとしている利用が困難な場合をする無形の商品と大きな違いが生じていたことも、移動目標です。まKpiを用い今年の会計システムと同じ意味を持ち、来年のときの実施文書管理システム?

その例として、職場Kpiにおいて広く採用されている-言しています。測定弁護士が使用Kpiなど平均請求された日時間請求月;年齢の債務者台帳;平均年齢unbilled作%のご請求手数料却;います。きの通知の動向ここで-これらすべてのKpiに関わる意思の有無についてのお客様にサービスの描画されます。これが最後の調停者の成功はなぜか(上)の一部の方法を使用できるこのタイプの測定とKpiのためのソフトウェア事業です。

きょくとKpiに関連しない物だからクライアントの支払い意思の価値をご提供していを問題というのは計測の使い方を測定では、何の違いがあり、測定や計測していることを行っていただく予定です。

"ドルを支払ったクライアント"は固定値年-任意のメトリクスのような"バグソフト""適時性のリリース"や"柔軟性"がない固定値の増加をKPIとなる場合があり直接関係の基本となる価値は、その測定には、KPIなど、"よりバグさせることで品質"。

例えば後の コロンビアの災害, を回の調査チームは数百の推奨事項を検討した。かったこれら新たに発見された"バグ"とは、スペースシャトルのふたがますか。実際に、その後の調査のスペースシャトルがあります。でKPIの周りにバグが簡単に歪むことによる豊富な品質保証ションで、バグの報告がありませんのソフトウェアを高めます。

生産性の面での情報の正確性のリリースを簡単に歪みによる商業的なクライアントとして投金の使いくつかのカスタムを開発します。だリリーススケジュールカントリーリスクで事業の改善も見込まれます。

としての柔軟性を持たせるために、できるなんて、とても危険かを当てるというものがどのように測定その無形のものです。

ののみを計測して私が考えられることはいた値のこちら側クライアントの財布にも プロジェクト速度 -かを推定したい最後の繰り返し処理/サイクル/リリースとかしから、一緒に試してみましょう。そのプラグインはこの図の利用可能時間は、次の繰り返し処理/サイクル/リリースを推定すっきを行います。を表示することができますの残り時間は、 焼く図 または類似のになります。

の残りを処理するとは思わないときピンをKpi.だーだけでなく開発者はどの皆様には、日々の開発者会議)は、延長チームが入力(毎週または隔週のチームミーティング)、そこでの最終時間はかなかった(回顧展が)上で透明で効果的なコミュニケーション.

残念ながらないと思うの他魔法のKpiにいるかのような後も見逃さないようにしましょうとの関連性の取得金からお客様として、KPI).

ベノは、私はあなたのコメントに答えるんだが、答えのためにそこに十分な文字を持っていませんでした。

これは、あなたが解決している問題によって異なります。たとえば、問題は、コード内の現像剤のチェックは、それが実際に生産に配置されるまでときから時間が長すぎると思われることであるとします。そして、あなたはそれが取っているどのくらいのベースライン測定値を得るでしょう。あなたは、あなたの変更に入れるでしょうし、それは今より少ない時間がかかるかどうかを確認するために一定の時間を測定します。また、ソリューションが動作しないことが決定された回数のようなものをチェックし、溶液が速くないが、あることを確認する前と同様に後リワークのために送り返される可能性が低い品質ます。

さて、これらの測定とITの問題点は、いくつかの問題が頻繁に再発生しないよう、それは十分なデータを蓄積するためにかなりの時間がかかるかもしれないということです。この場合、あなたは変更が良かったかどうかを知るための十分なデータを蓄積することができるまで、主観的データに依存することによって開始する必要があります。ユーザーはそれに慣れてきたまで何かが改善されている場合でも、聞きません。新しいプロセスの最初の週または2が、あなたはあまりにも早く頼めば悪い主観的な結果が得られますので、変更するには抵抗を満たすとなります。

を警戒すべきもう一つは、人々はあなたが何かを測定している知っていれば、彼らは彼らの個人的なパフォーマンスが測定されているので、良い結果を得るためにシステムをゲームになることを恐れるだろうということです。それは我々がされた後に再び開くどのように多くの、あなたは(私たちはソフトウェアの変更のための要求を管理AAシステムを持っている場所で、すでにいくつかのシステムに基づいて測定を行うことができれば、我々は期限を逃した歴史的にどのように多くの要求を見つけるためにデータベースを照会でき、多くの場合、最善の方法です閉じたり等、過去の要求に関連して、どのような現像剤仕上げとコードの間の時間差が等の生産に移動されています)。あなたはまた、時間が新旧両方のシステムの時間帯にまたがる場合は特に、深刻な異常値を排除することを検討する必要があります。たとえば、我々はそれをbecasueない100日以上のQaにされている要求を1つ持っているQAがavaliabilityの問題があり、それが高いprioroity作業にぶつかったばかり続けるので、この1つは最低の優先度であるので、悪いですけど。あなたが解決しようとしているプロセスは、この時間はとても長い時間を作る要因becasue、時間の改善を測定するのに貴重ではないでしょうではありません。あなたはデータをグラフ化した場合、あなたは簡単に除く必要があるかもしれません外れ値が表示されます。

コストの周りにあなたのKPIを基づか、品質とスケジュールは良いスタートになります。測定したいそれらのそれぞれの属性が何であるかを考えてみます。

は、バグのコストが有用であろう示すために、これらの措置のそれぞれを分割することができること - プロジェクトにおけるバグ修正の努力をたくさん後半コスト/スケジュール吹き出しを意味しています。バギーであるコードベースの部分プロファイルにできることは、追加のテスト&可能なコードの再書き込みをターゲットに助けることができる - 一般的なバグの80%は、コードの20%から来ます。それがどこにあるか知ることは、あなたのチームがより良い集中することができます。

編集:低画質(COPQ)の品質(のCoQ)のコストやコストなどの対策を見てください。

生産性などの対策は常に定量化するのは難しいです - 例えば、LOC /日使用すると、正確にコードの行であるかについての議論につながりますか?また、開発者はこれらの事が追跡されている理由を理解したり、個人的な測定として、それらを認識していない場合は、「ブースト」の生産に書式愚かなコードにつながることができます。 LOC /日は、開発者のレベルで測定されていない場合でも、同じ結果につながるチームのライバル関係を取得することができます。

編集:スティーブ・マッコーネルの Construx のウェブサイト上で発見されるいくつかの良い議論があります。 [はい、それはのコードコンプリート名声のスティーブ・マッコーネル]

実際に全員を集めて何がうまくいっていて何がうまくいっていないのかを把握すること以外に、自分のやっていることを改善するのに役立つプロセスはありません。私が現在率いているチームでは、これを一連のレトロスペクティブを通じて行っています (これを強くお勧めします) この本)。一般に、チームはどの部分を改善したいのかを知っています。重要なのは、それらの点を実際に測定して改善するための権限をチームに与えることです。

はい、確かにマクロレベルを調べる人が依然として必要です。トヨタのような組織を見ると、ビジネスと生産の境界線をまたぐチーフエンジニアがいます (詳しい説明については、Scott Bellware の記事を参照してください)。 ブログ投稿)。私たちの組織にも似たような人がいます。私の上司は 20 年近く前の当社製品の初期開発者の 1 人で、技術面での活動が活発ですが、顧客面にも多大な投資を行っています。私の仕事は、チーム全体を見て改善点を提案することです。

測定するには、まず、私たちが目指している改善が実際にチームで変更できるものであることを確認してから、次のようなものを使用します。 スマートな目標 あらゆる改善を測定できるようにします。私たちには、 大きくて目に見える壁 そこに振り返りのメモを掲載します。ここは私たちが毎日スタンドアップを開催する場所でもあるため、何が起こっているかに集中することができます。

経営会議に統計をまとめるため、私たちは提供されるコード行ではなく、コードの提供に重点を置いています。私は意図的にチームの計測を中止させた 曖昧な単位 つまり、時間数や日数など、何時間働いたかを報告しないということです。彼らが目にしているのは、私たちが機能をどの程度提供しているか、そしてどのように改善しているかを示す傾向グラフです。チームが共有したいと感じた場合には、興味深い情報も含めます。

これらすべての最も良い点は、1 か月間試してみて、わずか 4 週間後に再評価できることです。これにより、新しいことに挑戦するための障壁が大幅に低くなります。チームは、それが影響を及ぼしている場合はすぐにキャンセルするか、次回の振り返りで再評価してより良い方法を見つけるかのどちらかであることを知っているからです。

悪い点は、それがまさにあなたが探しているものではないということです。私たちが継続的に従う単一の指標や一連の指標はありません。私たちは常にトレンドを監視し、興味深いと思うものを測定します。ただし、それはほんの少しの間だけで、チームがその傾向に基づいて特定の目標を達成しようとしているときにのみ行われます。しかし、一般的に、その仕組みには非常に満足しており、プロセスの改善におけるチームの関与が著しく改善されているのがわかりました。まだ完全ではありません カイゼン, 、でも日に日に良くなってきています。

私は14年間、専門的なプロセス改善を行いました。ここに私のアドバイスは、定量化し、人と話を起動しようと停止、です。測定は、特定の問題(あなたが問題を知っていれば、あなたは何を測定するためのより良いアイデアを持っている)ため、製造などのrepeatbleプロセスのために正常に動作します。あなたの人々は、問題領域がどこにあるかを正確に知っているので、(非常に異なる視点から)あなたの顧客とユーザーを行います。フローチャート(私達はプロセスがあるふり何か、あなたは観察だけでなく、質問をする必要がありますない)懸念がある区域のために実際のプロセスから(インダストリアルエンジニアリングのシンボルではないコンピュータプログラミングの記号を使用します)。あなたは、プロセスの全体の流れは、このように人間のためのより多くの可能性がある領域を作成し、通常は人為的誤差を考慮するためのプロセスに複数のステップを追加し、不要なプロセス(がある仕事が重複している遅延、エリア、エリアを探して見たら、エラー)。各ステップの各ステップを行うには良い方法があるかどうかの必要性を疑問視。電位変化をテストし、実際に彼らは(彼らは状況をさらに悪化させる方法ではない、より良い何回も)imporvementをしているかどうかを確認します。問題やフロー・チャート作成のための感触を取得するときにどのような状況の下でのみ、マネージャーに話をしないでください。あなたは真の画像を取得することはありませんので、間違った問題を解決します。

あなたが改善を行う必要がある。ここで、

の理解廃棄物と価値ストリームマッピングは、あなたが表示されます、そして、その知識から、あなたが測定するのに必要なものを学びます。リーンとカンバンの原則が適用されます。廃棄物を理解し、それがソフトウェアを生産への影響が組織に必然的に固有の改善に固有のパスダウンあなたが開始されますです。あなたはクッキーカッターのアプローチを取ることができません。読んで(またはに耳を傾ける)間違っていると、それを修正する方法を何のこれは本当に素晴らしいと目を見張る視点の詳細については、「目標」と「リーン思考」ます。

主要業績指標のための最適な使用は、(あなたが好む場合、またはステアリング)の の駆動用です。リアルタイムでのコース修正のために。

(参照してください。ダッシュボードは、このサブ詳細ばかげたことのためにの運転のためのものです。トピック警告:私はblathering記事の著者午前)

だから、あなたに戻って質問がされて:あなたは、実際にの、後のパフォーマンスをの評価しようとしていることがあるとき、のそれのについて何かをするか、あるには余りにも遅あなたがを助けることができるKPIを見つけることを試み

コースにとどまります

前の場合は、任意のメトリック組織さは約(バグ数、船-日付滑り、コメントとコードの行、顧客のリターン率など)が罰金になります気に。離れて測定し、出荷製品とアップグレードの間に任意の良くなっ幸運; - )

後者の場合は、速度を選択します。仮定すると、あなたはもちろんのテスト駆動開発(TDD)を使用しています。

編集:ので、それはかつてのです。あなたはおそらく運の外にある理由さて、ここにあります:

あなたは「品質」が最良のあなたのポストプロセスKPIとして顧客によって報告されたバグの数を測定することによって定量化されていることを決定したとします。あなたがTDDを使用していると仮定しましょう、とあなたのチームは6ヶ月で製品#1を実現し、フィールドでの6ヶ月後、あなたは10顧客-報告されたバグを持っていることを見つけることを言います。だから今、まさに、あなたのプロセスを改善するために何をするつもりされているでしょうか?複数のテスト?具体的に報告されたバグの原因のようなより多くの事のためのテスト?あなたがすでにテストされるだろうと私には思えるし、バグが発見された場合 - 顧客によるかどうか - あなたはこれ以上の同様のバグがあることを確認していないために、特定のバグや追加のユニットテストの回帰テストを追加します。言い換えれば、のあなたのポストプロセス改善の応答は、あなたのインプロセス改善応答の違いはなくなりますので、このKPIは、プロセスの改善に有意な助けに実際にあります。ポイントは、あなたがあなたのプロセスを改善する方法にかかわらず、バグが6ヶ月のコーディング中に放出または2日後に発見されているかどうかの同じままであることです。これは上司の壁や部門ニュースレターを置くために光沢のあるKPIかもしれませんしながら、だから、それは本当にあなたのプロセス改善の仕組みを変更しません。 (そして、それは乱暴にあなたのコントロールを超えた要因によって影響を受ける可能性があるため、このKPIにあまりにも多くの株式を置くことに注意!)。要するに、のバグの数を知ることは、あなたがの向上に役立つものではない。

(別の危険がここにあり、1は一般的に、ビジネスにも軍事的にだけではなく、発見され、それは事後分析は、貴重な情報を明らかにし、その教訓は、事後のことを学んだという幻想であるが盛んに適用されますおそらく最後のプロジェクトのと同じではありません次のプロジェクト、の。これは、「最後の戦争を戦う」として知られています。)

顧客からの返品/返金の数は、「品質」のための選択のあなたのKPIであると仮定 - この数が5であれば、何これはあなたを教えてくれありませんか?顧客は品質上の問題のいくつかの兆候かもしれ払い戻しを要求した具体的な理由は、(「遅すぎる」、など「XYZシステムとのインタフェースはありません」)が、のような事件の単なるの数が伝えますあなたは何もありません。期待収益率は品質が向上された場合は、あなたを教えてくれますが、再度、の可能性に対する分散数は、の向上に役立つものではありません。あなたはあなたを与えることができる数よりも多くの情報が必要になります。

「リリースの適時」のためだから何計測適切でしょうか?船日付の滑りの日数?当初の見積りに基づくパーセントオーバーラン?再びの番号を使用すると、を改善する助けていないので。

は、を問題ではありません。 製品が行われた後にしながら、

あなたが「生産性」を測定することができますなら、あなたはおそらくそれを測定することができます生成物は(例えば速度)が開発され、差が生産性現像後に測定した全体の生産数が完了しながら現像時に予想されるよりも少ないが、即座に改善することができるが、あまりにも、任意の使用であると、平均化もグロスであることです。一つは、6ヶ月後...

予想より低かった理由を推測できました

私はマーケティングの専門用語のように聞こえること、1は「柔軟性」を測定する方法を分からない; - )

私は、私はあまりにもハードまたはあまりにも遠く、この釘を打ち砕いていないと思っているが、私はあなたが測定できないことを事後に測定できることの便利なものはないと思います< EM> の進捗状況にいる間。そして、原因を知らなくても役に立たない事後の測定がたくさんあります。

/:

あなたは<のhref = "HTTPでのKPIとダッシュボードの例についてのアイデアの多くを得ることができます/www.dashboardzone.com」のrel = "nofollowをさnoreferrer"> http://www.dashboardzone.com の

これは、業界や機能領域でのKPIています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top