web-dev-qa-db-ja.com

Linuxカーネル開発の推定手法

私はLinuxカーネル分野で働いており、私の仕事には次のものが含まれます:コード研究/移植について(たとえば、あるカーネルバージョンから別のカーネルバージョンへ)新しいカーネルモジュールの実装/デバイスドライバー

そのようなLinuxカーネルの割り当てで見積もりを行う方法は?テクニックはありますか?コミュニティはどのようにやっていますか?

2
Adil

プロジェクトの種類に基づく見積もり手法に違いはありません。スティーブマコネルは良い本を書いた ソフトウェア推定:ブラックアートの謎を解く 、一般的な推定だけでなく、推定技術と各技術が最も価値がある場合を強調しています。

これが個人として取り組んでいるプロジェクトである場合は、特定の言語で特定のサイズの新しいコードを理解するのにかかる時間に関する独自の履歴データを使用するか、現在のタスクを自分が知っている別のタスクに関連付けますアナロジーやプロキシを使用するのに時間がかかる場合は、おそらく最も効果的です。複雑なタスクの場合は、それをより小さなタスクに分解し、それらを見積もることが最も適切です。

残念ながら、見積もるのに最適な人は、仕事をする人です。さまざまな見積もり手法とその長所/短所を説明する以外に、他の人が言えることはあまりありません。 DeveloperDonの回答 はコースと学生の予想される作業負荷に基づいていますが、人によって時間と労力を変える必要があると言えます-良いアナロジー、プロキシ、または見積もりを決定できるのはあなただけですあなたがあなた自身について知っていることに基づいているでしょう。

1
Thomas Owens

Joel Spolskyは プログラマーの生産性の広い範囲 について書いているので、ある人と別の人の所要時間には大きな範囲がある可能性があります。

大学で教えられていたLinuxカーネルコースを知っていますが、2学期に分割されました。理論的には、それは6クレジット時間です。コースは通常、1クレジット時間あたり週に1時間の指導を伴うため、このコースの講義部分は15週間* 3時間= 45 * 2学期= 90時間であり、クラスで費やされる時間あたりおそらくクラス外で3時間の準備が予想されます= 270時間、合計360時間。これはかなり大まかな見積もりですが、読書、宿題、プログラミングの課題、試験やクイズの勉強の間で、本当に主題を学びたいのであれば、週に9時間を費やすことができます。しかし、私はまだあなたがそれに入れたものからあなたがそれから抜け出すという昔ながらの規則を信じています。あるいはもっと正確に言えば、入れていないものは出てこないのです。

1学期コースのシラバスのサンプルは http://www.citidel.org/bitstream/10117/3539/1/82-index.html にあります。

0
DeveloperDon